And this !! Is to go even further beyond!!!
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).
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
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
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.
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
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!!!
In het kort: filosofie.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.
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