eselect мусорит в файловой системе
gry 2 июня, 2010 - 16:59
Краткое гугление результатов не дало. Никто не в курсе почему eselect мусорит в файловой системе? Например, симлинки для emacs:
lrwxrwxrwx 1 root root 8 Май 31 13:26 /usr/bin/emacs -> emacs-23 lrwxrwxrwx 1 root root 20 Май 31 13:26 /usr/share/man/man1/emacs.1.bz2 -> emacs-emacs-23.1.bz2
Почему бы не сделать так чтоб eselect записывал эти симлинки в /var/db как принадлежащие пакету eselect-emacs?
С gcc дела еще хуже обстоят, для него eselect'а нет. И мусорит он не симлинками.
»
- Для комментирования войдите или зарегистрируйтесь
гм вы серьезно?) к слову а
гм вы серьезно?)
к слову а если у вас бинарник emacs будет менять версию вы будите каждый раз "вспоминать" какую версию использовать?
man gcc-config и ради бога почитайте немного handbook emerge --depclean чистит мусор....
Или я что-то недопер и симлинки остаются после удаления пакета?
semlanik написал(а): гм вы
я ж не сказал что эти ссылки не нужны, они обязательно нужны, но они должны принадлежать какому-нибудь пакету(видимо соответствующему eselect-*). Это нужно для того, чтоб при удалении emacs у меня эти симлинки удалились, а не остались в виде мусора.
Каким образом emerge --depclean может удалить какие-либо файлы не принадлежащие ни к какому пакету?
последнее относилось к gcc,
последнее относилось к gcc, думал жалуетесь на лишние версии, вы кстати уверены что файлики никому не принадлежат в gcc и в целом не нужны?
Насчет симлинков имхо это скорее проблема emerge. Попробуйте emerge -v emacs опцией посмотреть кто их создает. имхо eselect их меняет, а emerge может и не удалить файлы которые поменяла другая программа. в общем действительно кривовато....
для прояснения ситуации можно
для прояснения ситуации можно воспользоваться вот такой штукой:
это выведет список файлов в /usr/bin, которые не принадлежат ни к какому пакету.
Среди них можно найти например файл /usr/bin/emacs который создался eselect emacs ...
И куча файлов от gcc-config, например /usr/bin/g++
Эти файлы действительно не принадлежат ни к какому пакету.
ну без g++ ваша система
ну без g++ ваша система теоретически - нежелец. так что на него грешить не надо, его удалять в любом случае врядли придется.)
я вполне могу на нетбуке
я вполне могу на нетбуке например удалить gcc, собирать пакеты на другом компе и устанавливать их в виде бинарников, в любом случае к делу это отношения не имеет
А ты пробовал ? :) а то как
А ты пробовал ? :)
а то как бы libstdc++ это пакет gcc
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
emerge app-misc/symlinks
И спокойно удаляете симлинки, "свободно висящие" в пустоте.
Хотя можно и find'ом... Тока я как-то побаиваюсь.
не пробовал) это было
не пробовал) это было теоретическое умозаключение) ну вобщем не важно, может и нельзя
Вобщем фиг с ним с gcc, но
Вобщем фиг с ним с gcc, но eselect то вполне мне кажется возможным улучшить. В итоге никто так и не сказал не видел ли каких-нибудь обсуждений по этому поводу?
Нас же хлебом не корми дай
Нас же хлебом не корми дай поспорить ;) На самом деле имхо это баг. и вполне правомерно написать в багзиллу, на gcc не стоит, а вот в емаксом косяк. Может разработчики чего умного скажут.
Вобщем, при удалении пакетов
Вобщем, при удалении пакетов вроде emacs или ruby симлинки таки удаляются, а сделано это для каждого пакета своим костылем, например:
ну и понятное дело, что время от времени из за ошибок разработчиков некоторые файлы таки будут оставаться в системе на совсем. видел на багзилле несколько багов вроде eselect-... stale symlink ...