Toon posts:

Package manager vragen

Pagina: 1
Acties:

  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
Wat gebeurt er onder de motorkap in een package manager, hoe checked hij of er iets stuk is ?

Stel je voor ik compile vanaf source een executable en vervang die met degene die in /usr/bin staat. In hoeverre gaat een package manager dit detecteren ?

And this !! Is to go even further beyond!!!


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:19

Hero of Time

Moderator LNX

There is only one Legend

Niet. De package manager houd de staat, versie en dependencies bij in een apart bestand. Dit is per distro verschillend, maar bij Debian based is dit in /var/lib/dpkg/status. Er wordt hier bijgehouden welke packages er geïnstalleerd zijn, welke versie het is en wat de dependencies zijn.

Als je dus een programma zelf compileert, wordt deze versie niet bij de package manager geregistreerd, tenzij je er zelf een package van maakt en deze via de package manager installeert. Het wordt ook niet aangeraden om software die in de repo te vinden is te vervangen met zelf gecompileerde versies en dat in /usr/bin te plaatsen. Beter is om dat in /usr/local/bin te laten komen. Die map staat vooraan in je $PATH. Zo wordt de versie in /usr/local gebruikt ipv de versie in /usr/bin. Op die manier kan je gebruik maken van een nieuwere versie zonder andere packages eventueel als broken te markeren die hier afhankelijk van zijn. De versie in de repo zorgt ervoor dat de packages niet als broken worden gezien door de package manager en daardoor mogelijk andere packages gaat verwijderen, of de dependency gaat installeren (die is er al).

Commandline FTW | Tweakt met mate


  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
Bedankt, een package manager is dus vriendelijker gezind dan ik dacht.

And this !! Is to go even further beyond!!!


Anoniem: 26306

Dat is wel heel kort door de bocht. Op RPM-based systemen zoals Red Hat, CentOS en Fedora wordt wel degelijk bijgehouden of een bestand is vervangen of niet. Er wordt bijgehouden of de file is veranderd en of de rechten zijn veranderd. Hoe zou je anders een package kunnen verifyen.

Overigens kun je dan nog steeds gewoon binaries vervangen als je er zin in hebt, maar inderdaad loop je de kans dat het wordt overschreven. Zelf gecompileerd spul hoort inderdaad in /usr/local

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:19

Hero of Time

Moderator LNX

There is only one Legend

Ik ben niet zo bekend met RPM based systemen en al helemaal niet met hun package management. Ik vind het irritant dat ze niet overal hetzelfde principe hanteren zoals Debian dat doet (de een gebruikt yum, de ander yast, weer een ander iets anders). Er is geen standaard bij hun.

Mijn antwoord is misschien kort door de bocht, maar het is niet geheel fout. Het is wel nogal zwart/wit gezien, zoals je het zelf uitlegt.

Commandline FTW | Tweakt met mate


  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
Toch mis ik rpm -verify op mijn Ubuntu systeem dus ik heb gelijk debsums maar even geïnstalleerd. Lijkt me toch geen overbodige luxe om te kijken of mijn systeem nog in orde is. En snap eerlijk gezegd ook niet waarom het er niet standaard in zit.

And this !! Is to go even further beyond!!!


Acties:
  • 0Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

lamko schreef op zaterdag 25 juni 2011 @ 21:07:
Toch mis ik rpm -verify op mijn Ubuntu systeem dus ik heb gelijk debsums maar even geïnstalleerd. Lijkt me toch geen overbodige luxe om te kijken of mijn systeem nog in orde is. En snap eerlijk gezegd ook niet waarom het er niet standaard in zit.
In het kort: filosofie.

Bij debian gaan ze er vanuit dat je helemaal niets gaat vervangen van het standaard systeem. Mocht je dat wel willen; dan voorzien ze in twee mechanismes:

- update-alternatives.
Als er meerdere alternatieven mogelijk zijn voor een bepaalde binary kan je hiermee aangeven welk alternatief je precies wilt gebruiken. Je hoeft dus niets in /usr/bin te wijzigen.

- Eigen deb's bouwen.
Mocht je dingen willen wijzigen die buiten de scope van de door het systeem aangeleverde utils vallen, doen je zelf een deb te maken die dan dus weer door dpkg op het systeem wordt geinstalleerd.

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee