The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

[FreeBSD] make world: Как вычистить трупы? (freebsd install make_world)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, install, make_world,  (найти похожие документы)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _ From : Maxim Sobolev 2:5020/400 25 Sep 99 11:00:58 Subj : [FreeBSD] make world: Как вычистить трупы? ________________________________________________________________________________ From: Maxim Sobolev <sobomax@altavista.net> Lev Serebryakov wrote: > Поддерживаю вопрос. Если долго апдейтился с 3.0 до 3.3-STABLE через cvsup > && make world, очевидно, что в бинарниках много мусора. Hо есть, так же, > и пакаджи, которые апдейтить надобности нет. Есть ли способ выловить все > старые бинарники, которые остались в наследство от предыдущих релизов? Есть один способ. Для этого потребуется 1. Свободное место на диске (100МБ) 2. Построеный и уже проинсталенный world в /usr/obj 3. Полчаса времени Далее делаем таким образом: 1. Создаем в любом удобном месте файловой системы где есть свободные 100МБ временный каталог, например так: mkdir /tmp/world 2. Инсталлируем в эту директорию world: cd /usr/src ; make DESTDIR=/tmp/world installworld 3. Создаем листинги файлов, директорий и линков во временной директории: find /tmp/world -type f | sed 's/\/tmp\/world//' | sort > /tmp/world.f find /tmp/world -type d | sed 's/\/tmp\/world//' | sort > /tmp/world.d find /tmp/world -type l | sed 's/\/tmp\/world//' | sort > /tmp/world.l 4. Удаляем временный /tmp/world: chflags -R noschg /tmp/world/* ; rm -rf /tmp/world 5. Создаем листин файлов, директорий и линков в реальной файловой системе: find / -type f | sort > /tmp/real.f find / -type d | sort > /tmp/real.d find / -type l | sort > /tmp/real.l 6. Фильтруем из листингов /tmp/real.* все вхождения /etc, /stand, /tmp, /root, /compat, /home , /usr/local, /usr/obj, /usr/src , /usr/X11R6, /usr/ports, /proc, /dev, /mnt и любых других каталогов, неизменяющихся при установке world - например /usr/lib/aout. Hапример так cat /tmp/real.f | grep -v "/etc" | grep -v "/stand" | ......| grep -v "/mnt" > /tmp/real.f_ cat /tmp/real.d | grep -v "/etc" | grep -v "/stand" | ......| grep -v "/mnt" > /tmp/real.d_ cat /tmp/real.l | grep -v "/etc" | grep -v "/stand" | ......| grep -v "/mnt" > /tmp/real.l_ 7. С помощью diff определяем, какие файлы, директории и линки существующие на вашей файловой системе не входят в world: diff -d world.f real.f_ | grep ">" | more diff -d world.d real.d_ | grep ">" | more diff -d world.l real.l_ | grep ">" | more 8. Внимательно изучив полученные листинги смотрим, какие каталоги, файлы и линки можно удалить. При этом надо учитывать, что например поддержка aout по умолчанию не билдится и не устанавливается, поэтому если она вам нужна, то не стоит спешить с удалением /usr/libexec/ld.so, /usr/lib/aout/* и /usr/lib/compat/aout/*. Также не рекомендуется удалять /kernel, /boot.conf и другие файлы в /. 9. Чтобы убедится, что ничего лишнего не было удалено, можно сделать cd /usr/src; make installworld. У меня для этой цели есть простой скрипт, что очень облегчает всю процедуру. -Макс --- ifmail v.2.14dev3 * Origin: UkrNet News Server (2:5020/400)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:





  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor