Необходимые вещи
По аналогии с suckless-tools, у меня накопился свой список "маленького, но незаменимого" софта. Делюсь:
- at -- Планировщик. Иногда бывает полезно повесить какое-то разовое задание на определённое время. Пример - докачка чего-то толстого из сети, и выключение компа примерно тогда, когда оно должно завершиться. Ещё сюда же входит batch -- для того спеифического случая, когда нужно выполнить много ресурсоёмких (cpu) задач, за возможно более короткое время. Пример - кодирование разных видеофайлов. Все сразу пускать нельзя, дисковая обидится, и первых результатов хочется возможно быстрее. См. также task-spooler
- burp -- Очень удобная система бэкапов. Минимум зависимостей, гибкие настройки, возможность создания бэкапов "по возможности" (timed backup).
- ctags (+vim) -- Подсветка синтаксиса. Писать скрипты намного приятнее, когда вывод раскрашивается, скобки подсвечиваются, а содержимое кавычек выделяется другим цветом.
- debfoster -- Чистка системы после экспериментов. Аккуратно разбирает граф зависимостей "сверху", показывая "кто что держит". Самую засранную систему можно привести в первоначальный вид за полчаса (хотя против установки через слака-вей - нет приёма, да).
- htop -- top, но с интегрированным tree-view, знающим про отличия thread/fork, и тот факт, что cpuload бывает не только user.
- links -- из консольных браузеров - самый вменяемый движок рендеринга, верстка практически не едет (привет w3m!).
- localepurge -- Чистка неиспользуемых локалей, могущих жрать до гигабайта места. Очень полезно для минимальных систем.
- ncdu -- Отвечает на вопрос "где всё место в /var, блжад??" и ему подобные. Очень удобна для чистки логов и мусора на файлопомойке.
- pv -- Тот кто пользовался dd хотя бы пару раз - думал о возможности прикрутить к нему progressbar. Их есть у меня! Эта утилитка показывает размер и скорость прокачиваемых через пайп данных. В сочетании с netcat/tarpipe - вещь очень полезная для перекидывания данных с минимальным оверхедом, в том числе по сети.
- task-spooler -- менеджер очереди. В отличие от at+batch не полагается на avgload, а тупо выполняет их по очереди/в несколько потоков. Очередью можно управлять, добавляя/снимая слоты, двигая задания в очереди.
- runit -- Supervisor. Эта штука, наблюдающая за процессами, перезапуская их при необходимости. К ней легко довешивается сохранение логов (с авторотацией), если приложение может их выдавать на stdout/stderr. Может частично заменять cron (задача вида "запустить скрипт через X минут после завершения предыдущего запуска" в классическом кроне не решается, а здесь пожалуйста - sleep N в начале или конце ./run - и вуаля). См также s6.
- tmux -- Консольный оконный менеджер. Если screen - это "запустить/отцепить/отключиться", то здесь почти можно жить. С плагином tmux-ressurect - вообще шикарно.
- tudu -- Список дел. Есть tree-view, приоритеты, прогресс выполнения, время дедлайна, описание задачи. См также taskwarrior.