LINUX.ORG.RU

Как поменять у процесса /


0

0

В общем такая задача (конечно может я изобретаю велосипед, но мне просто хочется это сделать). Я хочу сделать простейший менеджер пакетов. Причём не обычный а для сборки из исходников. И идея примерно такая. Всё делается стандартным образом (./configure && make && make install), только make install делается как-то через другую программу (типа mypkg -i make install). Причём mypkg запускает make install таким образом, чтобы он копировал файлы не в / а в какую-то временную папку, но сам make думал, что копирует в /

В принципе это наверное полный аналог DESTDIR, но я не уверен, что возможность использования DESTDIR есть во всех программах. А потом можно посмотреть структуру, как оно установилось, и если всё нормально, можно и в корень скопировать, добавить информацию в базу данных, сделать возможность отката и тд. Причём в этом случае, кажется, откат можно делать без каких-либо проблем. Но вариант с DESTDIR-ом мне не очень нравится. Может можно как то по-другому это сделать?

И подскажите, на чём лучше всего такое делать. Я пока думаю на bash-скриптах. На C думаю, это будет сложнее сделать. Ещё вариант с perl есть, если на нём лучше, поучу perl походу дела :-)

★★★★★

то что ты хочешь вроде как делает дебиановский fakeroot. посмотри на сорцы: запускалка на шеле точно, но что она конкретно делает - не изучал.

Pi ★★★★★
()

fakeroot - fake root environment Пояснение Позволяет запускать программы в Linux с привилегиями суперпользовтеля для выполнения любых файловых операций. Изменения видны только для запущенной под fakeroot программы, реально в системе ничего не меняется, т.е. для программы создается некая виртуальная оболочка, в которой отражаются все действия. fakeroot позволяет сохранять и подгружать подобные оболочки. Система выполнена в виде библиотеки подгружаемой через LD_PRELOAD и подменяющей файловые функции (например, getuid(), stat(),chmod() и т.д.).

Кажется действительно то, что надо, спасибо.

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

Тем не менее есть "безопасная установка" или чего там автор хочет.

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

помоемому ему как раз чистый chroot и нужен

cvv ★★★★★
()

см. checkinstall

anonymous
()

Если хочеш собрать LFS систему смотри в сторону Scratchbox. Мне он великолепно помог. А когда поймёш что без патчей на пакеты с сырцами не обойтись сделаеш автоматизацию на скриптах, как и советуют в LFS 6.

Хотя я прищёл к тому что уж лучше увеличить в пару раз накопитель и поставить нормальную систему управлениями пакетами или уже готовый дистрибутив. А я тоже книжку по перлу купил когда такая задача встала :), да нет обошлось. sed awk и sh вот тот джентельменский набор который спасёт отца русской демократии.

А тебе под какую архитектуру всё это надо делать??

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