Ubuntu

Pakketafhankelijkheidsfouten in Ubuntu voorkomen en oplossen?

Pakketafhankelijkheidsfouten in Ubuntu voorkomen en oplossen?
Pakketafhankelijkheidsfouten kunnen optreden in Ubuntu na het installeren van sommige apps. Beslissingen die door gebruikers worden genomen tijdens de installatie of problemen op systeemniveau die buiten de controle van gebruikers vallen, kunnen leiden tot kapotte pakketten.

Als u woorden als "onvervulde afhankelijkheden", "gebroken pakketten", "pakketten zijn achtergehouden" in terminaluitvoer ziet, is de kans groot dat u afhankelijkheidsconflicten hebt. Dit artikel somt een aantal methoden op die kunnen worden gebruikt om dit soort afhankelijkheidsfouten te voorkomen en op te lossen. Merk op dat de hieronder voorgestelde methoden niet in willekeurige volgorde staan:.

Pakketten bijwerken

Het allereerste dat u in geval van fouten moet doen, is het update-commando uitvoeren. Het ververst alle officiële en externe opslagplaatsen die u aan uw systeem hebt toegevoegd en haalt een nieuwe lijst met pakketten op. Het uitvoeren van de update-opdracht vanaf terminal omzeilt de gefaseerde uitrol van officiële Ubuntu-pakketten via de GUI-updater, zodat u altijd de nieuwste lijst met pakketten krijgt.

U kunt repository's bijwerken door de volgende opdracht uit te voeren:

$ sudo apt-update

Pakketdownloadserver wijzigen

Als u foutmeldingen krijgt dat het pakket niet kan worden gevonden wanneer u de bovenstaande update-opdracht uitvoert, probeer dan de downloadspiegels te wijzigen. Ubuntu-pakketten worden aan eindgebruikers geleverd vanaf servers over de hele wereld. Soms zijn er slechts gedeeltelijke of kapotte pakketupdates beschikbaar vanaf deze servers, wat resulteert in fouten tijdens de update. Dit probleem wordt meestal na een tijdje automatisch opgelost wanneer alle Ubuntu-pakketten correct zijn gekloond in deze mirrors. U kunt de spiegellocatie echter handmatig wijzigen om dit probleem op te lossen.

Om de downloadserver te wijzigen, start u de app "Software & Updates" vanuit het app-opstartprogramma. Op het tabblad "Ubuntu-software" is het bijna gegarandeerd om eventuele problemen met de beschikbaarheid van pakketten op te lossen door "Hoofdserver" in de vervolgkeuzelijst "Downloaden van" te selecteren. De downloadsnelheid kan echter laag zijn, afhankelijk van uw locatie en de nabijheid van de servers. Ubuntu selecteert standaard een server die je maximale snelheid geeft op basis van je huidige locatie. U kunt het overschrijven door een vermelde server te kiezen of door op "Selecteer beste server" te klikken om de keuze op Ubuntu te laten.

Upgrade-pakketten

Het upgraden van geïnstalleerde pakketten kan afhankelijkheidsfouten oplossen. Er zijn twee commando's beschikbaar om Ubuntu-pakketten te upgraden, beide met verschillend gedrag:

De commando's om respectievelijk te upgraden en dist-upgrade zijn:

$ sudo apt-update
$ sudo apt dist-upgrade

In cache en resterende pakketten opschonen

Ubuntu's pakketbeheerder "apt" houdt gedownloade pakketten in een cachemap. De volgende keer dat u een pakket opnieuw moet installeren dat al in de cache is opgeslagen, haalt Ubuntu het deb-pakket uit de cachemap in plaats van het opnieuw te downloaden van de server. Het wissen van deze cache maakt schijfruimte vrij en helpt in sommige gevallen ook bij het oplossen van afhankelijkheids- en installatiefouten.

De pakketcache van Apt kan worden gewist door de onderstaande opdracht uit te voeren:

$ sudo apt clean

Er is nog een ander apt-commando "autoclean" dat de pakketcache wist. In plaats van de hele map te wissen, worden echter alleen pakketten verwijderd die van de opslagplaatsservers zijn verwijderd.

$ sudo apt autoclean

Doe een schijninstallatie

Het is mogelijk om de installatie van een pakket te simuleren om eventuele fouten te controleren die optreden tijdens de echte installatie. Voer de onderstaande opdracht uit terwijl u "pakketnaam" vervangt door uw gewenste pakketnaam (zonder aanhalingstekens) om een ​​schijninstallatie uit te voeren.

$ sudo apt install --dry-run "pakketnaam"

Een schijnverwijdering kan op dezelfde manier worden gedaan:

$ sudo apt remove --dry-run "pakketnaam"

Gebroken pakketten repareren

Het is mogelijk om gebroken pakketten en onvervulde afhankelijkheden te hebben, vooral wanneer u meerdere pakketten tegelijk installeert. Met de onderstaande opdracht wordt geprobeerd deze problemen op te lossen door kapotte afhankelijkheden te installeren en te repareren of door een pakket helemaal te verwijderen dat verantwoordelijk is voor afhankelijkheidsconflicten.

$ sudo apt -f install

Pakketten configureren mislukt vanwege onderbrekingen

Soms stopt de apt-pakketbeheerder abrupt met het achterlaten van pakketten die niet konden worden ingesteld. Deze onderbrekingen zijn meestal het gevolg van factoren buiten de controle van de apt-pakketbeheerder. Als u bijvoorbeeld per ongeluk de terminal hebt gesloten of als uw pc plotseling wordt uitgeschakeld, kan apt de installatie niet voltooien. Het uitvoeren van de onderstaande opdracht lost pakketfouten en afhankelijkheidsproblemen op die voortvloeien uit dit probleem.

$ sudo dpkg --configure -a

Gebruik PPA-Purge

Een "Persoonlijk pakketarchief" of een PPA is een softwarerepository waarmee Ubuntu-gebruikers nieuwe pakketten kunnen upgraden of installeren van niet-officiële bronnen. PPA-Purge is een tool die deze PPA-bronnen van derden verwijdert en pakketten die van PPA's zijn geïnstalleerd, downgradet naar standaardversies. Het gebruik van PPA-Purge lost alle afhankelijkheidsconflicten op die voortkomen uit pakketten die zijn geïnstalleerd of geüpgraded vanuit de PPA. Voer de volgende opdracht uit om de PPA-Purge-opdrachtregelapp in Ubuntu te installeren:

$ sudo apt install ppa-purge

Voer de opdracht in de volgende indeling uit om een ​​PPA op te schonen:

$ sudo ppa-purge “ppa:adres”

Bijvoorbeeld, Geany-teksteditor PPA toegevoegd van hier kan worden verwijderd door het commando uit te voeren:

$ sudo ppa-purge ppa:geany-dev/ppa

Aptitude Pakketbeheer gebruiken

Aptitude-pakketbeheerder kan worden gebruikt in plaats van de standaard apt-pakketbeheerder in Ubuntu om afhankelijkheidsfouten op te lossen. Aptitude is nieuwer dan apt-pakketbeheerder en biedt extra opties, een op een terminal gebaseerde frontend en algemeen gebruiksgemak. Aptitude combineert veel apt-opties in een enkele opdracht, zodat u niet meerdere opdrachten hoeft uit te voeren om fouten te herstellen.

Als u bijvoorbeeld aptitude pakketbeheerder gebruikt om zelfs maar een enkel pakket te verwijderen, krijgt u een optie om ongebruikte en overgebleven pakketten te verwijderen, terwijl er een apart commando in apt is om hetzelfde te doen. Aptitude is veel slimmer in het oplossen van afhankelijkheidsconflicten dan apt, het geeft meestal gedetailleerde feedback om conflicten op te lossen, met meerdere opties die door de gebruiker kunnen worden geselecteerd. Ik zorg er altijd voor dat aptitude en PPA-Purge op mijn systeem zijn geïnstalleerd voordat ik zeer experimentele pakketten ontvang.

Aptitude kan worden geïnstalleerd door onderstaande opdracht uit te voeren:

$ sudo apt install aptitude

Aptitude en apt delen veel opdrachtregelopties, waarbij aptitude een paar verschillen heeft. U kunt alle aptitude-opties verkennen vanuit hier.

Ubuntu Desktop-pakket opnieuw installeren

Als u het pakket "ubuntu-desktop" opnieuw installeert, worden essentiële pakketten opgehaald die standaard in Ubuntu zijn geïnstalleerd. Het krijgt alle pakketten die afhankelijk zijn van ubuntu-desktop metapakketa. Voer de onderstaande opdracht uit om ubuntu-desktop opnieuw te installeren:

$ sudo apt install --installeer ubuntu-desktop opnieuw

Merk op dat de bovenstaande opdracht alleen essentiële kernpakketten zal installeren en geen apps zoals Firefox, Thunderbird, videospeler enz.

Verwijder of schakel PPA's uit voordat u een upgrade uitvoert naar een nieuwere versie van Ubuntu

Hoewel Ubuntu alle PPA's uitschakelt voordat een systeemupgrade wordt uitgevoerd, moet u PPA's van derden handmatig verwijderen om onvervulde afhankelijkheidsfouten tijdens en na een systeemupgrade te voorkomen. De beste manier om dit te doen, is door het PPA-Purge-commando uit te voeren dat hierboven is uitgelegd.

U kunt ook alleen PPA-repository's verwijderen. Dit kan echter afhankelijkheidsfouten tijdens de upgrade niet voorkomen. PPA's kunnen op twee manieren worden verwijderd, de eerste omvat het gebruik van de opdrachtregel en de tweede vereist het gebruik van een GUI-app. Houd er rekening mee dat deze methoden alleen PPA-repository's verwijderen, waarbij alle eerder geüpgradede of geïnstalleerde pakketten in het systeem achterblijven.

Om een ​​PPA te verwijderen met behulp van de opdrachtregel, voert u de onderstaande opdracht uit in de volgende indeling:

$ sudo add-apt-repository --verwijder “ppa:name”

Bijvoorbeeld, Geany-teksteditor PPA toegevoegd van hier kan worden verwijderd door de opdracht uit te voeren:

$ sudo add-apt-repository --remove ppa:geany-dev/ppa

Om een ​​PPA te verwijderen met behulp van de GUI-methode, moet u meestal de app "Software en updates" starten vanuit het app-opstartprogramma. Vanwege een bug in Ubuntu werkt deze methode echter niet altijd en kan PPA's niet worden uitgeschakeld.

Om dit te omzeilen, moeten we Synaptic-pakketbeheerder installeren, een frontend voor apt. Voer de opdracht uit om Synaptic te installeren:

$ sudo apt install synaptic

Start "Synaptic Package Manager" vanuit het app-opstartprogramma. Klik op "Instellingen" > "Repositories". Ga naar het tabblad "Andere software" en klik op een PPA die u wilt verwijderen om deze te markeren. Klik onderaan op de knop "Verwijderen" om de PPA van het systeem te verwijderen. U kunt een PPA ook uitschakelen zonder deze te verwijderen, zodat deze opnieuw kan worden ingeschakeld na een systeemupgrade. Schakel hiervoor het selectievakje voor een PPA uit in. Nadat u de bovenstaande stappen hebt gevolgd, sluit u het venster "Software & Updates". Wanneer u wordt gevraagd om de repositories te vernieuwen, klikt u op de knop "Herladen".

Wees voorzichtig bij het toevoegen van nieuwe PPA's aan het systeem

Meestal treden afhankelijkheidsfouten op bij het gebruik van PPA's van derden of het installeren van deb-pakketten van niet-officiële bronnen. Er is ook een kans dat malware in uw systeem komt via een PPA. Daarom moet u altijd voorzichtig zijn bij het toevoegen van willekeurige PPA aan uw systeem. Voeg alleen een PPA toe als u de bron en beheerders / ontwikkelaars vertrouwt. Hoewel we tot nu toe nog nooit hebben gehoord van malware of adware die via PPA's wordt verspreid, is er altijd een risico, aangezien dit opslagplaatsen van derden zijn met pakketten die niet zijn geverifieerd door Ubuntu-ontwikkelaars.

Conclusie

Dit zijn enkele methoden die kunnen worden gebruikt om afhankelijkheidsfouten in Ubuntu op te lossen en te voorkomen. Dingen hebben de neiging om kapot te gaan, vooral wanneer u Ubuntu als uw belangrijkste ontwikkelomgeving gebruikt met tal van apps van derden en opdrachtregelprogramma's. De meeste van deze afhankelijkheidsfouten kunnen echter worden geminimaliseerd door apps van officiële, gerenommeerde en vertrouwde bronnen te installeren.

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...