[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: diffutils verwijderen?



On Wed, Dec 09, 2009 at 02:04:42PM +0100, henk van ballegooijen wrote:
> Een lagere versie van diff <= 2.8.1-12 samen met een hogere versie
> van diffutils lijkt me enigszins onmogelijk omdat er dan bestanden
> dubbel geïnstalleerd zouden zijn, iets wat dpkg normaal niet
> toestaat.

Inderdaad, normaal niet; maar met de 'Replaces: diff' wordt dat wel
toegestaan, omdat het pakket dan zegt dat het een (eventueel
gedeeltelijke) vervanging van het andere pakket is, en dat het
overschrijven van bestanden verwacht en gewenst.

> Om dit toch voor elkaar te krijgen (overigens meestal niet
> verstandig!) moet je dpkg vanaf de commandline draaien met de
> --force optie.

Niet in dit geval.

> Dus volgens mij is het zo, dat wanneer van zowel diff als diffutils
> de versie hoger is dan 2.8.1-12, je diff veilig kunt verwijderen en
> diffutils niet.
> Maar het kan weinig kwaad om allebei gewoon te laten staan.
> Downgraden naar diff versie <=2.8.1-12 lijkt me een stuk lastiger
> omdat dit waarschijnlijk niet gaat zonder foutmeldingen van je
> pakketmanager en om eerst diffutils te verwijderen is waarschijnlijk
> gevaarlijk omdat het niet zeker is of je dan diff ooit nog kunt
> installeren.

Waarschijnlijk niet via dpkg. Wel via de 'ar' methode (dat kan altijd
als je een shell hebt -- ik heb zo ooit mijn libc terug geïnstalleerd
nadat zelfs bash niet meer wilde starten[1]), maar die is wat complexer:

ar x package.deb

maakt drie bestanden aan in de huidige directory: data.tar.gz,
control.tar.gz, en debian-binary.

tar xvzf data.tar.gz -C /

Pakt data.tar.gz uit in de root, en overschrijft bestanden. Dit bestand
bevat de bestanden die op schijf geschreven moeten worden. Resultaat is
nu dat je systeem zou moeten werken, maar dat dpkg absoluut geen idee
meer heeft van wat er nu precies op het systeem staat. Daarom doe je
best daarna:

dpkg -i package.deb

en eventuele waarschuwingen of foutmeldingen gewoon negeren.

Dit zal de bestanden nogmaals overschrijven, maar zo ben je wel zeker
dat de dpkg database in sync is met de daadwerkelijke situatie.

[1] http://grep.be/blog/en/computer/debian/m68k/potato_to_sid

-- 
The biometric identification system at the gates of the CIA headquarters
works because there's a guard with a large gun making sure no one is
trying to fool the system.
  http://www.schneier.com/blog/archives/2009/01/biometrics.html


Reply to: