Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
-
king-crash
- Beiträge: 722
- Registriert: 08.08.2006 12:07:56
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von king-crash » 02.05.2018 18:45:04
Hallo,
ich habe hier ein embedded System mit nicht näher bekanntem Image.
Es sind allerdings dpkg und apt vorhanden, welche ich mit folgendem Resultat nutzen wollte.
[18:36:17:994] root@(none):/root# whoami
[18:38:54:216] root
[18:38:54:221] root@(none):/root# rm /var/lib/apt/lists/lock
[18:39:38:890] root@(none):/root# rm /var/lib/dpkg/lock
[18:39:49:669] root@(none):/root# apt-get update
[18:39:58:403] E: Could not get lock /var/lib/apt/lists/lock - open (13: Permission denied)
[18:39:58:409] E: Unable to lock directory /var/lib/apt/lists/
[18:39:58:416] E: Could not get lock /var/lib/dpkg/lock - open (13: Permission denied)
[18:39:58:423] E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Was könnte hier das Problem sein?
-
tobo
- Beiträge: 1996
- Registriert: 10.12.2008 10:51:41
Beitrag
von tobo » 02.05.2018 19:41:07
Ich würde mal mit
nachschauen, ob da nicht doch noch irgendwas werkelt. Wenn, dann mittels kill beenden, die Lock-files nochmals löschen und update.
EDIT;
Wenn pgrep keinen Prozess anzeigt, dann mach mal das (von oben nach unten):
Code: Alles auswählen
# rm /var/lib/dpkg/lock
# dpkg --configure -a
# rm /var/lib/apt/lists/lock
# rm /var/cache/apt/archives/lock
# apt-get update
-
geier22
Beitrag
von geier22 » 02.05.2018 21:08:05
Vermutung:
Das passiert in den ersten 10 Minuten nach dem Hochfahren.
Wenn das so ist, wir mit ziemlicher Sicherheit
unattended-upgrades seine nervigen Dienst tun.
Das hört erst auf, wenn alle Pakete für das Upgrade runter geladen sind. Bei Testing kann man sich da in aller Ruhe erst mal einen Kaffee kochen und ne Zigarette rauchen
Abhilfe:
-
king-crash
- Beiträge: 722
- Registriert: 08.08.2006 12:07:56
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von king-crash » 03.05.2018 09:24:38
Ich boote mit einer selbst Programmierten Init direkt in eine bash.
[09:20:26:571] root@(none):/# dpkg --configure -a
[09:20:36:148] dpkg: error: dpkg status database is locked by another process
Deshalb verwundern mich solche Sachen. Es können eigentlich nur Kernel Prozesse laufen, was auch so zu sein scheint.
[09:23:29:328] root@(none):/# pstree
[09:23:43:156] init---bash---pstree
-
king-crash
- Beiträge: 722
- Registriert: 08.08.2006 12:07:56
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von king-crash » 03.05.2018 10:16:54
strace
...
fcntl64(3, F_SETLK64, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = -1 EACCES (Permission denied)
write(2, "dpkg: error: dpkg status databas"..., 63dpkg: error: dpkg status database is locked by another process
...
Braucht das evtl besondere Unterstützung im Kernel, die nicht mit Einkompiliert ist?
-
king-crash
- Beiträge: 722
- Registriert: 08.08.2006 12:07:56
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von king-crash » 03.05.2018 14:22:46
Ich hab das gerade nochmal mit einem Minimalprogramm verifiziert. Die Dateisperre mit fcntl scheint generell nicht zu funktionieren.
Vorschläge sind wilkommen
-
king-crash
- Beiträge: 722
- Registriert: 08.08.2006 12:07:56
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von king-crash » 03.05.2018 18:56:08
Ok, im Kernel gibt es die Option CONFIG_FILE_LOCKING.
Wenn die aus ist bekommt man permission denied, was gelinde gesagt irreführend ist.