Как обновить пакеты, скомпилированные из исходного кода?
Возможный дубликат:
Могу ли я обновить программное обеспечение, установленное из исходного кода напрямую
Я собираюсь установить рабочую среду Enlightenment, и это очень долгий процесс. Я хочу знать, будет ли оно обновляться автоматически после его установки или мне придется продолжать компилировать его для обновления.
3 ответа
Когда вы устанавливаете из исходного кода, нет ничего (например, dpkg), которое бы отслеживало вновь установленные файлы для вас (какие файлы и где они были размещены). Если вы явно не используете инструмент.
Как узнать, где были установлены файлы
Я использую Git для отслеживания установок в моем /usr/local. Вот как это выглядит:
cd /usr/local
git init
git add .
git commit -m "Starting to track /usr/local"
Установите новое программное обеспечение (./configure
, make
, make install
). А потом:
cd /usr/local
git status
git add .
git commit -a -m "Installed open-magic-1.2.3"
Теперь вы звоните посмотреть, какие файлы были установлены и когда:
cd /usr/local
git log --stat
Если вы разбираетесь в Git, вы можете даже удалить его с помощью нескольких команд git. Но будьте осторожны, так как Git не отслеживает права доступа к файлам (я написал специальный скрипт, который может сохранять и восстанавливать все разрешения и права собственности на файлы / из файлов). Я только деинсталлировал пару раз, хотя у меня в / usr / local 334 коммитов (ei установлен).
Некоторые люди устанавливают программное обеспечение в специальные каталоги и создают символические ссылки или добавляют каталоги bin в PATH.
Я тоже начал это делать. Я устанавливаю исходники с установленным PREFIX /opt/open-science-1.2.3
(например), а затем сделать символические ссылки на файлы bin в моем отслеживаемом Git /usr/local/bin
, Что действительно хорошо в этом, я могу заранее создать /opt/open-science-1.2.3
каталог, принадлежащий не-root, а затем запустить make install
как некорневой Это доказывает мне, что скрипт установки не связывал файлы где-либо в системе, ожидают в /opt/open-science-1.2.3
,
Простой, но грязный способ
Вероятно, самый простой способ обновления - просто переустановить новые источники. Просто выполните процедуру установки, как будто это в первый раз. Вы можете в конечном итоге иметь некоторые осиротевшие старые файлы. Программное обеспечение будет работать правильно, но потерянные файлы занимают место, что затрудняет настройку.
Вам нужно будет перекомпилировать для каждого обновления. Пакеты версий исходного кода, такие как Git, SVN или bzr, помогут вам найти и загрузить обновления в исходных файлах, но вам нужно будет перекомпилировать. Для исходных файлов нет автоматического трекера / установщика обновлений.
Как правильно заметил Александр Левчук, вы можете отслеживать установки для доступных обновлений, используя GIT или SVN. Для Просвещения есть SVN - http://www.enlightenment.org/p.php?p=contribute&l=en
Я задал похожий вопрос несколько месяцев назад - могу ли я обновить программное обеспечение, установленное из исходного кода напрямую. Получил хорошие ответы тоже.