Saturday, 27 December 2008
Создать md5 хеши для всех файлов в подпапках
find -type f -exec md5sum "{}" \; > md5_sum.md5
А чтобы выполнить проверку необходимо дать такую команду:
md5sum -c md5_sum.md5
Thursday, 25 December 2008
Векторизация растровых изображений
Помнится, курсе на третьем нам очень долго рассказывали, как осуществлять векторизацию растровых изображений и вот впервые я увидел прогу, которая это АДЕКВАТНО умеет делать, vectormagic.ru
Можно бесплатно сконвертировать два изображения после регистрации :)
Можно бесплатно сконвертировать два изображения после регистрации :)
Tuesday, 23 December 2008
А это моя самая любимая команда =)
Прошу любить и жаловать!
grep -IHiR 'singlestep_enabled' *
grep -IHiR 'singlestep_enabled' *
Tuesday, 2 December 2008
Отладка ядра Linux посредством kgdb, подготовка
Хост машина
Ставим на хост машине отладчик:
sudo apt-get install gdb
sydo apt-get install xxgdb # X фронтэнд для gdb
sudo apt-get install socat # релей
Запускаем релей:
socat -d -d /home/nrg/kernel_debug_pipe pty:
А релей нам нужен по причине: GDB can't connect directly to a unix-domain socket, so you'll need to use the socat ("socket cat") utility.
Если вирт машина с виртуальным комом не включена, то увидим мы примерно следующее:
А вот что увидим в случае успешного коннекта:
Машина с отлаживаемым ядром (Дебиян Ленни на 2.6.26 ядре)
Для отлаживаемой в VirtualBox машины нужно включить виртуальный ком порт вот таким образом:

Всё, подготовительные работы закончены, теперь требуется включить в ядре поддержку KGDB и прицепить к нему gdb по последовательному порту.
Матчасть по KGDB:
http://oslab.info/index.php/Misc/KGDB основной мануал по настройке всего добра
http://www.dumbare.com/kgdb в картинках
http://kgdb.linsyssoft.com/intro.htm офсайт
http://en.wikipedia.org/wiki/KGDB вики
Ставим на хост машине отладчик:
sudo apt-get install gdb
sydo apt-get install xxgdb # X фронтэнд для gdb
sudo apt-get install socat # релей
Запускаем релей:
socat -d -d /home/nrg/kernel_debug_pipe pty:
А релей нам нужен по причине: GDB can't connect directly to a unix-domain socket, so you'll need to use the socat ("socket cat") utility.
Если вирт машина с виртуальным комом не включена, то увидим мы примерно следующее:
2008/12/03 03:17:21 socat[18494] N opening regular file "/home/nrg/kernel_debug_pipe" for reading and writing
2008/12/03 03:17:21 socat[18494] N PTY is /dev/pts/1
2008/12/03 03:17:21 socat[18494] N starting data transfer loop with FDs [3,3] and [4,4]
2008/12/03 03:17:21 socat[18494] N socket 1 (fd 3) is at EOF
2008/12/03 03:17:22 socat[18494] N exiting with status 0
А вот что увидим в случае успешного коннекта:
2008/12/03 03:18:55 socat[18532] N successfully connected via
2008/12/03 03:18:55 socat[18532] N PTY is /dev/pts/1
2008/12/03 03:18:55 socat[18532] N starting data transfer loop with FDs [3,3] and [4,4]
Машина с отлаживаемым ядром (Дебиян Ленни на 2.6.26 ядре)
Для отлаживаемой в VirtualBox машины нужно включить виртуальный ком порт вот таким образом:
Всё, подготовительные работы закончены, теперь требуется включить в ядре поддержку KGDB и прицепить к нему gdb по последовательному порту.
Матчасть по KGDB:
http://oslab.info/index.php/Misc/KGDB основной мануал по настройке всего добра
http://www.dumbare.com/kgdb в картинках
http://kgdb.linsyssoft.com/intro.htm офсайт
http://en.wikipedia.org/wiki/KGDB вики
Многообразие отладчиков ядра Линукс - целых два!
http://oss.sgi.com/projects/kdb/ встроенный, запускается прямо на отлаживаемой машине.
http://kgdb.linsyssoft.com/downloads.htm пошаговый, позволяет подключиться к отлаживаемой машине по последовательному порту и отлаживать в стиле "а ля отладка обычного софта".
материал с http://www.linuxdevices.com/news/NS4947411696.html:
Amit Kale, maintainer of the KGDB Linux kernel debugger, reports that the company he founded is offering commercially supported versions of KGDB. LinSysSoft distributes KGDB Pro as a pre-built binary supporting the latest Red Hat kernels, with support, bug fixes, patches, and a 48-hour response-time guarantee to critical bugs.
KGDB, along with KDB, is one of two popular Linux kernel debuggers. Whereas KDB runs on the system being debugged, and can be used to debug any Linux kernel, KGDB runs on a separate development host, and works on kernels with compiled-in debugging support. According to Kale, KGDB aims to let users debug Linux kernels much as they would debug applications, setting breakpoints and stepping through code line by line while observing variable values.
According to Kale, "After talking to a lot of KGDB users, we realized their frustrations stemmed from lack of dedicated support. Installations required lot of reading, posting mails on lists, and it took forever to get things going. KGDB Pro aims to solve most of these issues."
Availability
KGDB Pro is available now, priced at $1,500, including qualified packages for various Linux distributions and kernels, installation support, bug fixes, support for four new Linux kernels per year, five troubleshooting/bug fixes per year, and discounted rates on requested feature enhancements.
http://kgdb.linsyssoft.com/downloads.htm пошаговый, позволяет подключиться к отлаживаемой машине по последовательному порту и отлаживать в стиле "а ля отладка обычного софта".
материал с http://www.linuxdevices.com/news/NS4947411696.html:
Amit Kale, maintainer of the KGDB Linux kernel debugger, reports that the company he founded is offering commercially supported versions of KGDB. LinSysSoft distributes KGDB Pro as a pre-built binary supporting the latest Red Hat kernels, with support, bug fixes, patches, and a 48-hour response-time guarantee to critical bugs.
KGDB, along with KDB, is one of two popular Linux kernel debuggers. Whereas KDB runs on the system being debugged, and can be used to debug any Linux kernel, KGDB runs on a separate development host, and works on kernels with compiled-in debugging support. According to Kale, KGDB aims to let users debug Linux kernels much as they would debug applications, setting breakpoints and stepping through code line by line while observing variable values.
According to Kale, "After talking to a lot of KGDB users, we realized their frustrations stemmed from lack of dedicated support. Installations required lot of reading, posting mails on lists, and it took forever to get things going. KGDB Pro aims to solve most of these issues."
Availability
KGDB Pro is available now, priced at $1,500, including qualified packages for various Linux distributions and kernels, installation support, bug fixes, support for four new Linux kernels per year, five troubleshooting/bug fixes per year, and discounted rates on requested feature enhancements.
Отладка ядра Linux в VirtualBox
apt-get install kernel-patch-kdb
apt-get install linux-source-2.6.26
apt-get install kernel-package
apt-get install zlib1g-dev
cd /usr/src
tar xvjf linux-source-2.6.26.tar.bz2
cd linux-source-2.6.26
cp /boot/config-2.6.26-1-486 .config
make oldconfig
# чесслов, не знаю, зачем это
echo "patch_the_kernel := YES" >> /etc/kernel-pkg.conf
make-kpkg --added-patches kdb --append-to-version "-kdb" --revision=2.6.26.kdb --initrd kernel-image
После этого можно наблюдать deb пэкадж с ядром в папке /usr/srс, который ставим командой dpkg -i имя_пакета.deb
После этого перезагружаемся с новым ядром (желательно в single mode) и переходим к отладке посредством нажатия кнопки "pause" (на клавиатуре есть такая), выход из отладчика осуществляется командой go.
Не знаю, как у вас, но у меня при установке kdb без поддержки USB клав клавиатура очень тупила, так что пробую пересобрать с усб, в надежде, что заработает нормально :)
источник:
http://d.hatena.ne.jp/n314/20080412/1207994145
рекомендуемо к прочтению:
http://www.ibm.com/developerworks/linux/library/l-kdbug/
http://www.ibm.com/developerworks/linux/library/l-debug/
apt-get install linux-source-2.6.26
apt-get install kernel-package
apt-get install zlib1g-dev
cd /usr/src
tar xvjf linux-source-2.6.26.tar.bz2
cd linux-source-2.6.26
cp /boot/config-2.6.26-1-486 .config
make oldconfig
# чесслов, не знаю, зачем это
echo "patch_the_kernel := YES" >> /etc/kernel-pkg.conf
make-kpkg --added-patches kdb --append-to-version "-kdb" --revision=2.6.26.kdb --initrd kernel-image
После этого можно наблюдать deb пэкадж с ядром в папке /usr/srс, который ставим командой dpkg -i имя_пакета.deb
После этого перезагружаемся с новым ядром (желательно в single mode) и переходим к отладке посредством нажатия кнопки "pause" (на клавиатуре есть такая), выход из отладчика осуществляется командой go.
Не знаю, как у вас, но у меня при установке kdb без поддержки USB клав клавиатура очень тупила, так что пробую пересобрать с усб, в надежде, что заработает нормально :)
источник:
http://d.hatena.ne.jp/n314/20080412/1207994145
рекомендуемо к прочтению:
http://www.ibm.com/developerworks/linux/library/l-kdbug/
http://www.ibm.com/developerworks/linux/library/l-debug/
О сектах
Люди настолько легко внушаемы, что намного проще навязать им чужие мысли, чем удовлетворить их собственные интересы.
Чтобы продавать продукт не нужно знать его востребованность. Достаточно рекламы, которая сделает его востребованным.
Не нужно бороться с преступностью. Достаточно показывать по телеку репортажи о том, как в считанные секунды ловят преступников, как жестоко с ними обходятся и как хреново им в жизни приходится.
Не нужно кем-то быть или что-то иметь. Достаточно лишь, что бы все знали, что ты есть тот-то, что ты имеешь то-то.
Не нужно ничего... Достаточно лишь, чтобы все верили, что...
Напоминает Матрицу, неправдали.
И если тот же Яндекс - это не секта, то почему яндексойды "осознанно" надевают корпоративные рясы и кичаются ими?
В другой секте накачивают силиконом сиськи, жарят тело в солярии и также думают, что чем-то отличаются от других "сектантов".
Вы вот представьте, что за пачку разноцветных бумажек можно получить неплохое средство передвижения. А за чуть большую пачку - жильё. И большинство людей спит и видит, как увеличивается его пачка цветных бумажек. Разве это не секта умалишенных почитателей цветных бумажек?
Я уж не говорю про секту почитателей дёргающихся графиков...
С самого детства ты ходишь в школу, каждое буднее утро встаёшь в 7-30, ходишь на 45-минутные уроки, где учитель говорит тебе, что ты должен делать и почему нужно гордиться цифрами, под названием оценки. И оказывается всё это для того, чтобы ты потом пришёл в какую-то корпорацию и уже знал, что ходить 5 дней в неделю на работу к 9-00, работать там 8 часов, выполнять указания начальника и получать за это другие, не менее виртуальные, цифры - всё это считается нормальным.
Так что сектантство - это вопрос точки отсчёта. И самое сложное - найти нулевые координаты.
Чуть позже постараюсь откомментировать.
Стащено с: http://michael.mindmix.ru/612-538-sektantstvo.zhtml
Чтобы продавать продукт не нужно знать его востребованность. Достаточно рекламы, которая сделает его востребованным.
Не нужно бороться с преступностью. Достаточно показывать по телеку репортажи о том, как в считанные секунды ловят преступников, как жестоко с ними обходятся и как хреново им в жизни приходится.
Не нужно кем-то быть или что-то иметь. Достаточно лишь, что бы все знали, что ты есть тот-то, что ты имеешь то-то.
Не нужно ничего... Достаточно лишь, чтобы все верили, что...
Напоминает Матрицу, неправдали.
И если тот же Яндекс - это не секта, то почему яндексойды "осознанно" надевают корпоративные рясы и кичаются ими?
В другой секте накачивают силиконом сиськи, жарят тело в солярии и также думают, что чем-то отличаются от других "сектантов".
Вы вот представьте, что за пачку разноцветных бумажек можно получить неплохое средство передвижения. А за чуть большую пачку - жильё. И большинство людей спит и видит, как увеличивается его пачка цветных бумажек. Разве это не секта умалишенных почитателей цветных бумажек?
Я уж не говорю про секту почитателей дёргающихся графиков...
С самого детства ты ходишь в школу, каждое буднее утро встаёшь в 7-30, ходишь на 45-минутные уроки, где учитель говорит тебе, что ты должен делать и почему нужно гордиться цифрами, под названием оценки. И оказывается всё это для того, чтобы ты потом пришёл в какую-то корпорацию и уже знал, что ходить 5 дней в неделю на работу к 9-00, работать там 8 часов, выполнять указания начальника и получать за это другие, не менее виртуальные, цифры - всё это считается нормальным.
Так что сектантство - это вопрос точки отсчёта. И самое сложное - найти нулевые координаты.
Чуть позже постараюсь откомментировать.
Стащено с: http://michael.mindmix.ru/612-538-sektantstvo.zhtml
Monday, 1 December 2008
Установка Zabbix PHP Фронтэнд на CentOS 5
Вступление
После того, как сервер мониторинга запущен, стоит прикрутить к нему мордочку :)
Тут всё довольно просто, т.к. у мордочки есть инсталлятор.
Установка
1. Ставим необходимый софт:
2. Добавляем Апача в автозапуск:
3. Копируем в папку вирт сервера файлы из frontends/php/
4. Прописываем таймзону и max время исполнения в /etc/php.ini
5. Открываем http://zabbix.servername.ru/setup.php
6 Следуем указаниям мастера, ставим Zabbix,
7. Логинимся как Admin | zabbix и тащимся с потрясающего интерфейса Заббикса :)
После того, как сервер мониторинга запущен, стоит прикрутить к нему мордочку :)
Тут всё довольно просто, т.к. у мордочки есть инсталлятор.
Установка
1. Ставим необходимый софт:
yum install -y httpd http php-pgsql php-gd php-bcmath
2. Добавляем Апача в автозапуск:
/etc/init.d/httpd start
chkconfig httpd on
3. Копируем в папку вирт сервера файлы из frontends/php/
cp -R frontends/php/* /var/www/html/
4. Прописываем таймзону и max время исполнения в /etc/php.ini
date.timezone = Europe/Moscow
max_execution_time = 360
5. Открываем http://zabbix.servername.ru/setup.php
6 Следуем указаниям мастера, ставим Zabbix,
7. Логинимся как Admin | zabbix и тащимся с потрясающего интерфейса Заббикса :)
MySQL Workbench Linux версия
Довольно давно пробегала новость, что данная тулза была портирована на линукс, но потестить руки не доходили, ну что же, вперёд http://dev.mysql.com/workbench/?p=158 !
Ну так вот, лучше бы они ещё не доходили, прога вылетает уж слишком часто (по крайней мере у меня), т.ч. ждём релиза.
Ну так вот, лучше бы они ещё не доходили, прога вылетает уж слишком часто (по крайней мере у меня), т.ч. ждём релиза.
Sunday, 30 November 2008
Удаление ограничений на минимальную длину пароля в Debian
Делается довольно легко: в файле /etc/pam.d/common-password ищем слово "min" в незакомменченой строке, ставим в единицу и радуемся легким (э, ну все поняли, что онли на тестовых машинах, огражденных от внешнего мира?) паролям :)
Конвертировать QCOW в RAW QEMU
Вот так:
qemu-img convert debian_arm_hda.img -f qcow -O raw debian_arm_hda_raw.img:)
Установка Debian на ARM архитектуру
Установка эмулятора
sudo apt-get install qemu
Поиск initrd инсталлятора
Идём на список зеркал Дебияна http://www.debian.org/mirror/list
Вот примерно по такому пути "debian/dists/etch/main/installer-arm/current/images/rpc/netboot/" на (почти, если данных папок нету -- смените зеракало на другое) любом из зеркал вы можете скачать необходимый нам файл: initrd.gz (это собственно и есть инсталлятор)
Создаём образ жесткого диска:
qemu-img create -f qcow debian_arm_hda.img 2G
Поиска ядра под данную платформу
Вот здесь http://people.debian.org/~aurel32/arm-versatile/ требуется скачать файлик vmlinuz-2.6.18-6-versatile это ядро, специально собранное под процессор ARM versatile. Также надо стянуть файлик initrd.img-2.6.18-6-versatile, он нам понадобится после окончания установки.
Запуск инсталляции
После того, как все необходимые файлы получены, можно попробовать запустить инсталляцию.
/usr/bin/qemu-system-arm -M versatileab -kernel '/home/nrg/arm_debian/vmlinuz-2.6.18-6-versatile' -append 'root=/dev/ram' -initrd '/home/nrg/arm_debian/initrd.gz' -hda '/home/nrg/arm_debian/debian_arm_hda.img' -m 128
Инсталляция
Ну вот и всё :) Должны пойти буковки загрузки Линукс ядра и через некоторое время вы увидите обычный инсталлятор Дебияна. Внимание! Установка будет производиться по сети, так что запаситесь нормальным соединением и кучей трафика :) Также в процессе установки будет варнинг "Continue the install without loading kernel modules", с этим стоит согласиться, модули мы подсунем позже :)
Далее получим варнинг о том, что "No installable kernel was found in the defined APT sources" (т.е. ядра необходимого нам нету в пакетном менеджере), соглашаемся на установку без ядра.
Финальная настройка
После того, как установка закончена ждем ребута и во время следующей загрузки выключаем машинку.
Теперь нам надо ребутнуца в рабочем окружении:
/usr/bin/qemu-system-arm -M versatileab -kernel '/home/nrg/arm_debian/vmlinuz-2.6.18-6-versatile' -append 'root=/dev/sda1' -initrd '/home/nrg/arm_debian/initrd.img-2.6.18-6-versatile' -hda '/home/nrg/arm_debian/debian_arm_hda.img' -m 128
Как видите, мы заменили intrd инсталлятора на родной и сменили root раздел :)
Теперь запускаем систему, ждём пока отработает fsck (почему он запускается -- большой вопрос) и радуемся полноценной системе на ARM платформе %)

Проблемы
При таком подходе у меня загрузка доходила до fsck, потом зависала или ребуталась т.к. fsck не завершался успешно. Сначала попробовал -m поставить в 256, тестирование прошло почти мгновенно, но вылете по ошибки в самом конце. Вторым этапом было конвертирование образа винта из QCOW в RAW формат, как это сделать читайте здесь, потом просто меянем диск на -hda '/home/nrg/arm_debian/debian_arm_hda_raw.img'
После всего этого запускаем систему так:
/usr/bin/qemu-system-arm -M versatileab -kernel '/home/nrg/arm_debian/vmlinuz-2.6.18-6-versatile' -append 'root=/dev/sda1' -initrd '/home/nrg/arm_debian/initrd.img-2.6.18-6-versatile' -hda '/home/nrg/arm_debian/debian_arm_hda_raw.img' -m 128
Ещё очень желательно добавлять ключик -localtime при запуске, так будет время нормальное ;)
Установка родных модулей ядра
Использованные материалы
Основано на замечательной статье: http://www.goitexpert.com/entry.cfm?entry=ARM-Emulation-With-QEMU
sudo apt-get install qemu
Поиск initrd инсталлятора
Идём на список зеркал Дебияна http://www.debian.org/mirror/list
Вот примерно по такому пути "debian/dists/etch/main/installer-arm/current/images/rpc/netboot/" на (почти, если данных папок нету -- смените зеракало на другое) любом из зеркал вы можете скачать необходимый нам файл: initrd.gz (это собственно и есть инсталлятор)
Создаём образ жесткого диска:
qemu-img create -f qcow debian_arm_hda.img 2G
Поиска ядра под данную платформу
Вот здесь http://people.debian.org/~aurel32/arm-versatile/ требуется скачать файлик vmlinuz-2.6.18-6-versatile это ядро, специально собранное под процессор ARM versatile. Также надо стянуть файлик initrd.img-2.6.18-6-versatile, он нам понадобится после окончания установки.
Запуск инсталляции
После того, как все необходимые файлы получены, можно попробовать запустить инсталляцию.
/usr/bin/qemu-system-arm -M versatileab -kernel '/home/nrg/arm_debian/vmlinuz-2.6.18-6-versatile' -append 'root=/dev/ram' -initrd '/home/nrg/arm_debian/initrd.gz' -hda '/home/nrg/arm_debian/debian_arm_hda.img' -m 128
Инсталляция
Ну вот и всё :) Должны пойти буковки загрузки Линукс ядра и через некоторое время вы увидите обычный инсталлятор Дебияна. Внимание! Установка будет производиться по сети, так что запаситесь нормальным соединением и кучей трафика :) Также в процессе установки будет варнинг "Continue the install without loading kernel modules", с этим стоит согласиться, модули мы подсунем позже :)
Далее получим варнинг о том, что "No installable kernel was found in the defined APT sources" (т.е. ядра необходимого нам нету в пакетном менеджере), соглашаемся на установку без ядра.
Финальная настройка
После того, как установка закончена ждем ребута и во время следующей загрузки выключаем машинку.
Теперь нам надо ребутнуца в рабочем окружении:
/usr/bin/qemu-system-arm -M versatileab -kernel '/home/nrg/arm_debian/vmlinuz-2.6.18-6-versatile' -append 'root=/dev/sda1' -initrd '/home/nrg/arm_debian/initrd.img-2.6.18-6-versatile' -hda '/home/nrg/arm_debian/debian_arm_hda.img' -m 128
Как видите, мы заменили intrd инсталлятора на родной и сменили root раздел :)
Теперь запускаем систему, ждём пока отработает fsck (почему он запускается -- большой вопрос) и радуемся полноценной системе на ARM платформе %)

Проблемы
При таком подходе у меня загрузка доходила до fsck, потом зависала или ребуталась т.к. fsck не завершался успешно. Сначала попробовал -m поставить в 256, тестирование прошло почти мгновенно, но вылете по ошибки в самом конце. Вторым этапом было конвертирование образа винта из QCOW в RAW формат, как это сделать читайте здесь, потом просто меянем диск на -hda '/home/nrg/arm_debian/debian_arm_hda_raw.img'
После всего этого запускаем систему так:
/usr/bin/qemu-system-arm -M versatileab -kernel '/home/nrg/arm_debian/vmlinuz-2.6.18-6-versatile' -append 'root=/dev/sda1' -initrd '/home/nrg/arm_debian/initrd.img-2.6.18-6-versatile' -hda '/home/nrg/arm_debian/debian_arm_hda_raw.img' -m 128
Ещё очень желательно добавлять ключик -localtime при запуске, так будет время нормальное ;)
Установка родных модулей ядра
apt-get install initramfs-tools
wget http://people.debian.org/~aurel32/arm-versatile/linux-image-2.6.18-6-versatile_2.6.18.dfsg.1-18etch1+versatile_arm.deb (актуальную ссылку смотрите на сайте с патченым ядром, он указан выше; а вообще, лучше сам сайт откройте прямо с arm машинки в links)
dpkg -i linux-image-2.6.18-6-versatile_2.6.18.dfsg.1-18etch1+versatile_arm.deb
Использованные материалы
Основано на замечательной статье: http://www.goitexpert.com/entry.cfm?entry=ARM-Emulation-With-QEMU
Thursday, 20 November 2008
Vim и CentOS 5
У товарищей довольно странный подход к именованию пакетов, поэтому sudo yum install vim меня обрадовал сверхадекватным "No package vim available", неприятно, да. Правильный ответ был:
sudo yum install vim-enhanced
Установка vsftpd на Centos5
Для начала ставим пакет ФТП сервера:
Ну вот, собственно, и всё :)
Единственное, хотелось бы запретить этому пользователю доступ по SSH, у кого есть идеи, как это сделать?
sudo yum install vsftpdЗатем его запускаем:
sudo /etc/init.d/vsftpd startДобавляем первого фтп юзера:
sudo /usr/sbin/useradd expand_backup -G ftp -mСтавим юзеру пароль:
sudo passwd expand_backup
Ну вот, собственно, и всё :)
Единственное, хотелось бы запретить этому пользователю доступ по SSH, у кого есть идеи, как это сделать?
Subscribe to:
Comments
(
Atom
)
