Установка / удаление с помощью .run [duplicate]

Всякий раз, когда вы открываете или выполняете файл в Windows, Windows блокирует файл на месте (это упрощение, но обычно оно истинно). Возможно, вы столкнулись с теми раздражающими ошибками, где вы не можете удалить файл, потому что другой процесс имеет эксклюзивный замок на нем. Вот почему всякий раз, когда Windows должна обновляться сама, вам нужна перезагрузка, чтобы она вступила в силу. [] D0]

С другой стороны, у Linux есть механизм, в котором он не является файлом, который заблокирован, но в то же время он блокирует действия по замене и удалению файлов при следующем запуске (когда ничего не блокируется). основные данные на диске. Это может показаться тривиальной дифференциацией, но это означает, что запись файла в оглавлении файловой системы может быть удалена без нарушения какой-либо программы, которая уже открыла файл. Таким образом, вы можете удалить файл, пока он все еще выполняется или используется иным образом, и он будет продолжать существовать на диске, пока какой-либо процесс имеет открытый дескриптор для него, даже если его запись в таблице файлов исчезла. Это позволяет Linux полностью заменить программу, пока она все еще запущена, а затем просто перезапустить программу или просто ждать, пока процесс завершится естественным образом. Когда старый экземпляр будет убит, старые файлы больше не будут существовать, и новые файлы будут поселиться в своих записях в таблице файлов.

Итак, если конкретный файл не является (например, файл образа ядра или файлы, принадлежащие аналогичным низкоуровневым системам), программа обновления обычно может обновляться как на месте. Я уверен, что есть особые случаи и ситуации, когда это не будет хорошей идеей, но в большинстве случаев это нормально.

Что касается того, почему OS X делает это, теория «на всякий случай» звучит правдоподобно .

1
задан 24 November 2015 в 15:57

1 ответ

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

У меня были некоторые инсталляторы. Я честно не помню, какие они были, но они сами создали небольшие метапакеты, чтобы помочь удалить.

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

5
ответ дан 23 May 2018 в 15:32

Другие вопросы по тегам:

Похожие вопросы: