Wygląda na to, że mój aptitude
jest jakoś zepsuty:
sudo aptitude update
0% [Working]Segmentation fault
dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]
Więc chciałbym zainstalować ponownie aptitude
za pomocą apt-get
.
Niestety wydaje się, apt-get
że nie ma opcji ponownej instalacji.
Jak mogę aptitude
znów wrócić do pracy?
Możliwe, że znalazłem główną przyczynę segfaulta umiejętności. Oto jak mogę go odtworzyć:
- Zdalne logowanie „ssh” do maszyny Debian za pośrednictwem terminala rxvt Cygwina (z 64-bitowej wersji niemieckiej Windows 7).
- Powiększ okno rxvt, tak aby obejmowało dwa monitory (tak, mam dwa monitory)
- Uruchom
aptitude update
. Uwaga: kiedy zmieniam rozmiar terminala rxvt na normalny, nie mam tych błędów segmentacji!
debian
aptitude
debian-lenny
Vokuhila-Oliba
źródło
źródło
-A5
masz na myśli?--
masz na myśli?man getopt
, patrz poniżejPARSING
-A5
pokazuje dopasowaną linię plus 5 kolejnych linii.--
przestaje analizować opcje, interpretując w ten sposób wszystko, co następuje jako argumenty pozycyjne, unikając konieczności ucieczki przed myślnikiem w wyrażeniu,-A
które w innym przypadku byłoby interpretowane jako opcja samego grep.Możesz ponownie zainstalować pakiet za pomocą
sudo apt-get install --reinstall packagename
. To całkowicie usuwa pakiet (ale nie pakiety, które od niego zależą), a następnie ponownie instaluje pakiet.Może to być wygodne, gdy pakiet ma wiele odwrotnych zależności.
źródło
Czasami musisz także przywrócić pliki konfiguracyjne! nie tylko zainstaluj ponownie.
sudo apt-get install --reinstall xxxx
Ponownie zainstaluj aplikację, zachowuje pliki konfiguracyjne.
Może to być pomocne, ale czasami musisz zacząć od nowa, więc używam tego:
następnie
źródło
UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
.Powinieneś być bezpieczny, aby usunąć aptitude i zainstalować ponownie, ponieważ nie wpłynie to na inne narzędzia apt. Tak więc:
apt-get remove aptitude
a następnieapt-get install aptitude
, lub jeśli to nadal nie działa, należyapt-get purge aptitude
następnieapt-get install aptitude
.Przed wykonaniem którejkolwiek z powyższych czynności zalecam sprawdzenie pełnego systemu plików i sprawdzenie złego bloku w przypadku, gdy istnieje problem, który spowodował problem (w zależności od problemu, jeśli taki istnieje, dalsza aktywność może pogorszyć sytuację). Upewnij się również, że przejrzałeś to, co zostanie usunięte w kroku usuwania / czyszczenia przed kontynuowaniem (powinien zatrzymać się, aby poprosić o pozwolenie, jeśli cokolwiek dodatkowego zostanie zmienione w wyniku usunięcia tego jednego pakietu), aby dokładnie sprawdzić moją myśl, że to jest bezpieczny.
źródło
apt-get remove
następnieapt-get install
zrobiono lewę!a full filesystem check
lub podobne rzeczy . Czy mógłbyś podać mi krótką wskazówkę, jak to zrobić?fsck -f <block_device>
takie jakfsck /dev/sda1
. W tym czasie system plików będzie musiał być odmontowany lub zamontowany tylko do odczytu, ponieważ prawdopodobnie jest to główny system plików, powinieneś ponownie uruchomić komputer w trybie pojedynczego użytkownika lub uruchomić z czegoś innego, jak na żywo CD.tune2fs
aby oznaczyć system plików jako zamontowany więcej razy niż ustawiony limit, co powinno wymusić sprawdzenie następnego uruchomienia. Zakładając, że systemem plików jest ext2 / 3/4:tune2fs -C 99 <device>
lub, jeśli masz wyłączone sprawdzanie oparte na liczbie montowań, włącz je jednocześnie z czymś podobnymtune2fs -c 17 -C 99 <device>
.To tak, jakbyś nigdy wcześniej nie instalował pakietu. Robię to często z ruchem i takimi rzeczami.
źródło