Tux
24.04.2009
Линуксоид на велосипеде с моторчиком
14.04.2009
Уже более двух месяцев тружусь на новом рабочем месте в отделе решений voip нашей компании — занимаюсь поддержкой веб-интерфейса управления основным продуктом: исправляю накопившиеся баги, создаю новые :), а также готовлю релизы. Все работает под Debian Lenny, на базе Apache 2 + PHP5 + MySQL 5.
По сравнению с предыдущей деятельностью сменилось вроде бы немногое — [...]
18.03.2009
Есть две вечные темы, о которых пишет почти каждый автор «блога про linux» — туннели в ssh (каюсь, сам грешен) и сброс пароля root путём загрузки в режиме single user. Как правило, второй рецепт провоцирует обширные обсуждения на тему незащищённости Linux от действий злоумышленников при наличии физического доступа к компьютеру.
Вот несколько простых шагов, которые создадут [...]
13.03.2009
> uname -rs
FreeBSD 6.1-STABLE
> man panic
PANIC(9) FreeBSD Kernel Developer’s Manual PANIC(9)
NAME
panic — bring down system on fatal error
…
RETURN VALUES
[...]
11.03.2009
В последние несколько лет многопроцессорные и многоядерные системы получили широкое распространение на десктопах, не говоря уже о серверных решениях. Однако зачастую дополнительные процессоры используются неэффективно: большая часть повседневно используемых программ умеет работать только на одном процессоре, а для эффективного использования нескольких CPU необходимо научить программу работать в несколько потоков. Без специальных знаний это довольно проблематично.
Еще [...]
29.12.2008
22. echo «Hello World!»
23. for arg in $*
24. function foo()
25. echo «~»
26. local varname=$(command)
24.12.2008
17. cd /foo; bar
18. [ bar == "$foo" ]
19. for i in {1..10}; do ./something &; done
20. cmd1 && cmd2 || cmd3
21. Касательно UTF-8 и BOM (Byte-Order Mark, метка порядка байтов)
23.12.2008
Клиенты прислали свой ноутбук Lenovo Thinkpad X61s для специфической настройки. Перед отправкой они воткнули туда свежеприобретённый Mini PCIe-адаптер Intel PRO Wireless 3945ABG, но проверить его толком не успели за недостатком времени. Когда я включил этот ноутбук, он вообще отказался загружаться с хамской формулировкой:
1802: Unauthorized network card is plugged in – Power off and remove the [...]
22.12.2008
11. cat file | sed s/foo/bar/ > file
12. echo $foo
13. $foo=bar
14. foo = bar
15. echo <<EOF
16. su -c ’some command’
18.12.2008
5. [ "$foo" = bar && "$bar" = foo ]
6. [[ $foo > 7 ]]
7. count=0; grep foo bar | while read line; do ((count++)); done; echo «number of lines: $count»
8. if [grep foo myfile]
9. if [bar="$foo"]
10. if [ [ a = b ] && [ c = d ] ]
13.12.2008
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.
Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)
1. for i in `ls *.mp3`
2. cp $file $target
3. [ $foo = "bar" ]
4. cd `dirname "$f"`
07.12.2008
Знание истории происхождения вещей и их названий, будь это простой карандаш, автомобиль или же команда операционной системы, делает их повседневное использование намного интереснее. В этой заметке я постараюсь осветить некоторые неизвестные широкой публике аспекты наименования нескольких программ, используемых в операционной системе Unix и её родственниках: Solaris, Linux, *BSD и т.д.
По мотивам страницы What [...]
17.11.2008
В Debian в bash был добавлен патч, благодаря которому пользователь может написать свою функцию, выполняемую в случае, если введённая пользователем команда отсутствует. В Ubuntu эту фичу использует подсказка command-not-found, заметно тормозящая работу, в то время как можно найти более интересные и полезные возможности применения этого механизма, оставив поиск пакета специализированным программам. Поделюсь своим опытом.
У [...]
10.11.2008
С давних времен многих смущает разнообразие вариантов обеспечения безопасности при выполнении операций с максимальными привилегиями. Например, в официальной документации ubuntu в качестве команды редактирования рекомендуется использовать что-то вроде sudo nano, а в многочисленных любительских мануалах (в стиле «5 фокусов в командной строке, которые удивят вашу бабушку») для получения root’ового шелла предлагается писать «sudo su -». [...]
08.11.2008
На следующий день после выхода релиза обновления доползли до местного нижегородского репозитория (yum.fireground.ru), поэтому я решил рискнуть и, несмотря на многочисленные отрицательные отзывы, обновить один из компов своего персонального зоопарка.
Первым делом столкнулся с нехваткой места: установщик обновлений потребовал 1,6 Гб места в корневом разделе, а поскольку при распределении места я пожадничал и выделил под [...]