Pakketten installeren op RHEL 8 / CentOS 8 Linux System

  • Eustace Evans
  • 0
  • 3271
  • 186
>

Alle moderne Linux-distributies organiseren software in pakketten die binaire bestanden van toepassingen, bestanden, metadata en informatie over de pakketafhankelijkheden, mogelijke conflicten met andere pakketten enz. Bevatten. De kernpakketbeheerder van Rhel wordt rpm zelf genoemd, en het is de tool die ook wordt gebruikt door dnf, de pakketbeheerder op een hoger niveau, die in staat is om afhankelijkheden te beheren. Een relatief recente technologie , flatpak, laten we ook sandbox-applicaties samen met hun runtimes installeren.

In deze tutorial leer je:
  • De drie belangrijkste manieren om een ​​pakket te installeren met behulp van rpm
  • Hoe pakketten te installeren met dnf
  • Hoe applicaties grafisch te installeren vanuit het gnome-software hulpprogramma
  • Hoe sandbox-applicaties te installeren met flatpak
De rpm-pakketbeheerhandleiding

Gebruikte softwarevereisten en -conventies

Softwarevereisten en Linux Command Line-conventies
Categorie Vereisten, conventies of gebruikte softwareversie
Systeem RHEL 8 / CentOS 8
Software De hulpprogramma's die in deze tutorial worden gebruikt, worden standaard geïnstalleerd, er is geen extra software nodig.
Andere Toestemming om het commando uit te voeren met root-privileges.
Conventies # - vereist dat gegeven linux-commando's worden uitgevoerd met root-privileges, hetzij direct als rootgebruiker, hetzij door gebruik van sudo opdracht
$ - vereist dat gegeven linux-commando's worden uitgevoerd als een gewone niet-geprivilegieerde gebruiker

Wat is een pakket?

In RHEL 8 / CentOS 8, zoals in alle moderne Linux-distributies, is software georganiseerd in repositories, in de vorm van pakketten. Maar wat is een pakket precies? Een pakket is in feite een gecomprimeerd archief dat de bestanden bevat die zijn gekoppeld aan een specifieke software, zoals gecompileerde binaire bestanden en bibliotheken, plus metagegevens en instructies over waar en hoe die bestanden op het systeem moeten worden geïnstalleerd, de externe afhankelijkheden die de software nodig heeft om correct te werken en meer. RHEL en CentOS gebruiken de tpm pakketformaat dat door Red Hat zelf is uitgevonden: in deze tutorial zullen we zien hoe u rpm-pakketten op Red Hat Enterprise Linux 8 kunt installeren en beheren.

RPM: The Red Hat Package Manager en yum / dnf

Om het beheer van rpm-pakketten te vergemakkelijken, is het rpm pakketbeheerder werd gemaakt. Hoewel het erg krachtig is, is het gericht op enkele pakketten, dus het is niet in staat om afhankelijkheden op te lossen. Om de relaties tussen pakketten te beheren en eerst de beruchte afhankelijkheidshel te vermijden jammie pakketbeheerder (Yellow Updater Modified) en vervolgens de evolutie ervan, dnf (Dandified YUM), werden aangenomen. Dnf werd voor het eerst geïntroduceerd in Fedora 18 en vervangt yum in de laatste versie van Red Hat Enterprise Linux.

Een pakket installeren met rpm

Een van de meest basale bewerkingen die we met rpm kunnen uitvoeren, is de installatie van een pakket. Zoals eerder gezegd, werkt dit alleen als het pakket geen externe afhankelijkheden heeft, aangezien rpm het niet kan beheren. Er zijn in principe drie manieren waarop we een pakket met rpm kunnen installeren: ze komen respectievelijk overeen met het -ik, -U en -F. opties.

Om een ​​nieuw pakket te installeren kunnen we rpm draaien met de -ik optie (afkorting voor --installeren). De syntaxis is heel eenvoudig:

$ sudo rpm -i verpakkingsnaam.tpm

Wanneer we de bovenstaande opdracht uitvoeren, wordt het opgegeven pakket alleen geïnstalleerd als het nog niet op het systeem is geïnstalleerd. Als we proberen een reeds geïnstalleerd pakket te installeren (in dit geval gedit), krijgen we een foutmelding:

$ sudo rpm -i gedit-3.28.1-3.el8.x86_64.rpm pakket gedit-2: 3.28.1-3.el8.x86_64 is al geïnstalleerd 

Merk op dat we hier voor hetzelfde "pakket" dezelfde exacte versie bedoelen. Deze installatiemethode is de aanbevolen methode om te gebruiken bij het uitvoeren van de installatie van een nieuwe kernel: in dergelijke situaties zal de nieuwe kernel naast de oudere bestaan, dus als iets niet werkt zoals verwacht, zal het mogelijk om ze als fallback te gebruiken.

Het gaat anders als we de -U optie, wat de afkorting is voor --upgrade. In dit geval, als een pakket nog niet in het systeem bestaat, wordt het geïnstalleerd; als er een eerdere versie van het pakket bestaat, wordt het pakket opgewaardeerd. Dit betekent dat nadat de nieuwere versie van het pakket is geïnstalleerd, de oudere worden verwijderd. Zoals we hierboven al zeiden, wordt het upgraden van een fundamenteel stuk software, zoals de aanwezige kernel, sterk afgeraden: het is beter om er absoluut zeker van te zijn dat de nieuwe kernel werkt zoals verwacht voordat je oudere versies verwijdert..

De -F. (of --freshen) optie doet iets anders. Wanneer het wordt gebruikt, worden alleen reeds bestaande pakketten bijgewerkt. Als een eerdere versie van het pakket dat we proberen te installeren niet al in ons systeem bestaat, is deze niet geïnstalleerd.

Een pakket installeren vanaf een externe locatie

Met tpm Het is ook mogelijk om een ​​pakket te installeren dat niet op ons lokale bestandssysteem staat. Stel dat we bijvoorbeeld een pakket willen installeren dat toegankelijk is via het ftp-protocol; het uit te voeren commando zou het volgende zijn:

$ sudo rpm -i ftp://ftp.someaddress.com/package.rpm

Het is ook mogelijk om een ​​gebruikersnaam en wachtwoord op te geven als authenticatie vereist is, inclusief dergelijke informatie in het adres:



$ sudo rpm -i ftp: // gebruikersnaam: [email protected]/package.rpm

Een pakket installeren met dnf

Hoewel dnf werkt bovenop rpm en biedt zeer nuttige functies zoals het beheer van softwareafhankelijkheden en de mogelijkheid om software te installeren vanuit de distributie-repositories. De metadata die onder andere in een rpm-pakket zijn opgeslagen, specificeren welke andere pakketten moeten worden geïnstalleerd om de software te laten werken, en, uiteindelijk, welke pakketten ermee kunnen conflicteren. Dnf, of zorgt voor het uitvoeren van alle benodigde bewerkingen, na ontvangst van de gebruikersbevestiging. Stel dat we bijvoorbeeld het vim pakket met behulp van dnf; we zouden rennen:

$ sudo dnf installeer vim

Na het uitvoeren van de bovenstaande opdracht, worden de uit te voeren bewerkingen en de lijst met te installeren afhankelijkheden op het scherm weergegeven:

Afhankelijkheden opgelost. ==================================================== ============================== Pakket Arch Versie Repository Grootte =============== ================================================== =============== Installeren: vim-verbeterde x86_64 2: 8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 1.4 M Afhankelijkheden installeren: gpm- libs x86_64 1.20.7-15.el8 rhel-8-for-x86_64-appstream-beta-rpms 39 k vim-bestandssysteem noarch 2: 8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 47 k vim-common x86_64 2: 8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 6,3 M Samenvatting transactie ================== ================================================== ============ Installeer 4 pakketten Totale downloadgrootte: 7,8 M Geïnstalleerde grootte: 30 M Is dit ok [j / N]: 

Als dnf wordt uitgevoerd vanuit een script dat bedoeld is om zonder toezicht te worden uitgevoerd, is het -y optie (afkorting van --veronderstellingen) kunnen worden gebruikt: op die manier krijgen alle antwoorden automatisch een 'ja'-antwoord en is interactie van de gebruiker vereist.

Net als rpm, laat dnf ons een pakket installeren dat zich op een externe url bevindt; het enige wat we hoeven te doen is het laatste specificeren:

$ sudo dnf installeer http: //path/to/package.rpm

Een pakket grafisch installeren

Bij het uitvoeren van het GNOME desktopomgeving, is het ook mogelijk om een ​​pakket grafisch te installeren met behulp van de gnome-software toepassing. Als het pakket bestaat in de distributie-repositories, kunnen we eenvoudig zoeken naar de applicatie die we willen installeren met behulp van het zoekveld:

Gnome software zoekinterface

Daarna kunnen we op de knop "installeren" klikken om de applicatie daadwerkelijk te installeren:

Gnome software-installatie-interface

Bij het installeren van een pakket met deze methode wordt een andere procedure gebruikt. De gnome-software applicaties zijn een frontend voor packagekit wat zelf een frontend van hoog niveau is die als een abstractie werkt boven de native pakketbeheerder van een distributie: het belangrijkste doel is om installaties op verschillende distributies te uniformeren. Het is ook belangrijk op te merken dat pakketten die op deze manier zijn geïnstalleerd, niet in de dnf-geschiedenis verschijnen, aangezien packagekit dit laatste niet onder de motorkap gebruikt.



Software installeren met flatpacks

Op RHEL 8 / CentOS 8 is een andere mogelijke manier om software te installeren, zowel vanuit de gnome-softwaretoepassing, als vanaf de opdrachtregel, door flatpacks te gebruiken. Flatpacks bieden sandbox-omgevingen waarbinnen software wordt geleverd samen met al zijn afhankelijkheden: dit maakt het mogelijk om een ​​specifieke versie van een programma te draaien op alle distributies die deze technologie ondersteunen, onafhankelijk van de native bibliotheken. De belangrijkste opslagplaats van flatpacks is flathub. Het installeren van een flatpack vanaf deze site met gnome-software is heel eenvoudig. Het enige wat we hoeven te doen is te zoeken naar de applicatie die we willen installeren en op het installeren knop. Flathub is de belangrijkste opslagplaats die wordt gebruikt voor flatpaks

Gnome-software zou automatisch moeten worden gestart: zo niet, open dan gewoon het gedownloade bestand ermee. Nadat we op de installatieknop hebben geklikt en indien nodig ons beheerderswachtwoord hebben opgegeven, wordt het pakket geïnstalleerd.

Gnome software flatpak installatie

Zodra we een flatpak op deze manier installeren, wordt de flathub-repository automatisch toegevoegd als een flatpak-bron, daarom wordt het mogelijk om te zoeken naar andere toepassingen die erin zijn opgenomen, rechtstreeks vanuit de interface van het gnome-softwarecentrum.

Het is mogelijk om dezelfde bewerkingen uit te voeren die we hierboven zagen vanaf de opdrachtregel met het commando flatpak. Bij gebruik van de flatpak hulpprogramma, is het mogelijk om te beslissen of de installatie globaal moet zijn of alleen voor een specifieke gebruiker. In het laatste geval zijn beheerdersrechten niet vereist, en de --gebruiker optie moet aan de opdracht worden verstrekt. Om de flathub-repository globaal toe te voegen, voeren we gewoon uit:

$ sudo flatpak remote-add - als-niet-bestaat flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Nu kunnen we ons pakket installeren. We moeten het volledige pakketpad opgeven en ook de naam van de externe repository waaruit we willen installeren. Om neovim te installeren, zouden we bijvoorbeeld het volgende uitvoeren:

$ sudo flatpak install flathub io.neovim.nvim Vereiste runtime voor io.neovim.nvim / x86_64 / stable (runtime / org.freedesktop.Sdk / x86_64 / 18.08) gevonden in flathub op afstand Wil je het installeren? [j / n]: 

Als we bevestigend antwoorden, worden het pakket en de runtime gedownload en geïnstalleerd in ons systeem. Als je meer wilt weten over de flatpak-technologie, kun je ons meer gedetailleerde artikel over dit onderwerp lezen

Conclusies

In deze tutorial hebben we verschillende manieren gezien om software te installeren op RHEL 8 / CentOS 8 Linux-systemen. Software is georganiseerd in pakketten, die op een laag niveau worden beheerd door de rpm-pakketbeheerder die afhankelijkheden niet automatisch kunnen oplossen. Om deze functie en meer te bieden, wordt het dnf-programma gebruikt, dat bovenop rpm werkt. Eindelijk leerden we sandbox-software te installeren met behulp van een relatief recente technologie, flatpak.




Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem