Информация | ||
---|---|---|
| ||
|
В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) для установки пакетов из файлов использовалась команда:
Command |
---|
sudo dpkg -i <имя_файла> |
Эта команда доступна и в более новых версиях Astra Linux, однако у нее есть существенный недостаток: эта команда не устанавливает автоматически необходимые зависимости (пакеты, необходимые для нормальной работы пакета, устанавливаемого из файла). В итоге для корректно завершения установки пакета приходится выполнять доустановку пакетов для исправления нарушенных зависимостей:
Command |
---|
sudo apt -f install |
В более новых версиях установка пакета из файла с установкой всех его зависимостей может быть выполнена командой:
Command |
---|
sudo apt install ./<имя_файла> |
Предупреждение |
---|
Для установки с помощью apt имя файла должно быть указано не просто как <имя_файла>, а начинаться с символа "/" (если используется полный путь) или с символов "./" (для файлов расположенных в текущем каталоге). Если это требование не выполнено, то будет выполнена попытка установить пакет с именем <имя_файла>, которая закончится ошибкой вида "пакет не найден". |
При установке пакетов из файлов с помощью команды apt пакеты и их зависимости устанавливаются автоматически, но при успешном завершении установки выдается предупреждение:
Блок кода |
---|
N: Download is performed unsandboxed as root as file ... couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Отказано в доступе) |
или
Блок кода |
---|
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «...» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе) |
Это предупреждение о том, что программа установщик, не имея нужных прав доступа к текущему каталогу, вынуждена была получить привилегии root для выполнения установки. Установка при этом завершается успешно, и предупреждение можно игнорировать, однако с точки зрения безопасности, правильнее по возможности исключить работу с привилегиями root. Для того, чтобы исключить это предупреждение, нужно на время выполнения установки предоставить служебному пользователю _apt права на доступ к текущему каталогу и к его родительским каталогам.
Для установки может быть удобно использовать системный каталог временных файловых объектов /tmp/. Примерный сценарий для установки из временного каталога:
Command |
---|
pushd `mktemp -d` |
Некоторым неудобством является необходимость в таком случае указывать полное имя файла, из которого выполняется установка (например, /home/user/Загрузки/package.deb).
Подробнее про применение команд setfacl/getfacl см.Списки управления доступом к файловым объектам (ACL) в Astra Linux