Pakketten in DEBIAN - Deel I (Pakketten, opslagplaatsen en pakketbeheerders.)

Groeten, beste cyberlezers,

Dit wordt de eerste publicatie van een serie van 10 gerelateerd aan Pakketstudie, die van het grootste belang zijn voor elke gebruiker van GNU / Linux-besturingssystemen in het algemeen, maar gericht op DISTRO DEBIAN.

DEBIAN-pakketten

In dit eerste deel zullen we ons concentreren op het conceptuele: Pakketten, opslagplaatsen en pakketbeheerders.

  • colli

Een softwarepakket een GNU / Linux-besturingssysteem is over het algemeen een gecomprimeerd bestand dat een vooraf gedefinieerde interne structuur heeft die het vergemakkelijkt en laat manipuleren door Software Management Tools (pakketbeheerders) om de compilatie en / of installatie, update en / of verwijdering ervan op het besturingssysteem op een comfortabele, veilige, stabiele en gecentraliseerde manier te bereiken. Een pakket is compileerbaar als uw installatie rechtstreeks op uw broncode is gebaseerd (Bijv. * .Tar.gz) o installeerbaar als je het doet in binaire bestanden die al zijn gecompileerd voor een bepaalde architectuur of platform (Bijv. * .Deb).

De meeste pakketten worden geleverd met uw documentatie inbegrepen, Zijn scripts voor en na installatie, Zijn initiële configuratiebestanden, Zijn resource-bestandenen hun binaries of broncode met alles wat je nodig hebt als het bedoeld is om te worden samengesteld.

De meeste pakketformaten worden geleverd met hun bijbehorende Hulpprogramma's voor softwarebeheer, de bekendste zijn de .deb gemaakt voor de DEBIAN Distro en al zijn afgeleiden, en .rpm gemaakt door Red Hat voor zijn eigen Distro en afgeleid zoals Fedora en Open SUSE. Er zijn ook de compileerbare pakketten Gentoo .gebouwen.

Het feit dat een pakket is gemaakt voor een bepaalde Distro, betekent niet dat het alleen in die Distro of afgeleiden kan worden gebruikt, aangezien het voldoende is om gespecialiseerde tools in een andere Distro te hebben voor het beheer van deze formaten om ze te kunnen gebruiken. Onder die tools hebben we: Dpkg, Apt-get, Aptitude, RPM, Emerge, Alíen, onder anderen).

Elke Distro behoudt zijn pakketten in repositories, zowel in media als Cd's / dvd's zoals in Externe servers, wat toestaat update en installeer via het netwerk (internet) het gehele of een deel van het besturingssysteem van een veilige en betrouwbare locatie (officiële repositories) zodat u niet hoeft te zoeken naar onbekende (en onveilige) servers, tenzij strikt noodzakelijk.

Elke Distro draagt ​​gewoonlijk zijn eigen bijdrage beveiligingspakketten (patches) en verbeteringen (updates), om beschikbaar te stellen aan hun Gebruikersgemeenschappen veel van perfect functionele software geïntegreerd in het besturingssysteem. En wat betreft de afhankelijkheden tussen elk pakket, ze meestal automatisch worden beheerd om mogelijke problemen te vermijden minder deskundige gebruikers.

Compileren of installeren? Het goede aan compileren In tegenstelling tot installeren, kan worden gezegd dat het belangrijkste de mogelijkheid is om compilatie-opties voor uw systeem en gebruikte software te specificeren die een beter gebruik van bronnen mogelijk maken en zich aanpassen aan de voorkeuren van de gebruiker / beheerder, en het slechte hoe traag en ingewikkeld dit proces kan zijn. Omdat over het algemeen de het installeren van een pakket (bijv. * .deb) is erg snel en gemakkelijkMaar worden meestal niet goed bijgewerkt of aangepast aan de verspreiding van ons gebruik of de bronnen van onze computerapparatuur.

Als je meer wilt weten over de DEBIAN-pakketten Ik laat de volgende links hieronder voor uw gedetailleerde lezing:

  1. DEBIAN - Pakketten
  2. Debian Developer's Corner
  3. Debian Gids voor nieuwe ontwikkelaars
  4. Gids voor het maken van pakketten in Debian
  • repositories

Repositories zijn groot Servers (extern / intern) ze gedragen zich als Databanken die de applicaties (pakketten) hosten die onze op Linux gebaseerde besturingssystemen nodig hebben, Of oud, huidig, nieuw of in ontwikkeling, die zijn geïnstalleerd met een Pakket manager. Dit alles met als doel houd het besturingssysteem up-to-date vooral in zaken van beveiligingspatches. Repositories kunnen van twee (2) typen: officieel en niet-officieel.

Linux-gebaseerde besturingssystemen (Distros) Ze hebben meestal een bestand waarin de lijst met repositories (officieel of niet) waartoe we toegang hebben via het Pakket manager voor Downloaden, installeren, bijwerken of verwijderen. Dit bestand bevindt zich doorgaans op de locatie / etc / pakketmanager_naam / waar "Pakketmanager_naam" dit is gewoonlijk de naam van de pakketbeheerder van de Distro. Bijvoorbeeld in DEBIAN zou in /etc/apt/sources.list staan.

De officiële repositories slaan de pakketten op van de applicaties die onze Distro ondersteunt. Ze zijn altijd onderverdeeld in een structuur (van takken en versies) die, afhankelijk van het beleid van hun makers, onder een zeer rigoureus beoordelingsprotocol garanderen (verzekeren) dat alle pakketten die ze bevatten in een optimale staat verkeren en geen veiligheidsrisico's of stabiliteit voor het systeem, en nieuwe of in ontwikkeling in aparte branches voor die meer gevorderde of ervaren gebruikers.

In het geval van DEBIAN hebben de Repositories 3 takken:

  • Hoofd: Branch die alle pakketten opslaat die zijn opgenomen in de officiële Debian-distributie en die gratis zijn volgens het Debian-richtlijnen voor vrije software. De officiële Debian-distributie bestaat volledig uit deze tak.
  • Bijdragen (bijdrage): Branch die de pakketten opslaat waarvan de makers hen een gratis licentie hebben gegeven, maar die afhankelijk zijn van andere programma's die niet gratis zijn.
  • Niet vrij: Branch die pakketten opslaat die een zware licentievoorwaarde hebben die het gebruik of de herdistributie ervan beperkt.

DEBIAN Repositories zijn onderverdeeld in versies:

  • OldStable (oude stal):  Versie die pakketten opslaat die tot de oude stabiele versie van DEBIAN behoren. Momenteel behoort dit tot de Wheezy-versie.
  • Stal:  Versie die de pakketten opslaat die bij de huidige stabiele versie van DEBIAN horen. Momenteel behoort dit tot de Jessie-versie.
  • Testen:  Versie die de pakketten opslaat die bij de toekomstige stabiele versie van DEBIAN horen. Momenteel behoort dit tot de Stretch-versie.
  • Instabiel: Versie die pakketten opslaat die behoren tot toekomstige pakketten die continu worden ontwikkeld en getest en die uiteindelijk bij Version Testen door DEBIAN. Dit behoort altijd tot de SID-versie.

Opmerking: Vaak gaat de versienaam meestal vergezeld van het voorvoegsel "-Updates" o "-Voorgestelde-updates" om dat te benadrukken paquetes daar opgeslagen, hoewel ze tot die versie behoren meestal meer bijgewerkt, aangezien ze recenter uit de volgende hogere versie. Op andere momenten als het om Beveiligingsopslagplaats het voorvoegsel is meestal «/ Updates».

DEBIAN Repositories kunnen worden gefilterd op hun inhoud:

  • net zo: Repositories die alleen gecompileerde pakketten bevatten.
  • deb-src: Repositories die alleen de broncodes van de beschikbare gecompileerde pakketten bevatten.

Voorbeelden van repositories voor DEBIAN:


#######################################################
# REPOSITORIOS OFICIALES DE LINUX DEBIAN 8 (JESSIE)
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
# deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
# deb http://ftp.us.debian.org/debian/ jessie-backports main contrib non-free
# deb http://www.deb-multimedia.org jessie main non-free
# aptitude install deb-multimedia-keyring
# ####################################################

Opmerking: Die regels die beginnen met het personage »#« ze zijn uitgeschakeld vanuit Pakketbeheer. Dit karakter wordt ook gebruikt voor opmerkingen invoegen zoals Repository Line Beschrijvingen of de opdrachtregel die moet worden gebruikt voeg de Repository Keys toe beschreven.

  • Pakketbeheerders

In het verleden werden veel Linux-pakketten (programma's) gedistribueerd als broncode en moesten ze worden getransformeerd (gecompileerd) naar het vereiste programma of de set programma's, plus hun respectievelijke documentatie (man-pagina's), configuratiebestanden en al het andere dat nodig was. . Momenteel gebruiken de meeste Linux Distros pakketten (vooraf gemaakte programma's of sets van programma's), die klaar zijn om in de genoemde distributie te worden geïnstalleerd.

Met deze Hulpprogramma's voor pakketbeheer u kunt gemakkelijk ken, download, installeer, update en verwijder elk pakkete. In ons geval voor DEBIAN we zullen ons concentreren op Apt-get, Aptitude, Apt en DPKG pakketbeheerders. die zowel DEBIAN als de Distros gebruikt die zijn afgeleid van DEBIAN (zoals Ubuntu).

Hoewel de basisfunctie voor pakketbeheer veel krachtiger is via opdrachten van de Terminal (Console), hebben Linux-ontwikkelaars die altijd hun best doen om Linux gebruiksvriendelijker te maken, deze aangevuld basisgereedschap met anderen Tools met grafische gebruikersinterfaces (GUI-tools), die proberen de mogelijke complexiteit van de basisinstrumenten te verminderen om de eindgebruikers niet ingewikkeld te maken.

Maar in principe kunnen ze allemaal dezelfde basisbewerkingen uitvoeren die al op de pakketten staan ​​vermeld. Hoewel de basisfuncties opdrachtregelfunctionaliteit hebben, kunnen de extra tools gebruikersvriendelijkere interfaces bieden. En ze kunnen allemaal pakketten van internet ophalen, aangezien informatie voor geïnstalleerde pakketten meestal in één database wordt bewaard.

Hieronder staan ​​de meest bruikbare en algemene opdrachtopdrachten in elk van de Pakketbeheerders:


Apt-get:

Actualizar Listas: apt-get update
Chequear actualización de Listas: apt-get check
Instalar paquete: apt-get install nombre_paquete
Reinstalar paquete: apt-get install --reinstall nombre_paquete
Actualizar Distro: apt-get upgrade / apt-get dist-upgrade / apt-get full-upgrade
Actualizar paquete: apt-get upgrade nombre_paquete
Actualizar paquetes usando dselect: apt-get dselect-upgrade
Eliminar paquetes: apt-get remove / apt-get autoremove
Purgar paquetes: apt-get purge
Conocer paquete: apt-cache show nombre_paquete / apt-cache showpkg nombre_paquete
Listar paquetes: apt-cache search nombre_paquete
Listar dependencias de un paquete: apt-cache depends nombre_paquete
Listar paquetes instalados: apt-cache pkgnames --generate / apt-show-versions
Validar dependencias incumplidas de un paquete: apt-cache unmet nombre_paquete
Configurar dependencias de un paquete: apt-get build-dep nombre_paquete
Descargar paquetes: apt-get source nombre_paquete
Corregir problemas post-instalación de paquetes: apt-get install -f
Forzar ejecución de orden de comando: apt-get comando  -y
Eliminar descargas de paquetes: apt-get clean
Eliminar paquetes obsoletos y sin usos: apt-get autoclean
Otros importantes: apt-file update / apt-file search nombre_paquete / apt-file list nombre_paquete

Nota: Para mayor información sobre este comando ejecute la orden de comando: man apt-get  
 

Aptitude:

Actualizar Listas: aptitude update
Instalar paquete: aptitude install nombre_paquete
Reinstalar paquete: aptitude reinstall nombre_paquete
Actualizar Distro: aptitude upgrade / aptitude safe-upgrade / aptitude full-upgrade
Actualizar paquete: aptitude upgrade nombre_paquete
Eliminar paquetes: aptitude remove
Purgar paquetes: aptitude purge
Listar paquetes: aptitude search nombre_paquete
Listar paquetes instalados / rotos: apt search [*] | grep "^i" / apt search [*] | grep "^B"
Configurar dependencias de un paquete: aptitude build-dep nombre_paquete
Descargar paquetes: aptitude download nombre_paquete
Corregir problemas post-instalación de paquetes: aptitude install -f
Forzar ejecución de orden de comando: aptitude comando  -y
Eliminar descargas de paquetes: aptitude clean
Eliminar paquetes obsoletos y sin usos: aptitude autoclean
Otros importantes: aptitude (un)hold, aptitude (un)markauto, why, why-not
Conocer paquete:
aptitude show nombre_paquete
aptitude show "?installed ?section(fonts)" | egrep '(Paquete|Estado|Versión)'
aptitude show "?not(?installed) ?section(fonts)" | egrep '(Paquete|Estado|Versión)'
aptitude show "?section(fonts)" | egrep '(Paquete|Estado|Versión)'

Nota: Para mayor información sobre este comando ejecute la orden de comando: man aptitude  

Apt:

Actualizar Listas: apt update
Instalar paquete: apt install nombre_paquete
Reinstalar paquete: apt install --reinstall nombre_paquete
Actualizar Distro: apt upgrade / apt full-upgrade
Actualizar paquete: apt upgrade nombre_paquete
Eliminar paquetes: apt remove / apt autoremove
Purgar paquetes: apt purge
Conocer paquete: apt show nombre_paquete
Listar paquetes: apt search nombre_paquete
Listar paquetes instalados / actualizables: apt list --installed / apt list --upgradeable
Corregir problemas post-instalación de paquetes: apt install -f
Forzar ejecución de orden de comando: apt comando  -y
Eliminar descargas de paquetes: apt clean
Eliminar paquetes obsoletos y sin usos: apt autoclean
Otros importantes: apt edit-sources

Nota: Para mayor información sobre este comando ejecute la orden de comando: man apt

DPKG:

Instalar paquete: dpkg -i nombre_paquete
Eliminar paquete: dpkg -r nombre_paquete / dpkg --force -r nombre_paquete / dpkg --purge -r nombre_paquete
Purgar paquete: dpkg -P nombre_paquete
Descomprimir paquete: dpkg --unpack nombre_paquete
Conocer paquete: dpkg -c nombre_paquete / dpkg --info nombre_paquete / dpkg -L nombre_paquete
Buscar archivos de paquetes instalados: dpkg -S nombre_archivo
Configurar paquetes: dpkg --configure nombre_paquete / dpkg --configure --pending / dpkg --configure -a
Listar paquetes: dpkg -l patrón_búsqueda / dpkg --get-selections nombre_paquete / dpkg --get-selections | grep -v deinstall > lista-paquetes-actuales.txt

Nou, tot nu toe hoop ik in dit bericht dat de inhoud nuttig voor je is.


14 reacties, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Kavra kavra zei

    Een opmerking ... gentoo .ebuilds zijn geen pakketten als zodanig, het zijn scripts die aangeven hoe het pakket zal worden geïnstalleerd, meestal vanuit de broncode met de door de ontwikkelaar gekozen verpakking.

  2.   Chaparral zei

    Uitstekende informatie. Ik zal het samen met andere afleveringen houden die al op Debian zijn gepubliceerd, omdat ze erg nuttig voor me zullen zijn. Ik dank de auteur voor zijn buitengewone werk en input.

  3.   Melvin zei

    Excellente José Albert, je valt echt op, gefeliciteerd en blijf ons begeleiden

  4.   Melvin zei

    Heel goed José Albert blijft ons feliciteren

  5.   Melvin zei

    Zeer goed artikel

  6.   Venturi zei

    Bedankt voor uw bijdrage, hoewel er enkele fouten in staan. Een vraag uit nieuwsgierigheid: bent u op een of andere manier een Debian-ontwikkelaar of bijdrager? Bedankt voor het verspreiden van de informatie over hoe met Debian samen te werken, naar mijn smaak was het nodig om de mogelijkheid te vermelden om mee te werken aan de altijd noodzakelijke vertalingen of herzieningen van vertalingen van pakketten, installatieprogramma's, webpagina's, enz ... Hetzelfde is gereserveerd voor toekomstige leveringen.

    Groeten en aanmoediging met de publicatie.

  7.   José Albert zei

    Nee! Ik ben geen officiële ontwikkelaar of directe bijdrager aan DEBIAN, hoewel ik ongeveer 2 individuele pakketten en veel scripts voor die distributie heb gemaakt. En ik hoop wat je me hebt verteld in een andere post op te nemen. En bedankt voor je steun!

    DEBIAN is mijn favoriete Distro!

    1.    Manuel "Venturi" Porras Peralta zei

      Zoals het hoort te zijn! 🙂

  8.   Alexander TorMar zei

    Uitstekend artikel ... Gefeliciteerd, ik ben een liefhebber van gratis software en ik studeer informatica en dit is erg handig
    Groeten uit Bogotá

  9.   oscar zei

    Heel erg bedankt voor je tijd en geduld ... en voor het delen !!!

    een groet!
    Dank u !!!!

  10.   José Albert zei

    Heel erg bedankt voor al je ondersteunende opmerkingen, felicitaties en motivatie!

  11.   Carlos Reyes zei

    Heel erg bedankt, althans voor degenen onder ons die nog veel over het onderwerp weten.

  12.   vlot zei

    Uitstekend, voor indiening en overleg, bedankt voor de bijdrage.

  13.   redder zei

    Wat een goede materiële Antonio-vriend, begrijpelijk en van goed gebruik ...