Podczas aktualizacji mojego serwera Ubuntu 12.04 napotkałem następujący błąd. Teraz apt-get
nie można zainstalować ani usunąć żadnego pakietu.
Rozpakowywanie linux-headers-3.13.0-62 (z ... / linux-headers-3.13.0-62_3.13.0-62.102 ~ precision1_all.deb) ... dpkg: przetwarzanie błędów /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~precise1_all.deb (--unpack): nie można utworzyć `/usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h.dpkg-new ' (podczas przetwarzania `./usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h '): Brak miejsca na urządzeniu Nie zapisano raportu przypisania, ponieważ komunikat o błędzie wskazuje dysk pełny błąd dpkg-deb: błąd: pasta podprocesu została zabita przez sygnał (uszkodzona rura) Napotkano błędy podczas przetwarzania: /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~precise1_all.deb E: Podproces / usr / bin / dpkg zwrócił kod błędu (1)
Chociaż tak naprawdę nie brakuje mi miejsca na dysku,
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 4.7G 1.8G 69% /
W każdym razie moje i-węzły są pełne,
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 458752 455214 3538 100% /
Mam więcej niż dziesięć starych jąder, ale nie jestem w stanie ich usunąć, ponieważ apt-get
sam jestem kulawy. Nie mogę więc śledzić tego postu, który zgłasza podobny problem.
Jedyną opcją wydaje się ręczne usunięcie kilku starszych jąder. Czy spowoduje to jakiś problem?
Czy jest jakieś lepsze wyjście? Czy mogę na razie wykorzystać zarezerwowane miejsce na rootowanie i usunąć starsze jądra?
apt
dpkg
disk-usage
inode
souravc
źródło
źródło
/usr/src
aby pozbyć się tej sytuacji. Na szczęście wszystko poszło dobrze iapt
znów zaczęło działać. Ale poproszę cię o wycofanie się przed zrobieniem czegoś takiego na maszynie produkcyjnej. Zrobiłem to na maszynie wirtualnej, która miała pełną kopię zapasową.Odpowiedzi:
Wiem, że ten post jest trochę stary, ale znalazłem tutaj odpowiedź dla każdego, kto może natknąć się na ten post: https://help.ubuntu.com/community/RemoveOldKernels
W przypadku uszkodzenia tego linku, oto odpowiedni fragment:
Bezpieczne usuwanie starych jąder
Dla użytkowników systemów LVM, systemów szyfrowanych lub systemów o ograniczonej pamięci masowej najczęstszym problemem jest to, że partycja / boot jest po prostu pełna. Menedżer pakietów nie może zainstalować oczekującego uaktualnienia z powodu braku miejsca. Poza tym apt-get nie może usunąć pakietu z powodu przerwanej zależności.
Ten problem można szybko i łatwo rozwiązać za pomocą powłoki. Wystarczy zidentyfikować jedno lub dwa stare jądra do ręcznego usunięcia, co zapewni menedżerowi pakietów wystarczającą ilość miejsca do zainstalowania aktualizacji w kolejce.
Śledziłem to z:
źródło
Znalazłem wyjście z sytuacji i usunąłem kilka starszych jąder,
/usr/src
aby pozbyć się sytuacji. Na szczęście wszystko poszło dobrze i apt znów zaczął działać.Zdecydowanie zaleca się wznowienie pracy przed usunięciem starszych jąder na maszynie produkcyjnej.
źródło
apt-get autoremove
i zainstalowaniu niektórych zależnościapt-get -f install
naprawiłem moje problemy/boot
ale go nie użyłem,dkpg
więc nadal były*-header
pliki/usr/src