#~apt-get install php5-xdebug
#~php -d xdebug.profiler_enable=On myfile.php
Напильник и Debian
Конфиги, скрипты, и прочее небольшие заметки прямо или косвенно, касающиеся Debian и Linux
13 нояб. 2010 г.
30 окт. 2010 г.
devilspie - Запуск приложения на определенном рабочем столе
Необходимо : запускать приложения на разных виртуальных рабочих столах в Gnome при старте. Например браузер на втором, терминал на третьем
Нашел только такое решение(по ощущениям это костыль):
#apt-get install devilspie gdevilspie
собственно сама утилита и морда к ней
В морде прописать нужные опции запуска
В итоге будут записаны следующие файлы (к примеру)
doc@:~/.devilspie$ cat chrominum.ds
; generated_rule chrominum
( if
( begin
( is ( application_name ) "chromium-browser" )
)
( begin
( maximize )
( set_viewport 2 )
( println "match" )
)
)
Утилиту логично стартовать автомататически, это тоже настраивается в морде. Ссылки по теме:
http://welinux.ru/post/3233/
Нашел только такое решение(по ощущениям это костыль):
#apt-get install devilspie gdevilspie
собственно сама утилита и морда к ней
В морде прописать нужные опции запуска
В итоге будут записаны следующие файлы (к примеру)
doc@:~/.devilspie$ cat chrominum.ds
; generated_rule chrominum
( if
( begin
( is ( application_name ) "chromium-browser" )
)
( begin
( maximize )
( set_viewport 2 )
( println "match" )
)
)
Утилиту логично стартовать автомататически, это тоже настраивается в морде. Ссылки по теме:
http://welinux.ru/post/3233/
14 окт. 2010 г.
Использование значения по умолчанию в bash
Синтаксис
a=${1:-10}
echo $a
Результаты работы:
[root@vps]# sh test.sh 1
1
[root@vps]# vim test.sh
5
${parameter:-defaultValue} var=${parameter:-defaultValue}Пример скрипта:
a=${1:-10}
echo $a
Результаты работы:
[root@vps]# sh test.sh 1
1
[root@vps]# vim test.sh
5
26 сент. 2010 г.
Преобразование чисел в разных системах счисления средствами shell
С помощью bc:
vm1:~$ echo 'obase=2;254'| bc
11111110
obase - основание той СС, в которою переводим, в данном примере - 2. Исходное число записано в 10-ой СС
Преобразование в десятичную СС
vm1:~$ echo 'ibase=2;111110'| bc
62
В данном случае 2 - основание той СС, из которой переводим в десятичную. В случае неверной записи числа, например двоичного в виде "102", оно будет обработано как "101"
vm1:~$ echo 'obase=2;254'| bc
11111110
obase - основание той СС, в которою переводим, в данном примере - 2. Исходное число записано в 10-ой СС
Преобразование в десятичную СС
vm1:~$ echo 'ibase=2;111110'| bc
62
В данном случае 2 - основание той СС, из которой переводим в десятичную. В случае неверной записи числа, например двоичного в виде "102", оно будет обработано как "101"
20 сент. 2010 г.
Настройка сети и доступа в интернет из гостевой ОС в VirtualBox
По умолчанию, когда ставил гостевой Debian в VirtualBox, создается виртуальный сетевой интерфейс c NAT, я оставил также по-умолчанию DHCP - включено. В хост-ОС интернет - через VPN. Для экспериментов внутри гостевого Debian был установлен OpenVZ и поднято 2 VPS.
При таких условиях у меня работал интернет в гостевой ОС, не работал на vps, и vps не были видны из хоста.
В итоге проблему решил, но вполне вероятно криво:
1. Отключил DHCP
2. Хосту для этого интерфейса присвоил IP 192.168.0.1, гостевой - 192.168.0.2, vps'ам 192.168.0.101-102, gateway для Debian соответственно 192.168.0.1
3. В настройках интерфейса в VirtualBox вместо NAT поставил Host Interface Networking
4. Те DNS, которые предлагает провайдер в такой схеме у меня не заработали, в итоге я прописал отсюда freedns в гостевом Debian
/etc/resolve.conf
и на vps'ах
vzctl set 101 --nameserver 4.2.2.1 --nameserver 4.2.2.3 --save
и все завелось.
При таких условиях у меня работал интернет в гостевой ОС, не работал на vps, и vps не были видны из хоста.
В итоге проблему решил, но вполне вероятно криво:
1. Отключил DHCP
2. Хосту для этого интерфейса присвоил IP 192.168.0.1, гостевой - 192.168.0.2, vps'ам 192.168.0.101-102, gateway для Debian соответственно 192.168.0.1
3. В настройках интерфейса в VirtualBox вместо NAT поставил Host Interface Networking
4. Те DNS, которые предлагает провайдер в такой схеме у меня не заработали, в итоге я прописал отсюда freedns в гостевом Debian
/etc/resolve.conf
и на vps'ах
vzctl set 101 --nameserver 4.2.2.1 --nameserver 4.2.2.3 --save
и все завелось.
17 сент. 2010 г.
Регулярные выражения в awk
Пример: awk 'BEGIN {FS=":"} $1 ~ "^l.*" {print $0}' /etc/passwd
Что делает : выводит все строки из /etc/passwd, в которых первое поле начинается с новой строки и на букву "l"
Объяснение:
блок BEGIN в начале задает разделитель, аналогично ключу -F
Далее для каждой строки сравнивается $1 и регулярное выражение "^l.*". Если $1 подпадает под регулярное выражение (символ ~, аналогично, если необходимо, чтобы НЕ подпадало, то !~ ), то выполняется блок print $0
В данном примере условие может быть проще, вместо $1 ~ "^l.*" просто регулярное выражение:
awk 'BEGIN {FS=":"} /^l.*/ {print $0}' /etc/passwd
Что делает : выводит все строки из /etc/passwd, в которых первое поле начинается с новой строки и на букву "l"
Объяснение:
блок BEGIN в начале задает разделитель, аналогично ключу -F
Далее для каждой строки сравнивается $1 и регулярное выражение "^l.*". Если $1 подпадает под регулярное выражение (символ ~, аналогично, если необходимо, чтобы НЕ подпадало, то !~ ), то выполняется блок print $0
В данном примере условие может быть проще, вместо $1 ~ "^l.*" просто регулярное выражение:
awk 'BEGIN {FS=":"} /^l.*/ {print $0}' /etc/passwd
15 сент. 2010 г.
Присвоение значения переменной в awk вне сценария
echo $min | awk --assign format="%12s|" '{printf(format,$1)}'
Чем удобно? в переменную формат можно передать значение, например аргумента функции в виде --assign format="%$1|", параметр $1 использовать внутри awk-программы будет менее прозрачно, как минимум, и вообще не факт, что такое можно сделать.
Чем удобно? в переменную формат можно передать значение, например аргумента функции в виде --assign format="%$1|", параметр $1 использовать внутри awk-программы будет менее прозрачно, как минимум, и вообще не факт, что такое можно сделать.
Подписаться на:
Комментарии (Atom)