LINUX.ORG.RU

[genloo] удалять битые симлинки из /usr


0

0

Добрый день.

Я заметил, что в моей системе есть битые симлинки в /usr.

# find /usr/ -type l -follow
/usr/bin/i686-pc-linux-gnu-cpp-4.1.1
/usr/bin/i686-pc-linux-gnu-c++-4.1.1
/usr/bin/esearch
/usr/bin/gfortran-4.1.1
/usr/bin/cpp-4.1.1
/usr/bin/i686-pc-linux-gnu-g++-4.1.1
/usr/bin/i686-pc-linux-gnu-gcc-4.1.1
/usr/bin/c++-4.1.1
/usr/bin/i686-pc-linux-gnu-g...

это только начало списка, находит много, в том числе

/usr/i486-pc-linux-gnu/lib/libopcodes.la
/usr/i486-pc-linux-gnu/lib/libopcodes.so
/usr/i486-pc-linux-gnu/lib/libbfd-2.16.1.so
/usr/i486-pc-linux-gnu/lib/libopcodes-2.16.1.so
/usr/i486-pc-linux-gnu/lib/libopcodes.a
/usr/i486-pc-linux-gnu/lib/libiberty.a
. Мне битые симлинки не нужны, и при ls /usr они выглядят ужасно. Можно ли их просто взять и удалить или найдутся пакеты, которые начнут ругаться?

★★

или найдутся пакеты, которые начнут ругаться?

Чтобы посмотреть, какой файл к какому пакету относится (нужен пакет app-portage/portage-utils):

q file /path/to/some/file
Для того, чтобы получить список всех файлов в системе, которые не принадлежат ни одному пакету, можно использовать скрипт findcruft (погугли).

Если твои битые симлинки никому не принадлежат - удаляй.

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

> Пользуюсь утилитой: symlinks

спасибо, но, боюсь, она не сделает для меня больше, чем find

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

а если принадлежат?

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

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

Спасибо, скрипт помог. Признал все мои дохлые симлинки ничьими и предложил удалить.

name_no ★★
() автор топика
Ответ на: комментарий от dm1024

Гента такая неаккуратная, фу.

Такое ЕМНИП было в старых стейджах из-за того, что emerge не учитывал некоторый хлам, который создавали автолулзы. Возможно ошибаюсь.

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