URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 67494
[ Назад ]

Исходное сообщение
"/usr во FreeBSD"

Отправлено Doctorrr , 11-Июл-06 15:32 
Всем привет.
В наследство достался сервер, который плохо себя чувствует из-за ошибки "/usr: write failed, filesystem is full"

Подскажите пожалуйста, как можно решить проблему -- вроде бы, ничего лишнего на /usr нет, но я не могу даже установить порт:
# df .
Filesystem  1K-blocks    Used   Avail Capacity  Mounted on
/dev/ad0s1e   3045006 2964126 -162720   106%    /usr

Как можно освободить место на девайсе, или установить порты на другой раздел, чтобы они ничего не писали в /usr ??


Содержание

Сообщения в этом обсуждении
"/usr во FreeBSD"
Отправлено Nimdar , 11-Июл-06 15:45 
#du /usr/obj
#du /usr/ports/distfiles
Их можно спокойно чистить (сами каталоги не удалять!)
Ну и еще, если есть пользователи, заставить их почистить свои домашние каталоги - они обычно в /usr/home

"/usr во FreeBSD"
Отправлено Doctorrr , 11-Июл-06 18:13 
Спасибо!!

"/usr во FreeBSD"
Отправлено lavr , 11-Июл-06 17:09 
>Всем привет.
>В наследство достался сервер, который плохо себя чувствует из-за ошибки "/usr: write
>failed, filesystem is full"
>
>Подскажите пожалуйста, как можно решить проблему -- вроде бы, ничего лишнего на
>/usr нет, но я не могу даже установить порт:
># df .
>Filesystem  1K-blocks    Used   Avail Capacity  
>Mounted on
>/dev/ad0s1e   3045006 2964126 -162720   106%    
>/usr
>
>Как можно освободить место на девайсе, или установить порты на другой раздел,
>чтобы они ничего не писали в /usr ??

1. Внимательно прочитать то что написал Nimdar
2. man ports
3. почистить порты:

# cd /usr/ports
# make clean - это очень долго, можно быстрей:
# find /usr/ports/ -name "work" -exec rm -rf {} \;

4. после того как почистили /usr/ports, /usr/obj - нужно найти файловую систему где
МНОГО места и перенести туда порты: tar'ом или cpio или еще как
5. удалить /usr/ports
6. сделать линк новых портов на /usr/ports

реальный пример:

[unix1]~ > ls -la /usr/
total 54
drwxr-xr-x  16 root  wheel   512  6 июн  2005 .
drwxr-xr-x  22 root  wheel   512 15 июн 19:51 ..
drwxr-xr-x  14 root  wheel   512 18 мар  2005 X11R6
drwxr-xr-x   2 root  wheel  7168  8 июн 11:04 bin
drwxr-xr-x   3 root  wheel   512 14 мар  2005 compat
drwxr-xr-x   2 root  wheel   512  8 июн 11:03 games
drwxr-xr-x  46 root  wheel  4608  8 июн 11:02 include
drwxr-xr-x   4 root  wheel  8704  8 июн 11:04 lib
drwxr-xr-x   5 root  wheel   512 14 мар  2005 libdata
drwxr-xr-x   5 root  wheel  1536  8 июн 11:04 libexec
drwxr-xr-x  30 root  wheel   512 19 окт  2005 local
drwx------   2 root  wheel  2048 27 янв 18:16 lost+found
drwxr-xr-x   3 root  wheel   512  8 июн 10:11 obj
lrwxr-xr-x   1 root  wheel    10 30 мар  2005 ports -> /pub/ports
drwxr-xr-x   2 root  wheel  4608  8 июн 11:04 sbin
drwxr-xr-x  27 root  wheel   512 14 мар  2005 share
drwxr-xr-x  21 root  wheel  1024 26 янв 17:38 src
[unix1]~ > ls -la /pub | grep ports
drwxr-xr-x  65 root  wheel       1536 30 мар  2005 ports
[unix1]~ >

выше видим что ДЕРЕВО портов развернуто в /pub/ports и сделан линк на /usr/ports

Можно еще расширить и углубить, например очистить /usr/ports/distfiles и
держать distfiles где угодно, НО иметь выставленную переменную DISTDIR:

[unix1]~ > echo $DISTDIR
/pub/BSD/FreeBSD/ports/distfiles
[unix1]~ >

выше в качестве DISTDIR указана директория от зеркалирования ftp.freebsd.org

или переменная PORTSDIR - тогда не нужно никаких линков и переноса /usr/ports
или WRKDIRPREFIX - где создавать временные файлы/директории для сборки портов

Все это расписано в: man ports


"/usr во FreeBSD"
Отправлено Doctorrr , 11-Июл-06 18:13 
Спасибиссимо!!