LINUX.ORG.RU

Чистка слаки


0

0

Каким образом можно отыскать файлы (бинарники, либы, исходники), которые давно не использовались/не вызывались и более в системе не нужны? Реально ли это сделать? Раньше я не юзал слакбилды и пакеты и все компилил в кучу... Сейчас хочется грохнуть все левые либы/пакеты, которые не входят в состав слаки.

Или легче накатить на форматированный диск новую слаку и перенести конфиги и БД юзеров, групп...

★★★

debian

aptitude и deborphan спасут тебя.

Turbid ★★★★★ ()

Сдалась вам эта слака, тот же кракс и то юзабельней на десткопе.

Deleted ()
Ответ на: комментарий от sin_a

Сейчас набегут патриколюбы и расскажут что мы не умеем готовить слаку, что там есть пакеты с зависимостями и т.п. или что это таки никому не нужно.

Turbid ★★★★★ ()

Ну я бы для начала посмотрел что предложит slackpkg clean-system. Потом вариантов достаточно много, но придётся писать скрипты. Я бы прошёлся по /var/adm/packages /var/adm/scrips и сравнил с текущим MANIFEST. Можно слепок системы (find) прогрепать пофайлово по содержимому /var/adm/scrips /var/adm/packages и грохнуть всё что не входит в пакетную базу (если устанавливал что-то мимо pkgtools). Ну как то так.

tux2002 ()

Если ты не знаешь, куда залегли исходники - это печально. Касательно установленных файлов - либо ты а) нароешь как-то список бинарных пакетов, соответствующих накомпиленному тобой и каждый файл в системе будешь сопоставлять пакету, а оставшихся сирот предашь эвтаназии; либо б) поскольку твоя компиляция скорее всего отличается от соответствующего бинарника в репах, возьмёшь каждый исходник в аутентичной версии и скомпилишь в точности как раньше под управлением checkinstall, например.

Зато будешь ТРУЪ красноглазый :)

Xenesz ★★★★ ()
Ответ на: комментарий от tux2002

PS slackpkg на 100% доверять не советую. Лично я за ним наблюдал много странностей. Вот кусочек моего скрипта, которому я доверяю больше


HOMEDIR="/usr/src/somedir"
MIRROR="http://slackware.mirrors.tds.net/pub/slackware/slackware-current"
  echo "===Starting update==="
  #Подготовка
  mkdir -p $HOMEDIR
  mkdir -p $HOMEDIR/sources
  mkdir -p $HOMEDIR/db
  mkdir -p $HOMEDIR/packages
  mkdir -p $HOMEDIR/tmp
  cd $HOMEDIR/db
  rm $HOMEDIR/db/MANIFEST*
  wget $MIRROR/slackware/MANIFEST.bz2
  bunzip2 $HOMEDIR/db/MANIFEST.bz2



  #Пути на зеркале относительно sources
  cat $HOMEDIR/db/MANIFEST | grep "^||\W*Package:.*$" | sed s/"||\W*Package:\W*\."//   > $HOMEDIR/db/MIRRORPKGPATH
  #Пакеты на зеркале без учёта ARCH
  cat $HOMEDIR/db/MIRRORPKGPATH | sed s/"^\/\w*\/\(.*\)\.t.z$/\1/" | sed "s/\(.*\)-\w*-\([^-]$\)/\1-\2/" > $HOMEDIR/db/MIRRORPKG
  #Дополнительная обработка путей
  sed -i "s/-[^-]*-\w*-\w*\.\w*$//" $HOMEDIR/db/MIRRORPKGPATH
  touch  $HOMEDIR/db/ALREADYPKG
  #Проход по пакетам
  echo "===Package to upgrade==="
  ls /var/adm/packages | sed "s/\(.*\)-\w*-\([^-]$\)/\1-\2/" | while read pkg
  do
    grep "$pkg" $HOMEDIR/db/MIRRORPKG > /dev/null
    if [ $? != 0 ]
    then
      pkgshort=`echo $pkg | sed "s/-[^-]*-\w*$//"`
      mirrorpkg=`grep "$pkgshort-" $HOMEDIR/db/MIRRORPKG`
      if [ -z "$mirrorpkg" ]
      then
        echo "$pkg MISSING in mirror packages"
      else
#        grep "$pkgshort" $CONFDIR/blacklist > /dev/null
#        if [ $? == 0 ]
#        then
#          echo "$pkg BLACKLISTED"
#        else
          echo "$pkg NEED upgrade to $mirrorpkg CMD:slackbuild upgrade $pkgshort"
#        fi
      fi
    fi
  done

tux2002 ()
Ответ на: комментарий от Turbid

Сообщение изначальное прочитай, а потом уже красный свет включай в глазах :) От make install ни один дистрибутив/пакетный менеджер на убережёт.

Deleted ()
Ответ на: комментарий от Deleted

ни разу не делал, 4 года пользуюсь debian. пару раз пришлось сделать checkinstall, до того пока не нашел репы на нужный софт. до этого была слака, да.

Turbid ★★★★★ ()
$ find /bin /etc /lib /lib64 /opt /sbin /usr -type f | sort >local-files

$ for pkg in /var/log/packages/*; do perl -ne 'while(<>){last if /^FILE LIST:/};while(<>){s/\.new$//;s/^\.\///;print"/$_" unless /^(install|dev|boot)/ || /\/$/ || /^$/}' <$pkg; done | sort -u >slack-files

$ diff local-files slack-files

как-то так ;)

arsi ★★★★★ ()
Ответ на: комментарий от tux2002

Грохнуть всё и установить начисто. (Восстановить нужное из бэкапа)

ip1981 ☆☆ ()
Ответ на: комментарий от Deleted

От make install ни один дистрибутив/пакетный менеджер на убережёт.

Можно проверить любой файл на вхождение в пакет (в слаке). Дело техники.

tux2002 ()
Ответ на: комментарий от Deleted

>От make install ни один дистрибутив/пакетный менеджер на убережёт.

checkinstall же!

Biga ()
Ответ на: комментарий от Deleted

>От make install ни один дистрибутив/пакетный менеджер на убережёт.

убережёт, в нормальных дистрибутивах есть checkinstall

thunar ★★★★★ ()

удалить все файлы за исключением файлов описанных в файлах /var/log/packages
Все чекинсталлисты идут лесом, slacktrack куда лучше.

splinter ★★★★★ ()
Ответ на: комментарий от init_

в файле UPGRADE.TXT есть пример как после обновления сменить все .conf.new на .conf по нему можно и сделать. find, grep вам поможет :-)

splinter ★★★★★ ()

Нафик было делать make install.

Я всё в пакеты заварачиваю.

А особые программы ставлю в $HOME с помощью

make install DESTDIR=`pwd`/SPECDESTDIR

greatpower ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.