LINUX.ORG.RU

Этичная сборка ПО из исходников.

 , ,


0

1

Доброго времени суток, ЛОРчане.

Объясните, пожалуйста, неофиту(т.е. мне) каким способом можно собирать программы из исходного кода не засоряя при этом основную систему? Например, мне захотелось «потыкать палочкой» в проект, который написан 2-х языках программирования и использующий несколько библиотек в зависимостях. Следовательно, все это безобразие в виде libkgb-1.0, NameLang Compiler попадет ко мне в основную систему и после сборки придется вычищать все ненужное руками. Но я уже устал заниматься такой рутиной и следовательно вопрос: существуют ли специальные окружения, позволяющие изолировать директорию проекта от основной системы? Например, создал виртуальное окружение, скачал в него исходный код, скачал необходимые зависимости для сборки, собрал, удалил окружение оставив систему в изначальной чистоте.


Ответ на: комментарий от soomrack

Решение с qemu более удобное

lxc удобнее тем, что лучше монтируются директории. А в Qemu для этого два разных протокола (старый 9P и новый) и их непросто настраивать.

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

Что в дебиане что в рхеле пакетные манагеры умеют удалять ровно то что ты поставил т.е. условно если после apt install rust (что притащит 100500 пакетов) сделать apt delete rust то ровно эти же 100500 и будут унесены ветром

Это неправда. Во всех менеджерах есть возможность выполнения скриптов. Когда установленный пакет тебе сделает rm -rf /etc, никакой delete тебе его уже не вернёт.

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

Я пытался, я не осилил, мне стыдно и я каждый год обещаю себе всё таки разобраться. Так как сама философия дистрибутива мне нравится. Но вот у меня сложилось ощущение что для того чтобы им жоско рулить нужно мыслить как программист, стать программистом. А я не программист, мне с конфигурированием было тяжко. Они там свой язык программирования для настройки ОС изобрели, он меня пугает и я не осилил его освоить.

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

btrfs + lxc

Это был сарказм в ответ на сарказм. Я знаю что такая «штука» давно есть, и не одна. В моём случае вместо btrfs lvm2+ext4, меня Эдик Шишкин покусал, ну и личный опыт с btrfs был смешной и неприятный, например удалить инфу с FS для того чтобы освободить место невозможно по причине отсутствия места. Для удаления не хватило места, да. И это не баг, это проистекающая из основ дизайна FS фича. Я конечно подключил флешку, растянул, удалил, сократил, но решил что подожду ка я ещё лет ннадцать, пока меня силой мигрировать не заставят. Ибо lvm2+ext4 по прежнему делает всё то что мне от btrfs нужно.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от vbr

Это неправда. Во всех менеджерах есть возможность выполнения скриптов. Когда установленный пакет тебе сделает rm -rf /etc, никакой delete тебе его уже не вернёт.

В каждом доме есть нож. Нож воткнутый в голову при выполнении apt install аналогично не выскочит при apt delete
Странные аналогии требуют странных аналогий.
Наличие rm rf в скрипте пакета говорит о том что у кого-то был нож и он искал твою голову - не дружи с такими ребятами и не бери у них пакеты

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

В эпоху, когда уже десктопные приложения в контейнерах всё больше пускать начинают, не использовать их для запуска не вполне доверенного кода просто странно.

vbr ★★★★
()

Никогда не надо собирать софт руками, надо всегда делать пакет. Это быстрее, потому что фреймворк половину работы делает за тебя, и несравнимо удобнее потому что сборку всегда можно повторить - сейчас, через год (когда забыл что доставлял и с какими ключами конфигурил), на другой машине, после обновления зависимостей - когда и где угодно, а также гарантируется что сборка не насрёт файлов куда не надо, пакет можно начисто удалить, и, наоборот, его зависимости не удалятся потому что больше никому не нужны, а пакетный менеджер не знает о сборке.

Поэтому твой сценарий - накидал пакет, поставил, потыкал палочкой, удалил и сделал autoremove. После этого система в оригинальном состоянии и не надо пердолиться с какими-то виртуальными окружениями, установкой в них с нуля пакетов, прокидыванием иксов и прочего что нужно с хоста, а также ломающейся по разным причинам инкрементальной сборкой.

Неофиты обычно на это отвечают что им лень учиться писать пакеты, но повторюсь - сборка через пакет всегда лучше, поэтому либо учишь, либо тратишь своё время впустую.

slovazap ★★★★★
()

Сначала сделай из исходников пакет src.rpm, а из него уже собирай rpm пакет. И все будет чисто и аккуратно.

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

lxc удобнее тем, что лучше монтируются директории. А в Qemu для этого два разных протокола (старый 9P и новый) и их непросто настраивать.

Если нужна изоляция, то монтировать как-то не хочется, а если же все же нужно, то sshfs вполне себе хороший вариант.

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

какой же он хороший, если вставляет два дополнительных слоя, которые нафиг не нужны? один слой - это шифрование, а второй слой это FUSE

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

Какая разница сколько слоев, если хорошо работает?

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