8.6.2. Освобождение дискового пространства

8.6.2. Освобождение дискового пространства

Теперь вы знаете, как определить, сколько места займет на диске устанавливаемый пакет, и каков объем свободного пространства на диске. Рассмотрим, что можно сделать, если свободного места не достаточно. Надо заметить, что при стандартной инсталляции ОС Linux на диске образуется большое количество файлов, которые вам никогда не понадобятся. В то же время довольно трудно в огромной массе файлов найти те, которые вам не нужны (тем более, что они спрятаны глубоко в дебрях структуры каталогов). Поэтому я расскажу вкратце о своем опыте поиска ненужных файлов, надеясь, что этот опыт окажется полезен читателю.

Однажды мне пришлось устанавливать Linux (Black Cat 6.0) на 486-ой компьютер с жестким диском объемом 350 Мбайт. Хотя при установке я старался выбрать минимально возможную конфигурацию ПО, все равно после завершения установки диск оказался заполнен более чем на 90%. Перечислю вкратце те действия, которые позволили мне освободить достаточно места на диске для установки новых пакетов.

1. Первым делом стоит подумать об удалении части пакетов ПО, установленных при инсталляции системы. Для того, чтобы решить, какой пакет или пакеты можно удалить, дайте команду

[root]# rpm -qa › packages

Полученный файл packages будет содержать список всех установленных в системе пакетов ПО. Этот список можно проанализировать с целью выявления ненужных вам пакетов и удалить таковые с помощью команды rpm с параметром -e. При этом будут удалены все созданные при инсталляции пакета файлы и каталоги. Этот способ самый безопасный, поскольку программа rpm предварительно проверит, не используется ли данный пакет какой-либо другой программой, и при наличии такой зависимости выдаст соответствующее предупреждение, а удалять что-либо откажется. Отмечу только, что удаление пакетов надо выполнять с правами root.

У меня, например, в полученном таким образом файле packages встретилось упоминание пакета AfterStep-APPS-990329-2. Выполнив команду

[root]# rpm -qi AfterStep-APPS

я выяснил, что этот пакет содержит некие апплеты к оконному менеджеру AfterStep. Поскольку такой менеджер я не использовал, я удалил этот пакет, а также и сам пакет AfterStep, с помощью команд

[root]# rpm -e AfterStep

[root]# rpm -e AfterStep-APPS

Это освободило около 5800 Кбайт. Воспользовавшись таким приемом, вы можете удалить все пакеты, которые не используете. Я, например, удалил такие пакеты, как gnome-core, gnome-libs, gnome-audio, поскольку в качестве графической среды использую не Gnome, а KDE. Отмечу, что когда я попытался удалить gnome-core, программа rpm отказалась это сделать, сообщив, что часть этого пакета используется пакетом xmms-gnome. Еще больше неудовлетворенных зависимостей образуется при попытке удалить gnome-libs. Однако поскольку все упоминавшиеся в этих сообщениях пакеты так или иначе были связаны с Gnome, я рискнул удалить их все, а также другие пакеты, которые были с ними связаны[20]. В результате освободилось около 7800 Кбайт дискового пространства.

2. Заглянув в каталог /usr/man, я обнаружил два подкаталога со страницами руководства man на французском и испанском языках. После их удаления освободилось еще около 100 Кбайт.

3. В каталоге /usr/lib/kbd/keymaps можно, по-видимому, удалить подкаталоги, в которых хранятся таблицы раскладок клавиатуры, предназначенные для других типов микропроцессоров, а в /usr/lib/kbd/keymaps/i386 - подкаталоги для раскладок, отличных от qwerty.

Аналогичным образом удаляются раскладки клавиатуры для различных языков, которыми вы не пользуетесь (скажем, для китайского или тайского). Эти шрифты расположены в каталоге /usr/lib/kbd/keymaps/i386/qwerty. Можно попробовать удалить ненужные шрифта из /usr/lib/kbd/consolefonts, однако если в начале таблицы раскладки клавиатуры указывается, для какого языка она служит, то о назначении файла шрифта приходиться судить по его названию.

Поскольку по умолчанию в системе устанавливаются средства локализации для различных стран (которые вам, по-видимому, не потребуются), то можно удалить из каталога /usr/share/locale все подкаталоги, соответствующие не нужным вам языкам. Всего там около 16 Мбайт, так что удаление ненужного может дать около 15 Мбайт освобожденного пространства. Еще более 2 Мбайт может дать очистка каталогов /usr/share/i18n/locales и /usr/share/i18n/charmaps.

4. В каталоге /usr/share/doc/HTML/ имеются подкаталоги с документацией на разных языках, значительная часть которой вам, по-видимому, не нужна. Я оставил в этом каталоге только три подкаталога en, ru, default, причем последний является просто ссылкой на подкаталог en, так что фактически там осталось только 2 подкаталога. Удаление этой документации освободило около 500 Кбайт.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

3.2.1.3. Освобождение памяти: free()

Из книги автора

3.2.1.3. Освобождение памяти: free() Когда вы завершили использование памяти, «верните ее обратно», используя функцию free(). Единственный аргумент является указателем, предварительно полученным с использованием другой функции выделения. Можно (хотя это бесполезно) передать


Освобождение обработчика прерывания

Из книги автора

Освобождение обработчика прерывания Для освобождения линии прерывания необходимо вызвать функциюvoid free_irq(unsigned int irq, void *dev_id);Если указанная линия не является совместно используемой, то эта функция удаляет обработчик и запрещает линию прерывания. Если линия запроса на


Освобождение параметров

Из книги автора

Освобождение параметров int pthread_mutexattr_destroy(pthread_mutexattr_t* attr);Вызов разрушает ранее применявшийся объект - атрибутную запись мьютекса, после чего она уже не может более использоваться для инициализации мьютекса без предварительного выполнения вызова pthread_mutexattr_init().На этом


Освобождение мьютекса

Из книги автора

Освобождение мьютекса int pthread_mutex_unlock(pthread_mutex_t* mutex);Функция pthread_mutex_unlock() освобождает мьютекс, на который ссылается переменная mutex. Вызвавший поток должен быть владельцем мьютекса. Если есть потоки, блокированные в ожидании освобождения мьютекса, то поток с наивысшим


Освобождение блокировки

Из книги автора

Освобождение блокировки int pthread_rwlock_unlock(pthread_rwlock_t* rwl);Функция освобождает захваченный любым образом объект блокировки чтения/записи. Если объект был захвачен в режиме множественного использования (блокировки по чтению), то количество его освобождений должно равняться


Отчет об использовании дискового пространства

Из книги автора

Отчет об использовании дискового пространства Напишем сценарий DrivesReport.js, который будет создавать таблицу использования дискового пространства для дисков всех типов (съемных, жестких и сетевых), имеющихся на компьютере, в следующем формате: Диск: буква_диска  Метка


4.1.3 Освобождение индексов

Из книги автора

4.1.3 Освобождение индексов В том случае, когда ядро освобождает индекс (алгоритм iput, Рисунок 4.4), оно уменьшает значение счетчика ссылок для него. Если это значение становится равным 0, ядро переписывает индекс на диск в том случае, когда копия индекса в памяти отличается от


6.5.6 Освобождение области

Из книги автора

6.5.6 Освобождение области Если область не присоединена уже ни к какому процессу, она может быть освобождена ядром и возвращена в список свободных областей (Рисунок 6.25). Если область связана с индексом, ядро освобождает и индекс с помощью алгоритма iput, учитывая значение


16.2. Структура дискового раздела в ext2fs

Из книги автора

16.2. Структура дискового раздела в ext2fs Производители жестких дисков обычно поставляют свои изделия отформатированными на низком уровне. Насколько я знаю, это означает, что все дисковое пространство с помощью специальных меток разбито на "сектора", размером 512 байт. Такой


Освобождение объекта Graphics

Из книги автора

Освобождение объекта Graphics Если вы внимательно читали несколько последних страниц, то могли заметить, что в некоторых примерах программного кода непосредственно вызывается метод Dispose() объекта Graphics, тогда как в других примерах этого не делается. Поскольку тип Graphics


5.2.1. Выделение и освобождение семафоров

Из книги автора

5.2.1. Выделение и освобождение семафоров Функции semget() и semctl() выделяют и освобождают семафоры, функционируя подобно функциям shmget() и shmctl(). Первым аргументом функции semget() является ключ, идентифицирующий группу семафоров; второй аргумент — это число семафоров в группе;


11.3.3. Отображение объема свободного дискового пространства

Из книги автора

11.3.3. Отображение объема свободного дискового пространства Модуль diskfree.so (исходный текст приведен в листинге 11.8) генерирует страницу с информацией о свободном дисковом пространстве в файловых системах, смонтированных на серверном компьютере. Эта информация берется из


1.2. Производительность и объем дискового пространства

Из книги автора

1.2. Производительность и объем дискового пространства Windows 7 уже не кажется неповоротливым монстром, пожирающим системные ресурсы вашего компьютера. Тому есть две причины. Первая причина — в Microsoft действительно уделили много внимания оптимизации системы. Например,


Освобождение места на диске

Из книги автора

Освобождение места на диске Несмотря на внушительные размеры современных жестких дисков, количество свободного места на них имеет тенденцию уменьшаться до нуля, и тогда система сообщит, что свободное место на диске почти закончилось и его необходимо очистить (рис. 8.27).