Am 18.03.25 um 18:57 schrieb Uwe Kleine-König:
Hallo,
On 3/18/25 18:03, Webmaster - Internet-Gestaltung wrote:
Folgender Vorgang (soweit ich dies noch nachvollziehen kann).
Ich wollte "texlive-full" (LaTeX) installieren (mit: sudo apt-get install texlive-full). Sämtlich Dateien/Pakete wurden herunter geladen und die Installationsroutine fing an diese zu installieren. Nebenher hatte ich etwas anderes getan (was weiß ich leider nicht mehr), hierbei crashte das Programm. Da ich nicht wusste ob dies evtl. Auswirkung auf die laufende Installation hatte, schaute ich im Terminal nach:
… Running mtxrun --generate. This may take some time... done. Pregenerating ConTeXt MarkIV format. This may take some time...
Ok, dachte ich und wartete, über 2 Stunden passierte nichts. Ich denke der Crash eines anderen Programms hatte Auswirkung auf die Installation.
Das halte ich für unwahrscheinlich.
Wahr ja auch nur eine Vermutung.
Jeglicher Versuch die Installation rückgängig zu machen schlug fehl. Auch kann ich keine Aktualisierung mehr durch führen oder etwas anderes installieren. Immer kommt diese Fehlermeldung:
E: Sperre /var/lib/dpkg/lock-frontend konnte nicht erlangt werden. Sie wird von Prozess xxxxx (dpkg) gehalten. N: Beachten Sie, dass das Entfernen der Sperrdatei keine Lösung ist und Ihr System beschädigen kann. E: Erlangen der Sperre für die Dpkg-Oberfläche (/var/lib/dpkg/lock-frontend) nicht möglich; wird sie von einem anderen Prozess verwendet?
Auch mit Synaptic-Paketverwaltung kann ich nichts mehr machen. Meldung: E: Der dpkg-Prozess wurde unterbrochen; Sie müssen manuell »dpkg --configure -a« ausführen, um das Problem zu beheben. E: _cache->open() failed, please report.
Führe sich den Befehl "sudo dpkg --configure -a" aus, hänge ich immer wieder hier:
context (2019.03.21.20190425-2) wird eingerichtet ... Running mtxrun --generate. This may take some time... done. Pregenerating ConTeXt MarkIV format. This may take some time...
This may take some time => Wie lange soll man den warten? Leider wird hier kein Fortschritt angezeigt.
Hmm, unter Debian sieht das etwas anders aus, aber ich vermute, dass die Ausgabe des Commands in eine Datei in /tmp geschrieben wird. Hast Du da Dateien, die luatools.$irgendwas heißen. Vielleicht kann man da Fortschritt sehen? (`tail -f /tmp/luatools.*`).
Da gibt es 2 Dateien: luatools.4zmxIxfJ und luatools.8ewlVxXl
Was macht das "tail -f ...." ?
Ansonsten: Je nach Rechnerpower und HD kann das tatsächlich länger dauern. Damit 2h noch in Ordnung ist, muss das aber ein Rechner aus dem vorherigen Jahrzehnt sein.
So alt ist mein PC auch wieder nicht. :-)
Im extremen Notfall, editiere die Datei /var/lib/dpkg/info/context.postinst und werfe den Aufruf raus. Dann läuft das `dpkg --configure -a` flott durch und Du kannst die Pakete wieder deinstallieren.
Unten ist der Inhalt der Datei "context.postinst".
Liebe Grüße Uwe
Danke Uwe.
LG Mikel
Dies steht in der Datei "context.postinst", was muss ich da genau raus werfen?
#!/bin/sh set -e
dhit_libkpathsea_configured () { kpsewhich --version >/dev/null 2>&1 }
case "$1" in configure) # dealing with doc link changes, bug #716892 # tex-common >=4 removes the link # /usr/share/texmf/doc -> /usr/share/doc/texmf # In addition, the preinst of tex-common renames the link # and the postinst removes the backup of the link # # now if the order of unpacking is reversed on upgrade # the doc files get lost: # wheezy status: context ships files in /usr/share/doc/texmf # post wheezy status: context ships files in /usr/share/texmf/doc # # order of events in the bad case # - wheezy installed, dist upgrade # - new context is unpacked, files should go into /u/s/texmf/doc, # but since that is a link the files end up in /u/s/doc/texmf. # - tex-common is updated, removing the link # - tex-common is configured # - context is configured # files have moved from /u/s/texmf/doc to /u/s/doc/texmf # # We deal with this case by moving the files back to the # proper place in the following way # - preinst: # If . tex-common is at version ~ 3, context at 2012 # . /u/s/texmf/doc is a link as specified above # then # touch /var/lib/tex-common/context-inverse-update-stamp # - postinst # If . -r /var/lib/tex-common/context-inverse-update-stamp # . doc files are in /u/s/doc/texmf # then move them back to /u/s/texmf/doc # if [ -r /var/lib/tex-common/context-inverse-update-stamp ] ; then dpkg-query --listfiles context | grep ^/usr/share/texmf/doc | while read f do misplacedf=`echo "$f" | sed -e 's=^/usr/share/texmf/doc=/usr/share/doc/texmf='` if [ -f "$misplacedf" ] ; then mkdir -p `dirname "$f"` mv "$misplacedf" "$f" fi done # try to remove all the directories that have been there for i in /usr/share/doc/texmf/context/scripts/mkiv/ \ /usr/share/doc/texmf/context/scripts/mkii/ \ /usr/share/doc/texmf/context/scripts/ \ /usr/share/doc/texmf/context/third/gnuplot/ \ /usr/share/doc/texmf/context/third/ \ /usr/share/doc/texmf/context/document/general/manuals/ \ /usr/share/doc/texmf/context/document/general/ \ /usr/share/doc/texmf/context/document/ \ /usr/share/doc/texmf/context/manuals/allkind/ \ /usr/share/doc/texmf/context/manuals/ \ /usr/share/doc/texmf/context/ \ /usr/share/doc/texmf/man/man1/ \ /usr/share/doc/texmf/man/ \ /usr/share/doc/texmf/ ; do if [ -d $i ] ; then rmdir --ignore-fail-on-non-empty $i fi done rm /var/lib/tex-common/context-inverse-update-stamp fi # if dhit_libkpathsea_configured; then tempfile=$(mktemp -p /tmp mtxrun.XXXXXXXX) printf "Running mtxrun --generate. This may take some time... " if mtxrun --generate > $tempfile 2>&1 ; then rm -f $tempfile echo "done." else exec >&2 echo echo "mtxrun --generate failed. Output has been stored in" echo "$tempfile" echo "Please include this file if you report a bug." echo exit 1 fi tempfile=$(mktemp -p /tmp luatools.XXXXXXXX) printf "Pregenerating ConTeXt MarkIV format. This may take some time... " if luatools --make cont-en > $tempfile 2>&1 ; then rm -f $tempfile echo "done." else exec >&2 echo echo "luatools --make cont-en failed. Output has been stored in" echo "$tempfile" echo "Please include this file if you report a bug." echo exit 1 fi fi ;; esac
# Automatically added by dh_installtex/1 ## ## postinst-tex ## ## postinst snippets for everything TeX related ## simply call update-texmf-config triggers ## ## Authors: ## Norbert Preining preining@logic.at ## #
case "$1" in configure|abort-upgrade|abort-remove|abort-deconfigure) update-texmf-config format ;; esac
# End automatically added section # Automatically added by dh_installdeb/12.1.1ubuntu1 dpkg-maintscript-helper rm_conffile /etc/texmf/fmt.d/20context.cnf 2015.05.18.20150601-1~ -- "$@" # End automatically added section