LINUX.ORG.RU
ФорумTalks

Лоровец-гентушник, а ты чистишь свои distfiles?

 , , , патологическое накопительство


0

1

навеяно этим тредом Gentoo, emerge, package not found. и аналогичным раньше, когда у меня внезапно обнаруживался файлик, которого уже нет по официальному адресу

С одной стороны гента у меня с 2010 года, с тех пор /usr/portage/distfiles разросся до 47G (иногда я что-то ненужное удалял вручную) и надо бы почистить древние архивы исходников.

С другой стороны, оно уже имеет историческую ценность, ибо многое оттуда может быть не очень доступно в интернетах. А вдруг кому-то понадобится в будущем, или мне :)

★★★★★

Конечно да. Хранить кучу версий исходников ядер, браузероа, DE, компиляторов смысла нет. Если нужна будет старая версия, то её архив можно найти, или достать аналогичный из системы контроля версий разработчика. Если разработчик забросил, то надо подготовить место получше, чем в локальных distfiles.

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

В бинарных дистрах тоже есть кэш пакетов

Deleted
()

многое оттуда может быть не очень доступно в интернетах

более того, зачастую даже актуальные версии пакетов не всегда доступны. это особенно ощутимо при ребилде мира или больших мета-пакетов вроде mate. начиная глюками DNS (не локального), что хост ссылается на какой-нибудь 192.168, заканчивая банально некорректной ссылкой в source. поэтому при пересборке мира сперва нужно подтянуть все сорцы, а уже затем пересобирать.

for pkg in $(prt-get listinst); do cd /usr/ports/*/$pkg && pkgmk --download-only; done для CRUX, а как в Gentoo хз.

я удивлён, почему ещё дистромейкеры не имеют своих локальных зеркал с сорцами всех пакетов.

Spoofing ★★★★★
()

Надо бы почистить, но мне не жалко отдать 15-20 гигов на дистфайлы чем потом искать в тырнете.

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

поэтому при пересборке мира сперва нужно подтянуть все сорцы, а уже затем пересобирать.

Пользуюсь аналогичным советом для генты.

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

Работать руками веселее ведь.

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

а как в Gentoo хз.

 
Usage:
 eclean-dist [global-option, distfiles-option] ...
 eclean-dist [--help, --version]

Available global options:
 -C, --nocolor             - turn off colors on output
 -d, --deep                - only keep the minimum for a reinstallation
 -e, --exclude-file=<path> - path to the exclusion file
 -i, --interactive         - ask confirmation before deletions
 -n, --package-names       - protect all versions (when --deep)
 -p, --pretend             - only display what would be cleaned
 -q, --quiet               - be as quiet as possible
 -t, --time-limit=<time>   - don't delete files modified since <time>
   <time> is a duration: "1y" is "one year", "2w" is "two weeks", etc. 
   Units are: y (years), m (months), w (weeks), d (days) and h (hours).
 -h, --help                - display the help screen
 -V, --version             - display version info

Available options for the distfiles action:
 -f, --fetch-restricted   - protect fetch-restricted files (when --deep)
 -s, --size-limit=<size>  - don't delete distfiles bigger than <size>
   <size> is a size specification: "10M" is "ten megabytes", "200K" is
   "two hundreds kilobytes", etc.  Units are: G, M, K and B.
Deleted
()

distfiles в tmpfs. Для интересных проектов держу локальные копии git. Это гораздо лучше.

arrecck ★★★
()

Чищу регулярно. Притом своим скриптом, который при парочке минорных недостатков работает быстрее стандартного eclean-dist.

Все нужное что уходит из официального репозитория перемещается в локальный.

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

я удивлён, почему ещё дистромейкеры не имеют своих локальных зеркал с сорцами всех пакетов.

как это не делают? o_O

eternal_sorrow ★★★★★
()

А вдруг кому-то понадобится в будущем

Он не узнает, что у тебя можно взять, а ты не узнаешь, что нужно отдать.

i-rinat ★★★★★
()

$ ls -sh1 /usr/portage/distfiles | sort -h
...
1.4G urbanterror-data-4.3.2.zip

Ого. А я и забыл что оно у меня есть. Спасибо, поиграл чуть-чуть.

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

В генте некоторые ебилды (или сами пакеты) докачивают что-то в процессе сборки, одних distfiles недостаточно.
Не помню, какие конкретно пакеты, но какие-то не собирались, если отключить интернеты, хотя distfiles были на месте

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

Возможно, но я такие пакеты не встречал, может быть они из разряда 9999.

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

Многовато. У меня -14.5 ГБ из 25 ГБ.

#du -hs /media/ST3/GENTOO/DIST/
11G     /media/ST3/GENTOO/DIST/

Deleted
()

> С одной стороны гента у меня с 2010 года, с тех пор /usr/portage/distfiles разросся до 47G

У меня примерно так же. Посмотрел что занимает больше всего места - оказалось что драйверы NVIDIA, CUDA Toolkit, openoffice.org-bin, libreoffice-bin, sun-jdk, oracle-jdk, virtualbox, codeweavers crossover. И много-много архивов со флешем 11.2, и каждый хоть и по 12 Мб. всего, но в сумме их 30

ZenitharChampion ★★★★★
()

> С другой стороны, оно уже имеет историческую ценность, ибо многое оттуда может быть не очень доступно в интернетах. А вдруг кому-то понадобится в будущем, или мне :)

Я люблю, когда кто-нибудь расшаривает свои distfiles. Потому что иногда я устанавливаю систему из старого portage, а ссылки уже недоступны. И ладно ссылки на официальные архивы программ, а на гентушные патчи? Например на bash. Вот в distfiles и находятся.

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

патчи обычно или в distfiles, или прямо в дереве в /usr/portage/*/*/files/

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

Не удаляю старые поколения, не собираю мусор. Держу всё это как кеш (чтобы nix-shell не перекачивал постоянно).

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

Я люблю, когда кто-нибудь расшаривает свои distfiles

Я люблю обмазываться несвежим дистбилдом и собирать мир

upcFrost ★★★★★
()

недавно обнаружила, что умер сайт с фонтами для сборки libreoffice. нашла их на archive.org. там не всё можно найти, но очень многое.

там же качала сорцы efl, потому что сервер enlightenment лежит уже который день.

P.S. не гентушник, но собираю софт из сорцов.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от t184256

GC же не разделяет «прошлогодние» пакеты и те, которые недавно были скачаны/использованы, просто сносит всё, до чего из корней дотянуться нельзя.

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

Так эти пакеты из корней недоступны. Примеры:

  • Использую nix-shell и shell.nix для того чтобы настроить окружение для разработки.
  • Иногда запускаю софтины из nixpkgs так: nix-shell -p somepkg --run somepkg. Захламлять ими своё окружение не хочу.
  • Разрабатываю проект. Иногда добавляю или убираю зависимости в default.nix/shell.nix. Иногда приходится откатывать проект к старым версиям (например, во время git bisect). Не буду же я на каждую ревизию новый корень заводить?

Когда место таки кончается, запускаю GC грохаю всё разом.

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

У меня все так же, но /store почти до сотни не распухает… А, нет:

$ du -hcs /nix/store
159G    /nix/store
159G    total

Вопросов больше не имею.

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