Дерево страниц


Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) для установки пакетов из файлов использовалась команда:

sudo dpkg -i <имя_файла>

Эта команда доступна и в более новых версиях Astra Linux, однако у нее есть существенный недостаток: эта команда не устанавливает автоматически необходимые зависимости (пакеты, необходимые для нормальной работы пакета, устанавливаемого из файла). В итоге для корректно завершения установки пакета приходится выполнять доустановку пакетов для исправления нарушенных зависимостей:

sudo apt -f install
В более новых версиях установка пакета из файла с установкой всех его зависимостей может быть выполнена командой:
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/. Примерный сценарий для установки из временного каталога:

pushd `mktemp -d`
setfacl -m u:_apt:rwx `pwd`
sudo apt install /<полное_имя_файла>
popd
Некоторым неудобством является необходимость в таком случае указывать полное имя файла, из которого выполняется установка (например, /home/user/Загрузки/package.deb).

Подробнее про применение команд setfacl/getfacl см.Списки управления доступом к файловым объектам (ACL) в Astra Linux

  • Нет меток