LINUX.ORG.RU
решено ФорумAdmin

Установка пакета со всеми зависимостями в отдельную директорию

 , ,


0

1

Здравствуйте.

Решил улучшть свои навыки и знания linux, установив gentoo. Никогда раньше не пользовался этой системой, посему таков вопрос: как установить конкретный пакет со всеми зависимостями в отдельную директорию(отдельный корень)?

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

Это лишь один из вариантов использования, есть и другие.



Последнее исправление: Noloboot (всего исправлений: 1)

mkdir директория
wget stage3.tar.xz
tar -xJf stage3.tar.xz -C директория
mkdir директория/{proc,dev,sys}
for i in proc dev sys; do mount /$i директория/$i; done 
chroot директория /bin/bash
emerge нужные пакеты
Valdor ★★
()

Вариант тебе описали выше. Но у тебя сам подход неправильный. Это тебе не Windows; в Линукс, если пользуешься пакетным менеджером, ты не захламляешь систему, так как:
1) пакетный менеджер тебе обеспечит правильную и полную «вычистку» системы от файлов пакета, если ты захочешь их удалить (локальные конфиги оставит, да)
2) Если тебе интересен точный перечень установленных файлов, то это делается командой equery f пакет
3) Если тебя волнуют лишние зависимости, которые могут остаться при удалении пакета, то они удаляются с помощью emerge --depclean.

Бардак может возникнуть, когда ставишь пакеты вручную без пакетного менеджера, с посредством ./configure && make && make install, но и там есть предохранитель состоящий в том, что программы по умолчанию ставятся в /usr/local.

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

Я правильно понимаю, что с таким способом я созжам отдельный корень, в котором будет весь богаж зависимостей пакета, а не только тех, что есть в системе?

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

Можно проще:

emerge нужные пакеты --root=/директория -p

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

Спасибо за варианты.

Да, конечно, пакетный менеджер выполняет всю рутину. Я подобную схему, как описал выше, думал использовать как замена «виртуалкам» под конкретные проекты, где определенный набор версий сервисов и запускаются они все только при разработке. После окончания разработки, можно удалить «виртуалку», просто удалив файлы этой виртуалки.

В этом случае такой подход тоже неверный и стоит пойти по другому пути: оставить виртуалки, контейнеры, еще что?

Noloboot
() автор топика

Почему бы просто не вынести пакет со всеми зависимостями, когда он станет не нужен?

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

Спасибо, значит gentoo handbook еще не успел выветриться у меня из памяти :)

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