что означает это синаптическое сообщение об ошибке?

Я получаю его после обновления в Synaptic Manager

Недавно я сделал чистую установку Ubuntu 17.04 от 16.10.

сообщение об ошибке: -

W: Download is performed unsandboxed as root as file '/var/cache/apt/archives/partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
52
задан 25 April 2017 в 18:15

5 ответов

Обычно apt использует пользователя _apt для загрузки пакетов. В вашем случае _apt не имеет прав на запись ни в / var / cache / apt / archives / partial / , ни в существующий файл / var / cache / apt / archives /partial/samba-libs_2%3a4.5.8+dfsg-0ubuntu0.17.04.1_i386.deb, поэтому он загрузил файл как root .

Убедитесь, что / var / cache / apt / archives / partial / и все, что ниже него, могут быть записаны для _apt , например запустив

sudo chown -Rv _apt:root /var/cache/apt/archives/partial/
sudo chmod -Rv 700 /var/cache/apt/archives/partial/
39
ответ дан 25 April 2017 в 18:15

У меня тоже была эта проблема на Debian Stretch (новая установка виртуальной машины Xen), оказалось, что это проблема с sudo.

Не удалось выполнить sudo на машине.

Точнее, корневой каталог / системы находился в 700 (drwx ------). chmod 755 / исправил это.

5
ответ дан 23 November 2019 в 01:28

tl; dr Просто игнорируйте связанный с apt "W: ... _apt ..." предупреждающие линии. Они несмертельны, и по большей части вы не можете это исправить, и вы получите те же результаты с предупреждением или без него.


Даже когда здесь реализован прекрасный ответ Флориана Диша, я все еще получаю это предупреждение. Я получаю его, когда пытаюсь загрузить исходный код с помощью apt-get source ... , даже если я попытаюсь загрузить его как root, например, с помощью sudo или su ], (Debian 10.4 и apt 1.8.2.1)

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

Похоже, что после этого _apt ] было внесено изменение, сломалась целая куча вещей, которые еще не были полностью исправлены.


Давайте еще раз разберем эту проблему:

Во-первых, подходящие строки результатов с префиксом W: : только предупреждения . Предупреждение - это что-то ненормальное, но это не останавливает работу программы. ( ref: Кусалананда )

Как заметил Флориан, «apt использует пользователя _apt для загрузки пакетов». Похоже, это тот случай, когда пользователь с именем root просто не может делать то, что может сделать пользователь с именем _apt .


Частичное решение (то, которое вы действительно не можете хотите использовать):

Вы должны убедиться, что папка, в которой вы находитесь (т.е. куда будет помещен источник), принадлежит _apt: root . Итак, если вы $ mkdir temp; sudo chown _apt: root temp; sudo -s и # cd temp; apt-get source ... предупреждение не появится.

Конечно, после того, как вы закончите, вам придется передать более разумное право собственности на эту базовую папку, потому что странно быть владельцем _apt: root.

одинаковые результаты с предупреждением или без него?

# -- TEST 1:  get source into folder owned by user ------------
$ mkdir temp1;
$ cd temp1; sudo apt-get source gnupg2     # gives warning message:
...
W: Download is performed unsandboxed as root as file 'gnupg2_2.2.12-1+deb10u1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)


# -- TEST 2:  get source into folder owned by root ------------
$ cd ..; sudo -s
# mkdir temp2;
# cd temp2;      apt-get source gnupg2     # gives warning message:
...
W: Download is performed unsandboxed as root as file 'gnupg2_2.2.12-1+deb10u1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)


# -- TEST 3:  get source into folder owned by _apt:root -------
# cd ..
# mkdir temp3; chown _apt:root temp3
# cd temp3;      apt-get source gnupg2     #    no warning message now!


# == COMPARE the results ======================================
$ cd ..
$ sudo diff -r temp1 temp2                 # no differences
$ sudo diff -r temp1 temp3                 # no differences

То есть результаты такие же, с предупреждением или без него!


Я не могу не добавить, иронично, что обсуждался APT здесь не относится к самой ужасной из вещей: Расширенные постоянные угрозы .



Мой предыдущий ответ здесь (был)

... который до сих пор исправлялся эта проблема для меня, но теперь я вижу, недостаточна:

Исправьте это следующим образом:

sudo chown -R _apt:root /var/lib/apt/lists

См. .


  • перечисляет сам каталог , а не только его содержимое, должен иметь владельца _apt . (т.е. вот одна важная ветвь файла, в которой не удается установить права root-прав по умолчанию!)

  • У меня, возможно, возникла эта проблема при удалении списков , а затем повторном создании с помощью sudo mkdir lists ; apt update , как рекомендовано в другом месте.

  • Также это решение может быть ДОПОЛНИТЕЛЬНО к любым другим решениям, , поскольку я сначала попробовал кучу других вещей.


Debian 10.2 Stretch.

# apt-get --version
apt 1.8.2 (amd64)
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 Pkg:  Debian APT planner interface (Priority -1000)
 S.L: 'deb' Debian binary tree
 S.L: 'deb-src' Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: Debian deb file
 Idx: Debian dsc file
 Idx: Debian control file
 Idx: EDSP scenario file
 Idx: EIPP scenario file
3
ответ дан 5 January 2021 в 22:26

Сделать сам файл доступным для чтения пользователю _apt . например:

chmod 777 ./pdfsam-visual_2.1.4_amd64.deb

Посмотрите разрешения самого файла ...

$ ls -l ./pdfsam-visual_2.1.4_amd64.deb 
-r-------- 1 john john 105659960 Apr  4 11:57 ./pdfsam-visual_2.1.4_amd64.deb

Теперь это сообщение снова ...

N: Download is performed unsandboxed as root as file
 'pdfsam-visual_2.1.4_amd64.deb' couldn't be accessed 
by user '_apt'. - pkgAcquire::Run (13: Permission denied)

Ошибка связана с тем, что пользователь _apt хочет получить доступ к локальному файлу. Итак, вам нужно только предоставить доступ к этому файлу. например:

Теперь, если вы удалите и установите, ошибка исчезнет.

sudo apt remove pdfsam-visual
sudo apt install ./pdfsam-visual_2.1.4_amd64.deb
0
ответ дан 5 January 2021 в 22:26

Самое простое решение:

Просто используйте старый apt-get:

apt-get --download install xzy

, к счастью, старый apt-get не содержит этой странной ошибки.

Apt нужны привилегии root, чтобы что-то делать, а потом для чего он их отбрасывает? Качаешь ??? Хотя все установки происходят с привилегиями root? Совершенно бессмысленно.

Странное примечание: apt не имеет флага принудительной установки NONE, что очень странно. Кроме того, он не может использоваться для всех сценариев, так что определенный шаг назад. Почему у нас не может быть более 100% функциональной замены apt-get?

0
ответ дан 4 September 2021 в 10:38

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

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