См. свое исходное сообщение для всех в одной команде sed.
find . -type f -exec sed -i -e "1s/^//" {} \;
Существуют программы как Bootchart, который может использоваться для показа, какие программы Вы запустили во время запуска - можно, вероятно, сохранить его следующий за начальной загрузкой для наблюдения то, что было вызвано во время сессии.
Лучшее решение может состоять в том, чтобы использовать обновляющие инструменты.
Там обновляют инструменты для Fedora, Ubuntu и других; можно использовать их для настройки распределения.
Вы могли бы хотеть посмотреть на Крошечное Ядро Linux. Существует парень, продолжающий работать обновлять сценарий для этого также.
Среди других вещей Вы хотите удалить все, в чем Вы не нуждаетесь. Удостоверьтесь, что файловая система имеет atime
полностью включенный; можно установить это в /etc/fstab
. Текущее значение по умолчанию relatime
но Вы хотите использовать просто atime
. Каждый раз, когда к файлу получают доступ, метка времени будет обновлена. Затем сделайте некоторое использование в течение нескольких дней для наблюдения, каким файлам никогда не обновляли их atime. Я сделал бы все это в VM, и очень тщательно, потому что я предполагаю, что существует несколько файлов, которые читаются, когда система находится в режиме только для чтения.Примечание: установите его на noatime
после того как Вы готовы к производству, иначе Вы сделаете запись каждый раз, когда Вы читаете; это неэффективно.
Хотя честно говоря, я посмотрел бы на Чертовски Маленький Linux; необходимо ли действительно быть меньшими, чем это? Сборка Ваш на основе их дистрибутива и просто удаляет менеджер окон и несколько дополнительных программ. Оставьте все инструменты командной строки, тот путь, если когда-нибудь необходимо восстанавливать или перезагружать Вас, имеет оболочку.
принятие Вас использует Debian, или это - производные
После нескольких дней (тяжелого) использования, выполненного popularity-contest
. Это отобразит самые старые неиспользованные пакеты внизу. Удалите их, но зорким глазом на то, существует ли материал в зависимости от них установленным.
Вот отрывок вывода:
1294222606 1292570417 vlc /usr/lib/vlc/plugins/gui/libqt4_plugin.so
1294222606 1292570109 xulrunner-1.9.2 /usr/share/xulrunner-1.9.2/chrome/classic.jar
1294222606 1292507839 ttf-dejavu-extra /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
1294222606 1292507459 x11-utils /usr/bin/xprop
colums означают atime, ctime, имя пакета, и файл получил доступ.
Активно используйте свою систему некоторое время с включенными временами доступа к файлу. Посмотрите, каким файлам никогда не изменяли их время доступа. Это кандидаты на удаление (но удостоверьтесь, что нет причины сохранить их, например, потому что они - драйверы оборудования для аппаратных средств, которые Вы не имеете, или они необходимы рано в процессе начальной загрузки, когда корневой раздел все еще смонтирован только для чтения).
Так как у Вас будет немного больших приложений, проверьте, какими библиотеками пользуется единственный исполняемый файл. Рассмотрите соединение их статически.
ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$/\1/p' |sort |uniq -c
Где точно Вы запускаете с? Вы разделяете существующий дистрибутив? Существует ли причина, которую необходимо запустить с какого-либо дистрибутива?
Вы могли бы хотеть рассмотреть создание встроенной системы с нуля и загрузить только, что Вы знаете, что Вам нужно.