Советы по минимизации дискового пространства, занимаемого Linux при инсталляции

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


Вступление


У меня есть ноутбук, я установил на него Linux, хотя там есть еще и Windows 95. Я сделал раздел Windows равным 500 Мб, остальные 240 Мб оставил под Linux. Звучит обыденно, но я установил почти весь Linux Red Hat 4.1 и использовал массу ухищрений для того, чтобы хватило места.


Если у вас проблема со свободным местом, то следуя советам этого документа можно высвободить большую его часть. Но если вы на это решились, не обвиняйте меня, если что-то пойдет не так! Мы будем использовать пару программ, которые у меня работают превосходно, но являются очень опасными. Я вас предупредил.


Требования к программному обеспечению


Вам нужны:



- полностью рабочая система Linux (без разницы, какая версия);


- общий для всех архиватор gzip, или bzip2, который можно найти по адресу ftp://sunsite.unc.edu:/pub/Linux/utils/compress; эта программа сжимает лучше, чем gzip, но работает медленнее и требует больше памяти;


- упаковщик исполняемых файлов upx, домашняя страничка находится на http://cdata.tvnet.hu/~ml/upx.html и http://wildsau.idv.uni-linz.ac.at/mfx/upx.html;



- архив библиотеки zlibc можно раздобыть на ftp://sunsite.unc.edu:/pub/Linux/libs/compression. Он называется zlibc-X.X.tar.gz, где X.X номер последней версии.


Есть и другие упаковщики исполняемых файлов. Один из них gzexe (забудьте о нем), другой tcx, который был, пожалуй, лучшим до upx; еще tzx, который теоретически лучше tcx. Но дело в том, что эта программа все перепутала, хотя я не уверен в том. что допустил какую-то ошибку. Вам лучше пользоваться upx: - он более надежен, эффективен и прост.


Есть патчи, ядра которые реализуют прозрачное сжатие файлов, аналогично Stacker, но ни один из них не имеет репутации стабильного и надежного. Поэтому держитесь от них подальше.


Удаление исходных текстов ядра


Исходные тексты ядра занимают более 20 Мб, и, скорее всего, вы захотите их удалить. Если так, то откомпилируйте новое ядро, которое будет работать с вашей машиной, и освободитесь от исходных текстов.



Я НЕ советую удалять исходные тексты ядра до тех пор, пока вы не удостоверитесь, что система правильно установлена . Кроме того, вам понадобятся #includes ядра для того, чтобы компилировать программы на C. Подумайте дважды... !


Если вы все же на это решились, не удаляйте дерево include/linux, если собираетесь когда-нибудь компилировать приложения на своей машине.


Удаление приложений


Теперь решите, какие приложения вам на самом деле необходимы. Некоторые могут оказаться излишествами: например, уверены ли вы в том, что вам очень нужен emacs? Вместо него можно использовать jed.



От вас зависит, что оставлять, а что удалять. Несколько основных правил:


- gcc - довольно большой файл. Он используется для компиляции ядра и всех пакетов Linux, у которых есть исходные тексты. Разумеется, он вам понадобится, если вы будете писать собственные программы на C или Fortran (с f2c или g77); поэтому определитесь с вашими потребностями, перед тем как удалить его. Другие компиляторы, например lcc, неплохи, но их уровень ниже, чем у gcc. Поэтому я бы оставил этот файл;


- X11 еще больше, но это вещь, которую хотелось бы иметь под рукой. Если вы решились его удалить, то не удаляйте все, постарайтесь обойтись необходимым минимумом: нужный Х-сервер, один простенький менеджер окон, единственный xterm, никаких шрифтов на 100 dpi, и т.п.;


- TeX и сопутствующие программы занимают большой объем. Уход от LaTeX и переход на чистый TeX сэкономит много места; это же дает удаление программ предварительного просмотра в X11, таких как xdvi и ghostview, и, возможно, если у вас есть dvitty, dvivga или некоторые им подобные. Если у вас нет необходимости в файлах формата dvi, то, в принципе, вам не нужен X11;


- игры никогда не являются "необходимостью".


Удаление вспомогательной информации из программ



Давайте приступим к уменьшению объема программ. Перейдите в /usr/bin и наберите команду


machine:/usr/bin# strip *

которая удалит все символы, не относящиеся к телу программы. Повторите это действие в /usr/X11R6/bin/ и других каталогах, содержащих исполняемые программы (не забывайте про программы TeX и gcc), но не делайте этого в /sbin, /bin, или /usr/sbin/ если дорожите тем, что у вас установлено!


Сжатие при помощи upx


Сначала, установите upx и прочтите документацию к нему. Затем перейдите в /usr/bin и запустите там команду upx *; он закомпрессирует все исполняемые файлы, включая и те, у которых установлен бит suid (tcx этого бы не сделал).Повторите эти действия во всех каталогах, описанных выше.


Помните, что надо архивировать все исполняемые файлы всякий раз, когда вы устанавливаете новую программу!


Архивирование других видов файлов при помощи Gzip



Есть множество других файлов, которые можно заархивировать раз и на всегда. Начнем с /usr/doc/; перейдите в этот каталог и наберите команду


machine:/usr/doc# find . -type f -exec gzip -9 {} ; 2> /dev/null

Помните, что надо архивировать документацию всякий раз, когда вы устанавливаете новую программу!


Повторите эти действия в каталогах, содержащих документацию по TeX (на моей машине, /usr/lib/texmf/texmf/doc/. Если вы действительно уверены в своих действиях, то вы просто можете удалить все эти каталоги.


Теперь установите zlibc и откомпилируйте ее. Если у вас такая же система, как и у меня, то процесс компиляции не завершится со ссылкой на отсутствие (статической версии) libc. Не обращайте на это внимания, вы найдете файл под названием uncompress.o Это то, что нам надо. Переместите его в /usr/local/lib/ и добавьте следующую строку в ваш /etc/profile:


export LD_ELF_PRELOAD=/usr/local/lib/uncompress.o

теперь, при помощи gzip можно архивировать не только файлы с документацией, но и с данными: программы, которые их используют смогут обращаться к ним. В теории, этот метод может работать с большинством программ, но на практике это не всегда получается. Моя попытка сделать это, так и не увенчалась успехом.


Пример из моей практики



Это то, что получилось после применения описанной процедуры на одной из машин. До процедуры, df сообщил, что я использую 398,798 блоков по 1024 байт:



  • Я не удалил исходные тексты ядра и его заголовки;
  • Я затер несколько приложений и все игры, но оставил X11, пакет для разработки программ под X11, пакеты для C и Fortran, Tcl/Tk, сетевые утилиты, и еще несколько стандартных приложений. После этого df сообщил, что я использую 244,668 блоков;
  • Я поработал upx в /usr/bin, /usr/X11R6/bin, /usr/lib/texmf/bin/i586-linux, и /usr/lib/gcc-lib/i386-linux/2.7.2.1. осталось 226,270 блоков;
  • Я сжал документацию в /usr/doc и /usr/lib/texmf/texmf/doc: использовалось 198,745 блоков.


Если посмотреть на результаты, то я начал с 398,798 блоками, а закончил с 198,745. Помечтайте, сколько всего вы можете разместить в этих 200,000 пустых блоках! Я бы освободил еще больше места, если бы использовал bzip2, вместо gzip.


В заключении, можно сказать, что если вы с самого начала будете аккуратны и будете устанавливать только нужные программы, архивировать исполнительные программы и документацию, то высвободите около 20 Мб. На ноутбуке это может быть жизненно необходимо.



Источник - SWSoft Pte Ltd

Автор - Неизвестен

Похожие новости

Комментариев 0