On 2006-04-11 Sven Arvidsson wrote:
[EMAIL PROTECTED] wrote: >> Nu har dpkg:s databas krympt, jag råkade installera bassystemet ifrån >> installat ionsskivan, det var inte så bra... >> >> Jag har hittat dpkg.status.0 i /var/backups men finns det något annat sätt >> att åtgärda detta? Backuppen var inte så ny. > >http://www.cs.duke.edu/~reynolds/projects/dpkg-rebuild > >Det där scriptet verkar kunna hjälpa dig, annars hittade jag ännu fler >tips här: >http://linuxmafia.com/faq/Debian/package-database-rebuild.html > >Hoppas att du får ordning på det. Tack!, tillslut fick jag ordning på det. Den bästa varianten är www.cs.duke.edu/~reynolds/projects/dpkg-rebuild, enligt min erfarenhet. Det är ett skript som återskapar /var/dpkg/status och lägger den nya i /tmp/status. Dock fick jag ingen ny information i den filen när jag körde skripte t (illa), men skriptet skriver också ut paketnamn på standard out, så jag tog och a nvände den listan och skickade till dpkg --set-selections. Idag provade jag att köra dpkg-rebuild och då skapade den en ny statusfil som verk ar innehålla de paket som finns, kanske var mitt system för trasigt för att skripte t skulle kunna skapa en ny status-fil, jag vet inte. Utifall att någon råkar ut för samma som mig och dpkg-rebuild inte lyckas skapa en ny statusfil skall jag berätta vad jag gjorde: ## ## BEGIN dpkg-rebuild | awk '{print $1 " install"}' > selection_list ## Detta är i princip "poängen" med vad som finns på ## http://linuxmafia.com/faq/Debian/package-database-rebuild.html ls /usr/share/doc | \ grep -v [A-Z] | \ grep -v '^texmf$' | \ grep -v '^debian$' | \ awk '{print $1 " install"}' \ > selection_list2 ## Sortera de båda listorna sort selection_list > selectionlist_sorted sort selection_list2 > selectionlist_sorted2 ## I mitt fall hittade dpkg-rebuild 120 fler paket, ## men enradsskriptet hittade 9 stycken unika, ## kanske berodde det på att jag installerat några paket ## då systemet var "trasigt" och officiellt inte hade ## "info" och liknade komandon istallerade. #diff -w selection_list_sorted selection_list_sorted2 | grep ">" | wc -l # #diff -w selection_list_sorted selection_list_sorted2 | grep "<" | wc -l ## Lägg till det som endast det ena skriptet hittade diff -w selection_list_sorted selection_list_sorted2 | \ grep ">" | cut -d ' ' -f 2,3 >> selection_list_sorted dpkg --set-selections < selection_list_sorted ## För säkerhets skull, kopiera etc, så ändringar blir kvar. cp -a /etc etc.org ## Välj install i dselect dselect mv etc etc.ny-grej mv etc.org etc ## ## END Nu blev det nog krångligare än nödvändigt, genom att göra dpkg-rebuild | awk '{print $1 " install"}' > selection_list ## kontrollera att filen ser ok ut dpkg --set-selections < selection_list cp -a /etc etc.org dselect mv etc etc.ny-grej mv etc.org etc kommer man nog ganska långt i alla fall. puh Tack för hjälpen! /pow -- If this (Superbowl) is the ultimate game, why are they playing it again next year? -Duane Thomas 1972 Superbowl VI -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]