У меня есть сервер Ubuntu 12.10, который в основном используется как файловый сервер + маршрутизатор. Некоторое время назад он начал вести себя очень странно, например, передача файлов с сервера Samba по каналу 1 ГБ/с становится очень медленной (менее 1 МБ/с)
После некоторых исследований и экспериментов с сетью я обнаружил, что раздел / занят на 100%.
Filesystem Size Used Avail Use% Mounted on
/dev/md1 3.1G 3.1G 0 100% /
/dev/sda1 105M 144k 104M 1% /boot/efi
/dev/md2 52G 1.5G 48G 3% /usr
/dev/md4 52G 13G 37G 26% /home
/dev/md5 21G 181M 20G 1% /tmp
/dev/md3 155G 824M 147G 1% /var
/dev/md6 21G 437M 20G 3% /var/log
Это проблема, и я думаю, что решить ее можно, переместив папку /lib (2.3G) в другой каталог и монтируя ее при загрузке. Система установлена на программном raid0, поэтому переразметка будет очень сложной, как я считаю.
- Является ли это корнем сетевых проблем?
С какими проблемами я столкнусь, если попытаюсь сделать что-то вродеrsync/lib
папку в/home/root/lib
?Могу ли я объединить содержимое/lib
и/home/lib
затем смонтировать последнее в/lib
?
PS Интересно, как так получилось. Когда я разбивал диск, я думал, что все программы будут установлены в /home, или в пользовательские папки, которые я сделал достаточно большими... Где можно почитать о том, какие разделы используются для каких программ?
отредактировано: ВсайтЯ нашел:
«Каталоги /bin, /lib и /etc никогда не должны быть отдельными разделами! Во время загрузки изначально монтируется только /. Программе init необходим доступ к файлам в /etc, а сценариям загрузки необходим доступ к командам в /bin, которые могут зависеть от файлов в /lib. Модули ядра, необходимые для завершения процесса загрузки, также хранятся в /lib.
Итак, я не могу перейти /lib
на другой раздел. Могу ли я очистить его или что-то еще?
/lib/modules содержит:
3.5.0-17-generic 3.5.0-26-generic 3.5.0-30-generic 3.5.0-34-generic 3.5.0-40-generic
3.5.0-23-generic 3.5.0-27-generic 3.5.0-31-generic 3.5.0-37-generic 3.5.0-41-generic
3.5.0-25-generic 3.5.0-28-generic 3.5.0-32-generic 3.5.0-39-generic 3.5.0-42-generic
Нужны ли мне все эти файлы?
решение1
Кажется правдоподобным, что ваши пятнадцать установленных ядер занимают слишком много места в вашей корневой ( /
) файловой системе. Вы можете удалить их с помощью dpkg
команды, по крайней мере, предполагая, что вы можете загрузиться и войти в систему. Используйте опцию -P
, как в:
sudo dpkg -P linux-image-3.5.0-17-generic
Удалите самые старые ядра (если только у вас нет проблем с более новыми ядрами, в этом случае следует удалить наименее надежные).
Вы также можете отслеживать, где используется пространство, с помощью du
команды, например:
du -sx /* | sort -n
Обратите внимание, что это займет некоторое время, но может привести к некоторым ошибкам, прежде чем завершится. Игнорируйте ошибки. Команда сгенерирует отсортированный список каталогов в соответствии с тем, сколько места они занимают, с самыми большими в конце списка. Затем вы можете перейти в больший из этих каталогов, как в:
du -sx /var/* | sort -n
В этом примере будут показаны подкаталоги /var
в соответствии с используемым дисковым пространством. Когда вы обнаружите, где потребляется дисковое пространство, исследуйте рассматриваемый каталог или каталоги или, возможно, отдельные файлы, которые занимают так много места. Некоторые из них могут законно потреблять много места, например, почтовый спул, если компьютер функционирует как почтовый сервер. Другие могут быть заполнены временными файлами (как большинство файлов в /tmp
), или могут иметь файлы, которые стали слишком большими (например, раздутые файлы журналов в /var/log
). Каждая из этих проблем должна решаться своим собственным способом.
Помимо этого, ваши разделы имеют неправильный размер. Linux размещает большинство программных файлов в /usr
, но этому каталогу/разделу редко требуется больше, чем около 10 ГБ пространства, а часто и половина или меньше этого. В большинстве систем эти файлы редко изменяются, за исключением случаев обновления пакетов или установки. /
Однако некоторые другие подкаталоги корневого ( ) раздела содержат временные или динамические файлы, такие как /tmp
(используется для временных файлов, которые часто могут быть большими) и файлы журналов в /var/log
. Таким образом, часто бывает разумно создать значительное дополнительное пространство в корневом ( /
) разделе. Фактически, обычно оставляют /usr
как обычный подкаталог корневого ( /
) раздела и делают последний чем-то между 10-30 ГБ.
Каталог /home
содержит пользовательские файлы. Он редко содержит файлы программ, за исключением программного обеспечения, которое пишут сами пользователи. На большинстве настольных систем /home
будет относительно большим, так как он будет содержать цифровые фотографии, MP3, MPEG или другие аудио/видео файлы, файлы образов дисков и т. д. Все они могут быть довольно большими. Однако детали различаются от компьютера к компьютеру.
решение2
Лучшим вариантом для освобождения места будет удаление старых версий ядра, которые вам больше не нужны. Чтобы сделать это, следуйте этому превосходному и обширному руководству в предыдущем ответе (пожалуйста, посетите и поставьте лайк):
https://askubuntu.com/a/100953/130555
Сюда входят методы оболочки, а также графические методы удаления старых версий. Пожалуйста, помните о рекомендации (с которой я согласен) сохранять 2 или 3 старые ревизии. Обновления хорошо протестированы, но вы всегда хотите иметь возможность вернуться к предыдущим работающим версиям, если что-то пойдет не так.