|
Программирование
On-line приложения
Почитать
Web-сервер Apache
Печать и форматирование
MySQL
Разные рецепты
Сборка/установка
Справки
Философия
Мой опыт
Скачать
Программы на Tcl/Tk (GUI)
Программы на Python/Tk (GUI)
Программы (CLI)
Help
Хобби
Фракталы
on-line
Язык для рисования фракталов
Гиперкуб
Теория относительности
Ампуллярии
Преподавание
Студенту/абитуриенту
Мой опыт
Автора!
|
Утилиты и приёмыЗдесь я собрал небольшую коллекцию информационных и вспомогательных утилит и различных приёмов, которые бывают очень полезны, но пользуешься ими редко и названия и ключи забываются забываются. (Честно говоря, информация стала уже слишком разношёрстна, надо бы её уже разделить на несколько страниц, но всё руки не дойдут.) Синхронизация времени по NTPntpdate 2.ru.pool.ntp.org ssh, ssh-keygen, scp, opensslУдалённый запуск программДопустим надо запустить программу от пользователя ssh script@down /usr/home/script/bin/prog --prog-params Единственный «недостаток» у вас каждый раз будет запрашиваться пароль. Чтобы включить авторизацию по открытому ключу, а не по паролю делаем следующие простые действия. ssh, авторизация по ключу, а не по паролюЕсли у вас нет открытого ключа, то создаём его: cd ~/.ssh ssh-keygen -t dsa Теперь у вас есть открытый ключ. Заходим на удалённый хост и добавляем ваш ключ к списку авторизованных ключей: ssh script@down # у вас запросят пароль scp you@yourhost:~/.ssh/id_dsa.pub ~/.ssh/temp cat ~/.ssh/temp >> ~/.ssh/authorized_keys rm ~/.ssh/temp Теперь Генерация паролейОчень удобный способ генерации паролей: openssl rand -base64 24 Генерация md5-суммыДля генерации md5-сумм существуют отдельные утилиты
(под FreeBSD — openssl md5 файл ШифрованиеЗашифровать файл: openssl enc -aes-256-cbc -salt -in входной_файл -out зашифрованный_файл Эта команда дважды спросит пароль для шифрования. openssl enc -d -aes-256-cbc -in зашифрованный_файл -out расшифрованный_файл Спросит пароль. Того же самого эффекта можно доиться, управляя стандартными потоками: # шифруем openssl enc -aes-256-cbc -salt < входной_файл > зашифрованный_файл # расшифровываем openssl enc -d -aes-256-cbc < зашифрованный_файл > расшифрованный_файл Полезный пример: # создаём защищённый паролем tar-архив tar czf - your_dir | openssl enc -aes-256-cbc -salt >file.tgz # распаковываем этот архив openssl enc -d -aes-256-cbc < file.tgz | tar xzf - КонсольБывает, что перестают работать консоли, выдаётся сообщение вида: subshell.c: read (subshell_pty...): No such file or directory Решается проблема просто: killall -CONT bash Создание patch'ейСоздать patch: diff старый_файл новый_файл > patch_файл Наложить patch: patch старый_файл patch_файл Естественно порядок файлов везде важен. FreeBSD/Linux md5/md5sumВо FreeBSD и в Linux есть две утилиты для подсчёта md5-сумм файлов. Они выдают один а тот же результат, но в несколько разном формате, что очень неудобно, если надо сравнить файлы (по суммам), лежащие на Linux и FreeBSD машинах. Поэтому для каждой системы я написал маленький скрипт, эмитирующий поведение недостающей утилиты. Для FreeBSD — !/bin/sh md5 -- "$@" | sed -E 's/^MD5 \((.*)\) = ([^[:space:]]+)/\2 \1/' Для Linux — #!/bin/sh md5sum -- "$@" | sed -r 's/^(\S+)\s+(\S+)/MD5 (\2) = \1/' Они, конечно, не позволяют использовать ключи командной строки, но обычно это как раз то, что нужно. Информационные утилитыXorgПри настройке оконного интерфейса (оконного менеджера)
часто оказывается необходима
информация об окнах того или иного приложения. Получить её можно
двумя командами При настройке обработки событий (клавиатура/мышь) очень
полезна бывает утилита ЯдроПосмотреть настройки ядра: Посмотреть, что значат все эти переменные: Посмотреть сообщения ядра: Посмотреть окружение ядра (hint'ы): Информация о ядре и загруженных модулях: Нагрузка на дискиОчень полезная утилита /usr/local/sbin/smartctl -a /dev/ad4 выдаст полную информацию по указанному диску, вот лишь, некоторые поля: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 100 100 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0007 253 253 025 Pre-fail Always - 5760 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 77 7 Seek_Error_Rate 0x000f 253 253 051 Pre-fail Always - 0 8 Seek_Time_Performance 0x0025 253 253 015 Pre-fail Offline - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 5899 10 Spin_Retry_Count 0x0033 253 253 051 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 61 194 Temperature_Celsius 0x0022 050 043 000 Old_age Always - 50 196 Reallocated_Event_Count 0x0032 253 253 000 Old_age Always - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x000a 100 100 000 Old_age Always - 0 201 Soft_Read_Error_Rate 0x000a 100 100 000 Old_age Always - 0 202 TA_Increase_Count 0x0032 253 253 000 Old_age Always - 0 На самом деле информации выдаётся на много больше. Информация о нагрузке на диски в реальном масштабе времени:
Информация о swap'e: Информация о всех открытых файлах Есть ещё СетьО сети При отладке новых интерфейсов полезна Для прослушивания трафика очень полезна утилита Разное, но полезноеОчень полезная утилита Посмотреть, от каких библиотек зависит исполняемый файл: ldd -f '%p\n' -a /usr/local/bin/mc | sort | uniq Список локалей: Очень полезен мониторчик Тем, кто активно пользуется MySQL очень понравится
Программа бывает так полезна, что я не удержался и написал свой аналог этой программы, который ещё менее прихотлив и умеет издавать звуки при завершении обработки запросов. |
|
|
|