Ich habe mich lange gefragt, warum sudo apt
die lokale Installation deb
aus einigen Ordnern mit folgendem Fehler fehlschlägt:
Failed to fetch a file... Permission denied
Ich habe kürzlich sudo dpkg -i
denselben Pfad ausprobiert und es hat funktioniert. Der Pfad befindet sich auf einem USB-Stick, der mit gemountet wurde udisks
, also in einem /media/user
Ordner, und ich vermute, dass es an diesem Ordner liegt ACL
( drwxr-x---+
). Aber warum sudo
wird einem Befehl mit die Berechtigung verweigert? Warum funktioniert dann ein anderer Befehl für dieselben Dateien einwandfrei?
Ich würde verwenden dpkg
, aber im Gegensatz zu verarbeitet es die Vorabhängigkeiten nicht in der richtigen Reihenfolge apt
.
Gibt es eine Möglichkeit, den Abrufteil für zu überspringen apt
? Vor dem Abrufen wird am Anfang der Ausgabe apt
angezeigt Note selecting abc instead of abc.20-2-a.deb
. Gibt es eine Möglichkeit, apt
bestimmte deb
Dateien verarbeiten zu lassen, ohne zu versuchen, andere zu finden?
PS Ich kenne andere Möglichkeiten, lokale Debs zu installieren, z. B. das Hinzufügen eines lokalen Repositorys oder die Verwendung nicht vorinstallierter Debs apt-offline
vonSo installieren Sie Pakete ohne Internet, aber ich möchte die Dinge einfach halten (außerdem vermute ich, dass bei der Verwendung des lokalen Repositorys dasselbe Problem mit verweigerten Berechtigungen auftreten könnte).
Hinzugefügt 2:
sudo mount rd -t tmpfs /media/mint/rd -o x-mount.mkdir
sudo mount ram -t tmpfs /media/ram -o x-mount.mkdir
apt von rd
schlägt fehl, apt von ram
funktioniert einwandfrei, also vermute ich, dass das Problem bei mint
ACL liegt. Ich habe versucht, es unten zu zeigen, ich verstehe nicht viel von ACL unter Linux. Eingesteckte USB-Laufwerke sind unter dem Benutzer mint
(liveUSB-Benutzer) gemountet, also möchte ich das Problem angehen. Wenn ich sudo -i
die Root-Eingabeaufforderung bekomme, könnte ich manuell mkdir
, mv
innerhalb rd
, auch sudo touch /media/mint/rd/mpv/1
eine Datei erstellen, also warum sudo apt
schlägt das fehl?
Hinzugefügt:
Berechtigungen inkl. ACL:
mint@mint:~$ ls -la /media/mint/rd
total 0
drwxrwxrwt 4 root root 80 Oct 24 03:23 .
drwxr-xrw-+ 4 root root 80 Oct 24 03:22 ..
drwxrwxrwx 2 mint mint 80 Oct 12 23:01 ffmpeg
drwxrwxrwx 2 mint mint 60 Oct 11 17:53 mpv
ACL:
mint@mint:~$ getfacl /media/mint/
getfacl: Removing leading '/' from absolute path names
# file: media/mint/
# owner: root
# group: root
user::rwx
user:mint:r-x
group::---
mask::r-x
other::rw-
apt / apt-get-Ausgabe:
mint@mint:~$ sudo apt install -d /media/mint/rd/ffmpeg/*.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'ffmpeg' instead of '/media/mint/rd/ffmpeg/ffmpeg_7%3a4.2.4-1ubuntu0.1_amd64.deb'
Note, selecting 'libavresample4' instead of '/media/mint/rd/ffmpeg/libavresample4_7%3a4.2.4-1ubuntu0.1_amd64.deb'
Suggested packages:
ffmpeg-doc
The following NEW packages will be installed:
ffmpeg libavresample4
0 upgraded, 2 newly installed, 0 to remove and 71 not upgraded.
Need to get 1507 kB of archives.
After this operation, 2275 kB of additional disk space will be used.
Ign:1 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1
Ign:2 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1
Ign:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1
Ign:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1
Get:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1 [54.2 kB]
Err:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1
File not found - /media/mint/rd/ffmpeg/libavresample4_70x0.07ffe00000006p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
Get:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1 [1453 kB]
Err:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1
File not found - /media/mint/rd/ffmpeg/ffmpeg_70x0.07ffe00000002p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
E: Failed to fetch file:/media/mint/rd/ffmpeg/libavresample4_7%3a4.2.4-1ubuntu0.1_amd64.deb File not found - /media/mint/rd/ffmpeg/libavresample4_70x0.07ffe00000006p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
E: Failed to fetch file:/media/mint/rd/ffmpeg/ffmpeg_7%3a4.2.4-1ubuntu0.1_amd64.deb File not found - /media/mint/rd/ffmpeg/ffmpeg_70x0.07ffe00000002p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
E: Some files failed to download
mint@mint:~$ sudo apt-get install -d /media/mint/rd/ffmpeg/*.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'ffmpeg' instead of '/media/mint/rd/ffmpeg/ffmpeg_7%3a4.2.4-1ubuntu0.1_amd64.deb'
Note, selecting 'libavresample4' instead of '/media/mint/rd/ffmpeg/libavresample4_7%3a4.2.4-1ubuntu0.1_amd64.deb'
Suggested packages:
ffmpeg-doc
The following NEW packages will be installed:
ffmpeg libavresample4
0 upgraded, 2 newly installed, 0 to remove and 71 not upgraded.
Need to get 1507 kB of archives.
After this operation, 2275 kB of additional disk space will be used.
Ign:1 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1
Ign:2 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1
Ign:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1
Ign:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1
Get:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1 [54.2 kB]
Err:1 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 libavresample4 amd64 7:4.2.4-1ubuntu0.1
File not found - /media/mint/rd/ffmpeg/libavresample4_70x0.07fff00000006p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
Get:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1 [1453 kB]
Err:2 http://security.ubuntu.com/ubuntu focal-updates/universe amd64 ffmpeg amd64 7:4.2.4-1ubuntu0.1
File not found - /media/mint/rd/ffmpeg/ffmpeg_70x0.07fff00000002p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
E: Failed to fetch file:/media/mint/rd/ffmpeg/libavresample4_7%3a4.2.4-1ubuntu0.1_amd64.deb File not found - /media/mint/rd/ffmpeg/libavresample4_70x0.07fff00000006p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
E: Failed to fetch file:/media/mint/rd/ffmpeg/ffmpeg_7%3a4.2.4-1ubuntu0.1_amd64.deb File not found - /media/mint/rd/ffmpeg/ffmpeg_70x0.07fff00000002p-10224.2.4-1ubuntu0.1_amd64.deb (13: Permission denied)
E: Some files failed to download
Antwort1
Wie ich jetzt verstanden habe (dank der Kommentare), sudo apt
verwendet _apt
der Benutzer. Und das Fehlen einer Ausführungsberechtigung für den übergeordneten Ordner /media/mint
verhinderte den Zugriff auf die Dateien. Die Problemumgehung besteht darin, eine Ausführungsberechtigung hinzuzufügen, z. B.
setfacl -m u:_apt:x /media/mint