Процесс транзакционной установки, такой как установщик Windows в Unix / Linux

Есть ли какой-либо процесс установки транзакций, например, установщик Windows в Unix / Linux?

Скрипты установки, такие как Makefile или менеджер пакетов (например, deb), обычно просто копируют файлы напрямую, чтобы перезаписать существующие файлы.

2 Solutions collect form web for “Процесс транзакционной установки, такой как установщик Windows в Unix / Linux”

Я вообще не знаю о свойствах средств установки Windows, но ознакомьтесь с менеджером пакетов Nix (и вокруг него создан дистрибутив NixOS GNU / Linux ). Он содержит атомарные обновления, поскольку он нисколько не перезаписывает ничего старого.

Еще один способ – использовать поддержку моментальных снимков файловой системы, например, yum с моментальными снимками btrfs (также snapper на OpenSUSE; dpkg может иметь и предварительные / пост-действия, так что это можно сделать и с этим, я полагаю).

Редактирование Использование моментальных снимков файловой системы, ./configure && make && make install тоже является транзакционным …

Типичные менеджеры пакетов заботятся о том, чтобы пакет был установлен или не установлен. Обычно существует переходный период, в течение которого старая версия все еще установлена, а новые файлы уже распакованы, но под разными именами. Если система сработает в течение переходного периода, весьма вероятно, что программное обеспечение останется пригодным для использования; для завершения установки необходимо возобновить команду установки. Существует временное окно, в течение которого некоторые из новых файлов уже установлены, а некоторые из старых файлов все еще на месте, но он очень мал.

С другой стороны, если есть ошибка установки, в зависимости от того, когда ошибка поймана, программа, возможно, переключилась на новую версию, даже если новая версия непригодна для использования. Это неизбежно в некоторой степени: возможно, вы обнаружите, что новая версия непригодна для использования, потому что вы запускаете программу и открываете свои существующие файлы, но не интерпретируете их правильно. У большинства менеджеров пакетов Linux нет простого способа вернуть обновление: как правило, вам необходимо вручную загрузить старую версию пакета и принудительно выполнить его установку.

Когда вы устанавливаете программное обеспечение, которое скомпилировано из исходного кода, с make-файлом или эквивалентом, вы должны установить программное обеспечение в свой собственный каталог. Установите каждую версию в свой собственный каталог и протестируйте новую версию перед удалением старой. Программа сразу же может быть использована из установочного каталога, поэтому нет необходимости переключаться между старой версией и новой версией: просто запустите новую версию. Используйте Stow или XStow для создания символических ссылок в общей иерархии, поэтому вы можете иметь исполняемые файлы в своем PATH и так далее; см. Отслеживание программ .

  • Установка программ на флеш-накопитель, чтобы они могли выполняться на месте
  • Справка по установке RDkit
  • Установка .tgz ... как?
  • Автоматизация установки пакета .run
  • Что происходит с файлами во время установки триплекс «./configure, make, make install»?
  • Как набрать sumtool на redhat 6
  • Зачем мне устанавливать Wireshark GUI отдельно с CentOS, но не с Ubuntu?
  • Где я должен устанавливать сторонние двоичные программы?
  • Как обновить libnl в Fedora?
  • Как обновить пакеты в Red Hat Linux?
  • Вы сохранили бы Makefile для последующей деинсталляции?
  • Interesting Posts

    Как отключить генерацию дампа ядра в Centos (cPanel Server)?

    Электронная почта не получена с помощью команды mail из терминала в CentOS

    Как вы используете перенаправление вывода в сочетании с здесь-документами и кошкой?

    Как я могу автоматически прекратить отключение шпатлевки

    Сокращение корневого раздела на Debian

    резервное копирование в командной строке

    Ctrl + c и Ctrl + z для прерывания / приостановки заданий

    Сценарий, использующий fifos, не генерирующий выход при обработке из stdin

    Добавление MySql Workbench в избранное в Fedora 19

    Возможно ли получить сообщение об ошибке из предыдущей команды, которая не удалась при выполнении условной команды с использованием ||

    / home / amnesia / myfile: команда не найдена – 64-разрядный исполняемый файл, 64-битное ядро

    Вызывать git без загрузки пользователя gitconfig

    Исключить из подстановочного знака (*), используя find

    Попытка настроить среду SLED сервера / рабочей станции

    Создание каталогов из строк файла

    Linux и Unix - лучшая ОС в мире.