Puncte:0

Cum repar apt-get check` a eșuat, este posibil să aveți pachete sparte

drapel in

Am încercat să repar o instalare autodl irssi defectă pe un server dedicat închiriat care rulează Ubuntu 18.04.1 LTS (GNU/Linux 4.9.0-15-amd64 x86_64) și Swizzin Box prin eliminarea și reinstalarea pachetului box autodl.

eliminarea autodl a dat:-

SUCCESS autodl a fost eliminat 
EROARE baza de date dpkg este blocată de apt-get. Vă rugăm să încercați din nou mai târziu

încercând să-l reinstalez a dat:-

INFO Instalarea autodl 
E: Nu puteți corecta problemele, ați reținut pachete sparte. 
EROARE Verificarea simulării a dus la o eroare. Vă rugăm să consultați jurnalul.

jurnalul arată

Se citesc listele de pachete...
Construirea arborelui de dependență...
Se citesc informații despre stare...
Poate doriți să rulați „apt --fix-broken install” pentru a le corecta.
Următoarele pachete au dependențe neîndeplinite:
 pkg-config : Depinde de: libdpkg-perl dar nu este instalat

rularea „apt --fix-broken install” dă:-

0 actualizat, 0 nou instalat, 1 de eliminat și 107 nu au fost actualizate.
După această operație, 193 kB de spațiu pe disc vor fi eliberați.
Doriți să continuați? [D/n] y

(Se citesc baza de date... 87206 fișiere și directoare instalate în prezent.)

Se elimină pkg-config (0.29-4+b1)...

Nu se poate localiza Dpkg/Arch.pm în @INC (poate fi necesar să instalați modulul Dpkg::Arch) (@INC conține: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26 .1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr /share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) la /usr/share/pkg-config-dpkghook linia 14.

BEGIN a eșuat--compilarea a fost întreruptă la /usr/share/pkg-config-dpkghook linia 14.

dpkg: eroare la procesarea pachetului pkg-config (--remove):

 Scriptul de pre-eliminare instalat subprocesul a returnat starea de ieșire de eroare 2

Au fost întâlnite erori în timpul procesării:

 pkg-config

E: Sub-procesul /usr/bin/dpkg a returnat un cod de eroare (1)

Are cineva sugestii cum pot rezolva această problemă?

EODCraft Staff avatar
drapel cn
Se pare că caută niște biblioteci Perl. Instalați Google Perl și vedeți cum să instalați acest pachet. `Dpkg::Modul Arch`
Paladinz avatar
drapel in
Încercarea de a instala perl dă
Paladinz avatar
drapel in
încercarea de a instala perl dă perl: Depinde: perl-modules-5.26 (>= 5.26.1-6ubuntu0.5) dar nu va fi instalat Depinde: libperl5.26 (= 5.26.1-6ubuntu0.5) dar nu va fi instalat pkg-config : Depinde de: libdpkg-perl dar nu va fi instalat Încercarea de a instala aceste oferă Următoarele pachete au dependențe neîndeplinite: pkg-config : Depinde: libdpkg-perl dar nu va fi instalat
Puncte:-1
drapel in

Încerca sudo apt --fix-broken install libdpkg-pearl. De asemenea, uitați-vă pentru a vedea dacă aveți pachete fixate: rulați politică potrivităși verificați dacă există ceva interesant. În acest caz, „interesant” include orice depozite terță parte: dacă linia nu include „ubuntu.com”, este suspect.

Există cazuri în care arhivele terțe (cele care nu sunt de la Canonical) sunt necesare, cum ar fi pentru software-ul proprietar care nu poate fi redistribuit sau când cea mai recentă versiune de software în amonte este o cerință grea. Cu toate acestea, aceste depozite TREBUIE să fie proiectate special pentru a funcționa cu instalarea de bază a oricărui sistem de operare pe care îl aveți și nu ar trebui să conțină pachete străine. Nu ar trebui să încercați niciodată să obțineți compatibilitate adăugând referințe la un alt sistem de operare: de exemplu, adăugând Debian Stretch ca sursă de pachet pentru o versiune Ubuntu Bionic. Pot apărea o mulțime de conflicte de pachete bizare și înlocuiri neașteptate.

Nu am reușit să recreez această situație într-un chroot: apt --fix-broken install a funcționat chiar și după niște eliminări agresive. Aptitude s-ar putea să vă ofere mai multe informații, dar mă îndoiesc că veți reuși să-l puneți în funcțiune, având în vedere că sunteți actual dezordinea pachetului. Un pastebin de dpkg --list ar fi următoarea informație de depanare.

Paladinz avatar
drapel in
mulțumesc Calum, `sudo apt --fix-broken install libdpkg-pearl` returnează `E: Imposibil de localizat pachetul libdpkg-pearl`. Nu știu suficient pentru a descoperi ce ar fi interesant în `politica apt`, dar rezultatul este [aici](https://pastebin.com/FkfuiQxd) dacă aveți timp să o priviți. ieșirea din `dpkg --list` este [aici](https://pastebin.com/StY6AGkk)
Paladinz avatar
drapel in
după ce am recitit comentariul tău, am observat corectarea automată și am rulat comanda cu perl nu pearl. se întoarce „S-ar putea să doriți să rulați „apt --fix-broken install” pentru a le corecta. Următoarele pachete au dependențe neîndeplinite: libdpkg-perl : Depinde: perl, dar nu va fi instalat Recomanda: libfile-fcntllock-perl dar nu va fi instalat Recomanda: libcale-gettext-perl dar nu va fi instalat`
Calum McConnell avatar
drapel in
@Paladinz Îmi pare rău pentru răspunsul târziu. Motivul pentru care am fost interesat de apt-policy este că pachetele fixate și alte lucruri ciudate pot interfera cu funcționarea normală a APT. Se pare că acesta este parțial cazul aici: nu rulați Ubuntu BONIC, ci în schimb un amestec de Debian Stretch, Buster-Backports și Bonic. Aceasta este o problemă masivă: aceste depozite nu sunt destinate să fie utilizate simultan. Deoarece versiunile progresează diferit, obțineți câteva pachete Ubuntu noi, câteva pachete Debian vechi și câteva pachete Debian super noi. O să vrei să repari asta.
Calum McConnell avatar
drapel in
@Paladinz soluția va fi puțin complicată. Parcurgeți fișierele sources.list și sources.list.d și eliminați orice include domeniul „debian.org”, precum și oglinzile leaseweb ale fișierelor debian. Se pare că singurele două depozite terțe de care aveți nevoie sunt sincronizarea și nodesource. Dacă aveți cu adevărat nevoie de versiunea upstream a acelui software, aruncați o altă privire la documentele de instalare ale acestora. Cu toate acestea, Node.JS, precum și SyncThing sunt disponibile în depozitele oficiale Ubuntu, așa că probabil că puteți elimina și acele linii. După aceasta, încercați din nou să depanați.
Paladinz avatar
drapel in
mulțumesc, toți avem vieți, așa că orice răspuns util este binevenit chiar dacă durează ceva timp :) O să curăț sursele și să văd ce se întâmplă.
Paladinz avatar
drapel in
Văd aceleași erori, chiar și cu `sources.list` care conține doar `deb http://security.ubuntu.com/ubuntu bionic-security main multiverse universe restricted` și `deb http://archive.ubuntu.com/ univers bionic ubuntu multivers restricționat`. Ieșirea din `apt-get update && apt-get dist-upgrade` și `apt --fix-broken install` este [AICI](https://pastebin.com/XedXXvqq). Scuzele mele dacă nu cunosc detaliile de bază, dar prietenul meu care a configurat sistemul a murit din cauza Covid și Unix nu este habitatul meu natural.
Calum McConnell avatar
drapel in
Bine, să încercăm `apt install --fix-broken perl pkg-config`. Se pare că problema este că cineva a încercat să îndepărteze manual o mulțime de pachete, inclusiv Perl: deoarece Perl este o parte esențială a unui sistem Debian, acest lucru a cauzat spargerea pe care o vedeți acum. Poate fi mai ușor să privim reinstalarea de la zero: există o mulțime de pachete care au fost eliminate (orice lucru marcat cu un „r” în ieșirea listei dpkg), dintre care multe sunt probabil necesare pentru ca acest server să funcționeze.
Paladinz avatar
drapel in
Da, eu am fost când sistemul a spus ceva de genul că nu este nevoie și să folosesc autoremove. **Nu a mers bine**. `apt install --fix-broken perl pkg-config` returnează `perl : Depinde de: perl-modules-5.26 (>= 5.26.1-6ubuntu0.5) dar nu va fi instalat | Depinde: libperl5.26 (= 5.26.1-6ubuntu0.5) dar nu va fi instalat | pkg-config : Depinde de: libdpkg-perl dar nu este instalabil | E: Dependențe nesatisfăcute. Încercați „apt --fix-broken install”.`. Pornirea de la zero va însemna mutarea a 15 tb de date, așa că va trebui să aprovizionez cu un nou server pentru a-l muta, poate fi singura opțiune.
Calum McConnell avatar
drapel in
Bine, așa că mi-am dat seama că nu am spus niciodată să șterg orice pachet fixat. Veți dori să faceți asta: este posibil ca pinul znc-perl să încerce să rețină tot Perl la 5.22. Pentru a șterge acești pini, eliminați orice din /etc/apt/preferences.d și /etc/apt/preferences. Apoi rulați politica apt pentru a confirma că sunteți curat.
Calum McConnell avatar
drapel in
De asemenea, am dat peste cap. `dpkg --list` nu este informațiile necesare pentru a depana aceste probleme. În schimb, ați putea să-mi furnizați conținutul lui `/var/lib/dpkg/status`? Fișierul respectiv conține suficiente informații suplimentare pentru ca eu să simulez cu acuratețe sistemul tău, ceea ce m-ar permite să nu mai dau ghiciri la tine care nu funcționează.
Paladinz avatar
drapel in
mulțumesc Calum, `politica apt` arată bine, rezultatul este [aici](https://pastebin.com/EZwfG2mc), ieșirea lui `/var/lib/dpkg/status` este [aici](https:// zerobin.net/?d3e9c1eb8fef7c7c#+wrxLlUwThDcR3nrwm8Tn7K6Mb6MljiEGBKHxM+2YAY=)
Calum McConnell avatar
drapel in
bine. Am reușit să obțin un sistem mai puțin deteriorat cu `sudo apt install --fix-broken libjpeg-turbo8-` (minusul de după numele pachetului indică eliminarea acestuia, ceea ce ajută apt să găsească soluția). Acest pachet pare a fi redundant și în conflict cu libturbojpeg0: deci este sigur de eliminat. Sistemul a fost încă blocat după aceea, cu o mulțime de pachete reținute, dar cu siguranță este mai funcțional. Puteți să-mi trimiteți din nou starea, după ce rulați comanda respectivă?
Paladinz avatar
drapel in
Din păcate, asta nu a ajutat, deoarece sistemul spune `Pachetul 'libjpeg-turbo8' nu este instalat, deci nu este eliminat` și dă obișnuita eroare `pkg-config : Depinde: libdpkg-perl, dar nu este instalabil`.
Calum McConnell avatar
drapel in
Văd problema: versiunile noastre apt sunt total diferite. Am testat o versiune de apt mult mai nouă decât cea pe care ați instalat-o în prezent: probabil că opțiunea --fix-broken a primit unele upgrade. Iată o comandă mai funcțională: `apt install --fix-broken build-essential cpp cpp-7 dpkg-dev g++ g++-7 gcc gcc-7 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libdpkg-perl libfile-fcntllock-perl libgcc-7-dev libgdbm-compat4 libgdbm5 libisl19 libcale-gettext-perl libmpc3 libmpfr6 libperl5.26 libstdc++-7-dev perl`.
Paladinz avatar
drapel in
ieșirea din comanda `apt install` este [AICI](https://zerobin.net/?69bb6e9b1fd15353#7fgTcFeiPqnBvMWGNV0FNU+KLcC+OyC5TSUST5krFww=) și rezultatul lui `/var/lib/dpkg/status` (https://zerobin.net/?262213e20afc38f6#qEmqTEuAjHONr1C0QxqnMNGFKnTYnf9eARek3IO5RZo=)
Calum McConnell avatar
drapel in
Am aruncat o altă privire asupra rezultatului politicii tale adecvate: se pare că îți lipsește „principal” din intrarea sources.list pentru archive.ubuntu.com. Îmi pare rău că nu l-am găsit înainte: adăugați „principal” la acel fișier (lângă unde scrie „univers” și „multiverse”, apoi încercați din nou.
Paladinz avatar
drapel in
Nu aș fi observat niciodată că lipsește, așa că totul este bine! intrarea sources.list are acum `deb http://archive.ubuntu.com/ubuntu bionic main universe multiverse restricted` și comanda `apt install` a funcționat, conținutul `/var/lib/dpkg/status` este [ AICI](https://zerobin.net/?d3778344ec7d302d#EJPGwsWwPBD91qiAipFV4VGLdRTfk7uidifE8ekNOYc=)
Calum McConnell avatar
drapel in
Bine, deci avem acum o instalare *funcțională* a Debian, să revenim la remedierea problemei inițiale de defectare a IRSSI-autodl. Acest lucru va necesita un efort de depanare: sunt dispus să pariez că o parte din DE CE a fost stricat inițial a fost din cauza nepotrivirilor nepotrivite ale versiunilor. De exemplu, în prezent rulați IRSSI de la Debian 9, spre deosebire de versiunea de la Ubuntu Bionic. Acest lucru poate fi rezolvat executând `apt install --reinstall irssi`: totuși, poate fi necesar să se repete de mai multe ori. Există, de asemenea, o mulțime de pachete (teoretic) nefolosite. Ce probleme vezi acum?
Paladinz avatar
drapel in
Acum nu văd deloc probleme, autodl este gestionat de interfața Swizzin Box și reinstalat prin aceasta (după ce am instalat git și am actualizat), totul pare să funcționeze perfect! Mulțumesc foarte mult Calum pentru tot efortul pe care l-ai depus în asta, este foarte apreciat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.