gentoolkit
gentoolkit — набор скриптов для администрирования Gentoo Linux.
Состоит из:
- eclean — Удаляет устаревшие архивы с исходными текстами и устаревшие бинарные пакеты.
- equery — Используется для выяснения принадлежности данных файлов к какому-либо пакету. Также может показать дерево зависимостей, пакеты, которым принадлежит указанный файл, пакеты с определенными USE-флагами и т.д.
- euse — Утилита конфигурации USE-флагов. Также может показать описания USE-флагов и т.д.
- glsa-check — Проверяет общую безопасность системы. Никогда не приходилось ей пользоваться, любые патчи безопасности приходят вместе с emerge.
- revdep-rebuild — Сканирует и исправляет нарушенные зависимости.
Установка: emerge gentoolkit
prelink и preload
Prelink позволяет уменьшить время загрузки приложений, связанных с множеством динамических библиотек, путем оптимизации на уровне структуры ELF файла.
Чтобы разобраться, что происходит при прелинкинге, нужно вспомнить о том, что подавляющее большинство Linux-приложений не содержит в себе весь необходимый для их работы код, а использует т.н. разделяемые библиотеки. И обычно программы при сборке связываются с такими библиотеками динамически, то есть необходимые функции вызываются из них в ходе загрузки программы. В одних случаях это происходит быстро, в других - раздражающе медленно. Печальным примером последнего является KDE - в частности, из-за громоздкости и сложности опорной библиотеки Qt, написанной на Си++. И бороться с этим перекомпиляцией и оптимизацией почти бесполезно - выигрыш в скорости не превышает нескольких процентов.
Однако операция динамического связывания программы с опорными библиотеками всегда происходит одинаково. И потому возникает предположение - а нельзя ли выполнить его раз и навсегда? Можно, и именно в этом - в сохранении библиотечных связей в исполняемом файле программы, - и заключается прелинкинг (его не следует смешивать со статической сборкой программ).
Я просто запускаю prelink -amfR (--all --conserve-memory --force --random) после каждого emerge -uavDN world.
Preload позволяет уменьшить время загрузки приложений не дожидаясь непосредственного запуска программы (эффективно для повторных запусков), за счёт загрузки в память наиболее интенсивно используемых данных. Является демоном, так что после установки добавьте его в автозагрузку.
ssh-туннели
Туннелирование ssh:
ssh -L [bind_address:]port:host:hostport hostname
Например: ssh -L 0.0.0.0:8123:10.10.10.5:80 hostname
Вешается на указанный bind_address:port локальной системы (т.е. той, с которой запускается ssh), весь трафик передает по защищенному туннелю на удаленную систему (ssh-сервер), который уже передает его на указанный host:hostport и обратно. Если bind_address не указан, то вешается на 127.0.0.1.
ssh -R [bind_address:]port:host:hostport hostname
Например: ssh -R 0.0.0.0:8123:10.10.10.5:80 hostname
Вешается на указанный bind_address:port удаленной системы (т.е. ssh-сервера), весь трафик передает по защищенному туннелю на локальную систему (ssh-клиент), который уже передает его на указанный host:hostport и обратно. Если bind_address не указан, то вешается на 127.0.0.1.
Можно указывать несколько опций -L или -R.
eix
eix - утилита для поиска по дереву портов Gentoo. Отличие от стандартного emerge -s|-S в том, что она предварительно индексирует порты (в том числе и оверлеи) и осуществляет поиск практически моментально. Также ее вывод несколько более информативен.
Установка: emerge eix
После установки запустите eix-update, чтобы создать кэш eix. В дальнейшем, при обновлении дерева пакетов, стоит использовать eix-sync вместо emerge --sync.
123456789
13 февраля, в пятницу, в 11:31:30 (по Гринвичу), значение часов Unix достигнет 1234567890. По московскому времени это произойдет в субботу 14-го, в 2:31:30.