[+] Problem z uszkodzonym pakietem
: 27 października 2008, 09:15
Witam,
Skompilowałem i zainstalowałem kernel 2.6.27. Jednak próbując usunąć poprzednie jądro dystrybucyjne narobiłem sobie niezłych kłopotów.
W tej chwili sytuacja wygląda tak, że pakietu nie można ponownie zainstalowacć, usunąć, skonfigurować, ani zatrzymać (hold).
Może kilka przykładów:
Ponowna instalacja:
Próba usunięcia:
Co gorsza, przez to nie mogę w ogóle użyać apt/get/aptitude:
Co zrobić? Zauważyłem, że rzeczywiście w katalogu modules są jakieś uszkodzone pliki (w mc na czerwono ze znakiem zapytania), do których nie ma żadnego dostępu nawet jako root - nie można tego ani usunąć, ani zamienić.
Użycie fsck do sprawdzenia systemu plików jest niemożliwe:
Partycji / przecież nie mogę odmontować :evil:
Widzę 2 wyjścia - albo jakoś naprawić system plików (jak? reiserfs nie jest sprawdzany nigdy przy starcie i nie da się tego zaplanować), albo ręcznie usunąć pakiet linux-image-2.6.26-1-486 z listy zainstalowanych tak, żeby dpkg myślał, że nie jest on zainstalowany i przestał się czepiać. Tylko gdzie jest ta lista zainstalowanych pakietów?
A może ktoś ma jakiś inny pomysł?
[Dodano: 2008-10-27, 09:30]
Hmm, poradziłem sobie jakoś w ten sposób, że usunąłem z pliku /var/lib/dpkg/status wpis dotyczący tego pakietu i teraz nie jest on zainstalowany, mimo że na dysku zostały śmieci po nim.
Jednak niepokoi mnie to, że sypie się system plików - jak go naprawić za pomocą fsck?
Skompilowałem i zainstalowałem kernel 2.6.27. Jednak próbując usunąć poprzednie jądro dystrybucyjne narobiłem sobie niezłych kłopotów.
W tej chwili sytuacja wygląda tak, że pakietu nie można ponownie zainstalowacć, usunąć, skonfigurować, ani zatrzymać (hold).
Może kilka przykładów:
Ponowna instalacja:
Kod: Zaznacz cały
dpkg -i --force-all linux-image-2.6.26-1-486_2.6.26-9_i386.deb
Zaznaczenie poprzednio niezaznaczonego pakietu linux-image-2.6.26-1-486.
(Odczytywanie bazy danych ... 122363 plików i katalogów obecnie zainstalowanych.)
Przygotowanie do zastąpienia linux-image-2.6.26-1-486 2.6.26-5 (wykorzystując linux-image-2.6.26-1-486_2.6.26-9_i386.deb) ...
The directory /lib/modules/2.6.26-1-486 still exists. Continuing as directed.
Done.
Rozpakowanie pakietu zastępującego linux-image-2.6.26-1-486 ...
dpkg: błąd przetwarzania linux-image-2.6.26-1-486_2.6.26-9_i386.deb (--install):
nie można ustalić stanu "./lib/modules/2.6.26-1-486/kernel/drivers/net/wan/lmc/lmc.ko" (który miał być zainstalowany): Brak dostępu
dpkg-deb: podproces paste został zabity sygnałem (Przerwany potok)
Running postrm hook script /usr/sbin/update-grub.
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.27.3
Found kernel: /boot/vmlinuz-2.6.26-1-486
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
Wystąpiły błędy podczas przetwarzania:
linux-image-2.6.26-1-486_2.6.26-9_i386.deb
Kod: Zaznacz cały
Usuwanie linux-image-2.6.26-1-486 ...
dpkg: błąd przetwarzania linux-image-2.6.26-1-486 (--remove):
nie można usunąć "/lib/modules/2.6.26-1-486/kernel/drivers/net/wireless/wl3501_cs.ko": Brak dostępu
Wystąpiły błędy podczas przetwarzania:
linux-image-2.6.26-1-486
Kod: Zaznacz cały
apt-get install wine
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Sugerowane pakiety:
msttcorefonts xdg-utils
Polecane pakiety:
wine-gecko
Następujące pakiety zostaną USUNIÊTE:
linux-image-2.6.26-1-486
Następujące pakiety zostaną zaktualizowane:
wine
1 aktualizowanych, 0 nowo instalowanych, 1 usuwanych i 29 nieaktualizowanych.
2 nie w pełni zainstalowanych lub usuniętych.
Konieczne pobranie 0B/7847kB archiwów.
Po tej operacji zostanie zwolnione 57,3MB miejsca na dysku.
Kontynuować [T/n]? t
(Odczytywanie bazy danych ... 122362 plików i katalogów obecnie zainstalowanych.)
Usuwanie linux-image-2.6.26-1-486 ...
dpkg: błąd przetwarzania linux-image-2.6.26-1-486 (--remove):
nie można usunąć "/lib/modules/2.6.26-1-486/kernel/drivers/net/wireless/wl3501_cs.ko": Brak dostępu
Wystąpiły błędy podczas przetwarzania:
linux-image-2.6.26-1-486
E: Sub-process /usr/bin/dpkg returned an error code (1)
Użycie fsck do sprawdzenia systemu plików jest niemożliwe:
Kod: Zaznacz cały
reiserfsck 3.6.19 (2003 [url]www.namesys.com[/url])
*************************************************************
** If you are using the latest reiserfsprogs and it fails **
** please email bug reports to [email][email protected][/email], **
** providing as much information as possible -- your **
** hardware, kernel, patches, settings, all reiserfsck **
** messages (including version), the reiserfsck logfile, **
** check the syslog file for any related information. **
** If you would like advice on using this program, support **
** is available for $25 at [url]www.namesys.com/support.html[/url]. **
*************************************************************
Will read-only check consistency of the filesystem on /dev/sdb2
Will put log info to 'stdout'
Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
###########
reiserfsck --check started at Mon Oct 27 09:12:21 2008
###########
Partition /dev/sdb2 is mounted with write permissions, cannot check it
Widzę 2 wyjścia - albo jakoś naprawić system plików (jak? reiserfs nie jest sprawdzany nigdy przy starcie i nie da się tego zaplanować), albo ręcznie usunąć pakiet linux-image-2.6.26-1-486 z listy zainstalowanych tak, żeby dpkg myślał, że nie jest on zainstalowany i przestał się czepiać. Tylko gdzie jest ta lista zainstalowanych pakietów?
A może ktoś ma jakiś inny pomysł?
[Dodano: 2008-10-27, 09:30]
Hmm, poradziłem sobie jakoś w ten sposób, że usunąłem z pliku /var/lib/dpkg/status wpis dotyczący tego pakietu i teraz nie jest on zainstalowany, mimo że na dysku zostały śmieci po nim.
Jednak niepokoi mnie to, że sypie się system plików - jak go naprawić za pomocą fsck?