LINUX.ORG.RU

Сообщения metrokto

 

system ($cmd, $ret) // $ret обманывает

file_name/$fname — файл с заведомо некорректным (с т. з. JSLint) js.

PHP:

$options = '--onevar true --white true --plusplus true --nomen true --regexp true --continue true --browser true --passfail false';
$patt = "/usr/local/bin/jslint $options %s";
$cmd = sprintf ($patt, $fname);
system ($cmd, $ret);
var_dump ($ret); // int(0)
Bash:
/usr/local/bin/jslint --onevar true --white true --plusplus true --nomen true --regexp true --continue true --browser true --passfail false file_name
echo $? #1

Почему так? В других случаях system работает нормально.

 , jslint, ,

metrokto
()

Расширение через prototype

Часто встречается так:

function Foo () {
    this.value = 42;
}

Foo.prototype = {
    method: function () {}
};
Непонятно, зачем делают так, если этот прототип больше ничем не используется, а не так:
function Foo () {
    this.value = 42;
    this.method = function () {};
}

 ,

metrokto
()

Обращение к столбцу по маске

В таблице может быть произвольное количество столбцов имеющих префикс.
Есть простой способ заполнить все одинаковым значением, зная только префиксы?

UPDATE `table` SET `pref_*` = 'value';

 

metrokto
()

Root для нескольких пользователей

У устройства на Android (CyanogenMod) 4.2.2 есть два пользователя, root действуют только от первого.
Первым юзером используется приложение Droidwall (морда для iptables), которое разрешает определенным программам доступ к сети. У второго пользователя оно блокирует все приложения, даже те которые разрешены у первого.
Как с этим жить?

 , droidwall

metrokto
()

thread_stack=1206872K or higher required — это вменяемо?

Конфиг:

source items
{
        type = mysql
        sql_host = localhost
        sql_user = *********
        sql_pass = *********
        sql_db   = *********
        sql_port = 3306

        sql_query_pre = SET NAMES utf8
        sql_query = \
            SELECT i.id, i.sku, i.title, i.description, i.manufacturer, c.title, c.description \
                FROM `items` i LEFT JOIN `customItems` c \
                    ON i.id = c.id \
                        WHERE i.qty > 0

        sql_query_info = SELECT id FROM items WHERE id = $id
}

index items
{
        source = items
        path = /var/www/*********/sphinx/items
        docinfo = extern
        mlock = 0
        morphology = stem_enru
        min_word_len = 3
        charset_type = utf-8
        min_infix_len = 2
        enable_star = 1
}

indexer
{
        mem_limit = 32M
}

searchd
{
        listen = 127.0.0.1:3312
}

Тестирую:

indexer --config /var/www/*******/sphinx/config --all
Sphinx 2.1.2-id64-release (r4245)
Copyright (c) 2001-2013, Andrew Aksyonoff
Copyright (c) 2008-2013, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/var/www/*******/sphinx/config'...
indexing index 'items'...
WARNING: Attribute count is 0: switching to none docinfo
collected 23800 docs, 6.3 MB
sorted 15.8 Mhits, 100.0% done
total 23800 docs, 6258040 bytes
total 12.226 sec, 511862 bytes/sec, 1946.66 docs/sec
total 36 reads, 0.065 sec, 2633.8 kb/call avg, 1.8 msec/call avg
total 202 writes, 0.247 sec, 851.2 kb/call avg, 1.2 msec/call avg
search --config /var/www/*******/sphinx/config словоДляПоиска
Sphinx 2.1.2-id64-release (r4245)
Copyright (c) 2001-2013, Andrew Aksyonoff
Copyright (c) 2008-2013, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/var/www/*******/sphinx/config'...
index 'items': search error: query too complex, not enough stack (thread_stack=1206872K or higher required).
Откуда такие аппетиты?

 ,

metrokto
()

Git: просто извлечь содержимое

  1. Пользователь делает commit & push.
  2. Хук на сервере post-receive получает содержимое репозитория, изменяет права и запаковает его в архив.

С git начал разбираться только со вчерашнего дня и самое простое, что пришло в голову:

#!/bin/bash
#post-receive

cd /tmp
rm -rf ./project
git clone /var/project.git
cd ./project
rm -rf ./.git
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
zip -r /var/www/example.com/www/last.zip .

Как сделать по-человечески?

 

metrokto
()

sshfs: remote host has disconnected

Подключался я раньше к серверу через sshfs, а теперь не получается (с разных машин).
Доступа к техподдержке сервера (хостинг) нет, гугл несколько дней ничего действенного не советует.

Что ему не нравиться?

SSHFS version 2.2
executing <ssh> <-x> <-a> <-oClearAllForwardings=yes> <-ologlevel=debug> <-oCompression=yes> <-oNumberOfPasswordPrompts=1> <-oPreferredAuthentications=password,keyboard-interactive> <-2> <username@hostname> <-s> <sftp>
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to hostname [hostname] port 22.
debug1: Connection established.
debug1: identity file /home/x/.ssh/id_rsa type -1
debug1: identity file /home/x/.ssh/id_rsa-cert type -1
debug1: identity file /home/x/.ssh/id_dsa type -1
debug1: identity file /home/x/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-6+squeeze3
debug1: match: OpenSSH_5.5p1 Debian-6+squeeze3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 zlib@openssh.com
debug1: kex: client->server aes128-ctr hmac-md5 zlib@openssh.com
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'hostname' is known and matches the RSA host key.
debug1: Found key in /home/x/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = ru_RU.UTF-8
debug1: Sending subsystem: sftp
debug1: client_input_channel_req: channel 0 rtype exit-signal reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
Transferred: sent 1512, received 1960 bytes, in 0.0 seconds
Bytes per second: sent 39421.1, received 51101.4
debug1: Exit status -1
debug1: compress outgoing: raw data 177, compressed 151, factor 0.85
debug1: compress incoming: raw data 104, compressed 81, factor 0.78
remote host has disconnected

 ,

metrokto
()

Stream context не передает POST

Картина такая:

Сценарий php на сервере A принимает переменные, переданные методом POST, и определенным образом реагирует на это.

Сервер B передает переменные с помощью кода, приведенного ниже, и сервер A обрабатывает их.

Сервер C передает переменные с помощью кода, приведенного ниже, но на сервере A массив $_POST не создается вообще.

В чем может быть проблема? Подозреваю настройки PHP на сервере C, но какие — ненагугливается.

//Упрощено:

$this -> data = array ('var' => 'val');
$this -> options = array ('http' => array ());
$this -> options ['http']['method'] = 'POST';
$this -> options ['http']['header'] = 'Content-type: application/x-www-form-urlencoded';
$this -> options ['http']['content'] = http_build_query ($this -> data);
$context = stream_context_create ($this -> options);
copy ($this -> url, $fname, $context);

 

metrokto
()

Синхронизация состояния файловой системы на разных компьютерах

Есть три компьютера с одинаковым Дебианом, которыми я пользуюсь в разное время, но (почти) с одними целями.

Хочется так, чтобы:

  • Пришел на работу, установил цветовую схему для vim, перекомпилировал dwm, написал несколько килобайт кода.
  • Пришел домой, а на любом из домашних компьютеров и конфиг с темой вима тот же и WM с теми же хоткеями и в браузере те же вкладки открыты.
  • И чтобы с любого компьютера можно было редактировать любые файлы (про VCS знаю, да).

Как так сделать?

 

metrokto
()

lsusb не показывает устройство

Вопрос относится скорее к Линуксу в целом, чем к Андроиду.

Установил на планшет CM 10.1, подключаю к компьютеру через usb и:

  • Планшет понимает, что его подключили к компьютеру;
  • lsusb не показывает подключенное устройство;
  • В /var/log/messages добавляется строки:
    Jul  4 00:54:07 discovery kernel: [ 1132.173764] usb 2-1.3: new high-speed USB device number 11 using ehci_hcd
    Jul  4 00:54:07 discovery kernel: [ 1132.341848] usb 2-1.3: new high-speed USB device number 12 using ehci_hcd
    Jul  4 00:54:07 discovery kernel: [ 1132.509620] usb 2-1.3: new high-speed USB device number 13 using ehci_hcd
    Jul  4 00:54:07 discovery kernel: [ 1132.605699] usb 2-1.3: new high-speed USB device number 14 using ehci_hcd
    

  • dmesg сообщает:
    [ 1286.928692] usb 2-1.3: new high-speed USB device number 19 using ehci_hcd
    [ 1287.020875] usb 2-1.3: no configurations
    [ 1287.020883] usb 2-1.3: can't read configurations, error -22
    [ 1287.096582] usb 2-1.3: new high-speed USB device number 20 using ehci_hcd
    [ 1287.188788] usb 2-1.3: no configurations
    [ 1287.188796] usb 2-1.3: can't read configurations, error -22
    [ 1287.264641] usb 2-1.3: new high-speed USB device number 21 using ehci_hcd
    [ 1287.285234] usb 2-1.3: no configurations
    [ 1287.285242] usb 2-1.3: can't read configurations, error -22
    [ 1287.360453] usb 2-1.3: new high-speed USB device number 22 using ehci_hcd
    [ 1287.381195] usb 2-1.3: no configurations
    [ 1287.381201] usb 2-1.3: can't read configurations, error -22
    [ 1287.384291] hub 2-1:1.0: unable to enumerate USB device on port 3
    

Куда копать?

P. S.: В логах dmesg и messages device number не соответствуют, по тому, что цитировал после разных попыток подключения, это одно и то же устройство.

 , ,

metrokto
()

Android 4.2 (CyanogenMod 10.1) совместить верхнюю и нижнюю панель

Раньше (4.0) было так: снизу панель, на ней, слева навигация, справа уведомления и часы.

Теперь (4.2) есть две убогие полупустые панели, рассчитанные на телефоны, но не на планшеты.

Как в 4.2 вернуть все в зад? То, что это возможно, демонстрирует пруфпик Paranoid Android.

 , ,

metrokto
()

keysymdef.h: XK_KP_?

Как узнать, какой константе соответствует клавиша 5 на дополнительном цифровом блоке при выключенном намлоке?

metrokto
()

Как работает file_put_contents?

Есть файл $fileName, в который, время от времени, записывается строка $str функцией file_put_contents.

Известно, что всегда strlen ($str) > 0.

В какой-то момент времени обнаруживается, что закончилось место на диске, a filesize ($fileName) == 0.

Подозреваю, что место на диске закончилось в то время, как работала file_put_contents, которая открыла файл, усекла его до 0, а записать данные не смогла.

Такое возможно, или эти факты между собой не связаны?

 

metrokto
()

Артефакты или тиринг в браузерах

Перешел на dwm и столкнулся с раздражающей штукой: при скроле в разных браузерах появляются артефакты на странице.
Если выключить плавную прокрутку в Опере, то проблема не наблюдается (но зачем так жить?).

При просмотре видео или скроле чего-либо другого (не веб-страниц) такого не наблюдается.
Проблема присутствует на двух компьютерах: с интегрированной видеокартой (P4M890) и на компьютере с дискретной AMD'шной.

Чем это может быть вызвано? Как от этого избавиться?

 

metrokto
()

Переход «назад» по backspace в браузере

С недавнего времени в гугле появилась мерзкая фишка: при нажатии бекспейса переход
по истории назад не срабатывает, а вместо него фокус передается строке поиска.

Особенно мерзко, что многие ****осайты сразу подхватили моду и теперь, вместо нажатия одной клавиши,
приходится нажимать минимум две, что не может не вызывать сильную боль в нижней части тела.

Как с этим бороться?

 backspace, ,

metrokto
()

Запустить браузер из командной строки BusyBox

Как запустить браузер и передать ему несколько адресов для вкладок?

 ,

metrokto
()

Подвисает gvfs-fuse?

Есть:

  • Debian Squeeze с ядрами 2.6 и 3.2 (два компьютера)
  • каталог удаленного сервера, монтируемый через sftp средствами Nautilus'a

Открытие и сохранение файлов через Gedit происходит быстро, а через Geany занимает полминуты-минуту.
Задержки возникли недавно и (кажется) беспричинно.

В какую сторону копать?

 , , gvfs-fuse,

metrokto
()

Переадресация входящей почты сервера на один email

Есть несколько доменных имен и VPS с Debian 6. Нужно, чтобы вся входящая почта перенаправлялась на ящик сторонней почтовой системы:

*@domain1.com -> mailbox@gmailoryandex.com
...
*@domain7.com -> mailbox@gmailoryandex.com
Что для этого нужно [установить и настроить]? С почтой совсем не знаком, что нужно делать не представляю.

 

metrokto
()

Хочется попробовать новый дистрибьютив

Есть ноутбук и свободное время. Что такого поставить, чтобы с модными поделками типа systemd и последним гномом (хочу потыкать classic mode), но не сильно красноглазое?

metrokto
()

Регистронезависимый поиск в MySQL

Гуглил, экспериментировал, экскрементировал кирпичами весь день.
MySQL версии 5.1.66, БД была создана запросом:

CREATE DATABASE DbName CHARACTER SET utf8 COLLATE utf8_general_ci;
Не работает регистронезависмый поиск следующими способами:
SET NAMES 'utf8';

SELECT `id` FROM TableName WHERE LOWER(`title`) LIKE LOWER('%$search%');
SELECT `id` FROM TableName WHERE `title` LIKE COLLATE UTF8_GENERAL_CI = '%$search%';
Кто знает, как одолеть?

 ,

metrokto
()

RSS подписка на новые темы