Показаны сообщения с ярлыком console. Показать все сообщения
Показаны сообщения с ярлыком console. Показать все сообщения

понедельник, 19 мая 2008 г.

полезные утилиты

htop - просмотр и удаление процессов
cairo-clock - прикольные гномовские часы
darkstat - статистика по трафику интерфейса ( после установки в конфиге подправить первую строку на yes
iptraf просмотр трафика с консоли

воскресенье, 30 марта 2008 г.

Если завис Linux

Бывает такое, что система зависает. Или иксы не выходят из свопа, или некий процесс отъел всю память и обработчик клавиатуры не может получить управление, или придётся признать, что у броузера медленно подтекает крышак, ну в общем, ничего не сделать, кроме ребута.

А вот как его сделать, чтобы не повредить причёску файловую систему. Прибегнем к так называемой магической ядерной кнопке, а именно сочетанию Alt-SysRq (он же PrintScreen) с разными буквами. Понадобятся нам такие, в этом порядке, с учётом, что у нас клавиатура qwerty:
Alt-Sysrq-R переключить клавиатуру в режим XLATE (перехватить управление у иксов)
Alt-Sysrq-E послать всем процессам, кроме инита, решительный привет, то есть SIGTERM
Alt-Sysrq-I послать всем процессам, кроме инита, окнчательный привет, то есть SIGKILL
Alt-Sysrq-S sync. Для последователй старой школы: нажать дважды :)
Alt-Sysrq-U перемонтировать все файловые системы в read-only
Alt-Sysrq-B начать загрузку

Говорят, что эту последовательность (Alt-SysRq-REISUB) можно запомнить как слово BUSIER наоборот. От себя можно добавить, что если хочется освежить в голове эту краткую мнемонику, то можно на консоли нажать Alt-SysRq-H, и будет выдана краткая справка. Для тех, кто не уверен, где у него консоль: надо нажать Ctrl-Alt-F1.


Взято отсюда

Скрипты с интерфейсом

Администрируя потихоньку сервера с Linux, периодически приходится изобретать разного рода скриптики для выполнения ряда узких задач. Иногда эти задачи требуют взаимодействие скриптов с пользователем. Причём, зная уже свою родную систему вдоль и поперёк, изучив десятки команд и сотни их ключей, хочется дать отдыха своему мозгу, сделать для скрипта Интерфейс.
Пример диалогового окна вопроса

Для работы с удалёнными машинами я давно уже пользовался утилитой dialog, позволяющей создавать человеческого вида интерфейсы в скриптах. Как это выглядит знают все, кто устанавливал FreeBSD. Кому интересно: краткое описние dialog на русском и на английском, с большими картинками.

Автоматизируя работу на своём домашнем/рабочем компьютере с GNOME я обнаружил новое, ещё более увлекательное средство для создания интерфейсов в скриптах:

Zenity (Русскоязычное руководство в GNOME Documentation Library)

Освоив этот инструмент, правильный администратор/разработчик может облегчить жизнь себе любимому, своим близким, вынужденным терпеть Linux на домашнем компьютере, сотрудникам в офисе, куда стремительно рвутся всё более удобоваримые дистрибутивы свободной ОС. Удобство скриптования в unix-системах эта программа легко подружит с удобством использования. Не берусь даже обрисовать все возможные применения.

Пример номер 1:
Пропишем себе в crontab:
*/15 0-3 * * * DISPLAY=:0.0 /usr/bin/zenity --warning --title="Пора спать" --text="Завтра на работу"
И система заботливо и настойчиво будет нас клонить ко сну каждые 15 минут с 0 до 3 ночи.

Пример номер 2:
Статус ppp соединения плюс статистика в трее от Злого Ананаса.

Пример номер 3:
Сканируем тучи документов и выполняем обработку изображений офисных документов в пару кликов. Секретарша будет на вас молится. Конечный документ А4 в 200dpi обычного вида (типа счёта с синей печатью и подписью) имеет типичный вес от 60 до 200 килобайт и формат png. Нужны установленные sane-utils и ImageMagic.

#!/bin/sh

TMP="image$$"

while true; do

scanimage \
-p \
--format tiff \
--resolution 200 \
-x 215 -y 297 \
2> ~/$TMP.tiff \
3>&1 1>&2 2>&3 \
| perl -e '$/="\r";$|=1;while(<>){s/^\D+(\d+)\D.*$/$1\n/g;print;}' \
| zenity \
--progress \
--title="Сканирование" \
--text="Сканирую изображение. Пожалуйста, подождите..."

if [ $? -eq 0 ]; then
FILE=""
while [ -z "$FILE" ]; do
FILE=`zenity \
--entry \
--title="Обработка" \
--text="Укажите имя файла для сохранения"`
done
convert $TMP.tiff -level 20%,80%,0.4 -format PNG8 -colors 8 $FILE.png
else
killall scanimage
fi

rm -f $TMP.tiff

zenity \
--question \
--title="Продолжим?" \
--text="Вы желаете продолжить сканирование? Не забудьте положить в сканер новый лист." \
|| return

done

Настройка framebuffer в Ubuntu 7.10

Для чего я себе ставил framebuffer? Объясню он мне нужен для консоли (та которая открывается по Ctrl+Alt+F(1-6)), во-первых для того чтобы поменять там разрешение на 1280х1024 (по умолчанию там 640х480), а во-вторых для просмотра фильмов именно в консоли (многие назовут это извращением, но до сих пор есть такие люди которые умудряются работать только в консоли и им этого хватает с головой) и т.п.

Итак, посмотрим, чем же отличается настройка framebuffer'а в версии 7.10 от предыдущих версий.
А вот чем...

В предыдущих версиях - framebuffer был включен по умолчанию и нам оставалось лишь добавить параметр vga=xxx в строку загрузки kernel в файле /boot/grub/menu.lst . Где xxx=цифра - специальное сочетание разрешения экрана и глубины цвета, посмотреть расшифровку можно в wikipedia.

В версии 7.10 - framebuffer выключен по умолчанию. Так что прийдется немного повозиться, чтобы включить его.

1. Открываем файл /etc/modprobe.d/blacklist-framebuffer:
#
nano /etc/modprobe.d/blacklist-framebuffer

теперь закомментируем строку:
#vesafb
и сохраняем файл.
2. Открываем файл /etc/initramfs-tools/modules:
#
nano /etc/initramfs-tools/modules

добавляем строчки:
fbcon
vesafb
и сохраняем файл.
3. Пересобираем initramfs image
#
update-initramfs -u

4. Открываем файл /boot/grub/menu.lst
#
nano /boot/grub/menu.lst

В опции ядра добавляем нужные параметры. Находим строку начинающуюся примерно на kernel /boot/vmlinuz-2.6.22-14-386 root=... . Дописываем туда параметр vga=0x31b (здесь я использовал параметр для экрана 1280х1024) Если у вас другое разрешение используйте значения из таблицы приведенной ниже:

640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32 тыс 0x310 0x313 0x316 0x319
64 тыс 0x311 0x314 0x317 0x31A
16 млн 0x312 0x315 0x318 0x31B

Если вашего разрешения нет в таблице (например, у вас широкоформатный монитор), то воспользуйтесь следующим способом:
5. Устанавливаем программу hwinfo
#
apt-get install hwinfo

6. Запускаем ее с ключем --framebuffer
#
hwinfo --framebuffer

в появившемся списке выберите нужный Mode для вашего разрешения и добавьте его в vga= , как описано выше, в четвертом пункте.

Теперь перегружаемся, переходим в консоль и лицезреем красоту.

by Leolik at 19.02.2008 10:03:18

Логи в отдельной консоли

Отсюда взято

Чтобы быстро посмотреть последние сообщения в логах - не обязательно писать в командной строке "tail /var/log/messages". Можно вместо этого выводить нужные сообщения в отдельную консоль. Для этого пропишите в файле /etc/syslog.conf

*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none /dev/tty8

Отредактируйте эти строки так, чтобы получать только нужные сообщения. У меня эта запись просто скопирована с той, что направляется в /var/log/messages. После этого перезапустите сервис syslogd или дайте ему команду перечитать конфиг.
Параметр "/dev/tty8" означает, что соответствующие сообщения будут направлены на 8-ю консоль. Теперь вы можете просто нажимать Alt+F8 (Alt+Ctrl+F8 если вы находитесь в иксах) чтобы увидеть конец лога.

Вместо "/dev/tty8" вы можете ещё написать "|/dev/xconsole" и тогда вы сможете читать лог из иксов командой "xconsole -file /dev/xconsole".
Лично я использую сразу оба варианта.

PS незабываем перезапустить syslogd