W systemie osadzonym z bardzo ograniczonym miejscem na dysku mam /var/cache/apt
pełny folder z około 700 MB srcpkgcache.bin.*
i kilkoma dużymi *.bin
plikami.
Występowanie sudo apt-get clean
nie robiło widocznej różnicy.
Czy bezpiecznie jest ręcznie usunąć te *.bin*
pliki?
*.bin
plików ze wspomnianego folderu jest całkowicie bezpieczne - zakładając, że nie jest uruchomiony żaden proces związany z apt. Następnyapt-get update
zregeneruje*.bin
pliki. To pytanie zdecydowanie nie dotyczy plików/var/cache/apt/archives
, ale plików/var/cache/apt/*.bin
. Duża różnica. Pierwsze z nich można wyczyścić, wydającapt-get clean
, drugie należy usunąć ręcznie. Najwyraźniej osoby głosujące za zamknięciem pytania nie przeczytały pytania poprawnie. Niestety nie mogę głosować za ponownym otwarciem po przyznaniu części mojego przedstawiciela nagrodami.archives
wewnątrz/var/cache/apt/
, ta dotyczy*.bin*
plików.Odpowiedzi:
Nie całkiem. Pliki te pomagają Twojemu systemowi określić, co jest dostępne, a co nie. Opróżnienie tego katalogu spowoduje uszkodzenie systemu apt-get. Oto kilka wskazówek.
Po pierwsze, automatyczne czyszczenie
dodać
do końca
/etc/apt/apt.conf
. Spowoduje to, że procesy apt i dpkg zajmą więcej czasu, ale sprawi, że katalog pamięci podręcznej będzie zawsze czysty.Następnie usuń archiwa
Zacznij od usunięcia i wyłączenia wszystkich archiwów źródłowych (których nie używasz). W systemie wbudowanym prawdopodobnie ich nie potrzebujesz. Następnie usuń wszystkie archiwa, które nie są używane. Możesz uruchomić,
apt-cache policy
aby dowiedzieć się, z jakiego repo pochodzi pakiet, jeśli nie jesteś pewien.Więcej Usuwanie archiwów
Niektóre umowy PPA są przerażające z powodu posiadania dużej liczby pakietów, gdy potrzebujesz tylko 1 lub 2. Spróbuj wyłączyć te umowy PPA i po prostu ręcznie zainstalować pliki deb. W takich przypadkach oszczędzasz miejsce, ale tracisz automatyczną aktualizację. Należy pamiętać, że dpkg będzie obsługiwał zależności, więc nadal można zainstalować plik rzecz-z-ton-z-deps.deb, a następnie uruchomić,
apt-get -f install
aby pobrać zależności.Całkowicie ekstremalna odpowiedź 1
Ponieważ mówiliśmy o systemie wbudowanym, 90% głównych repozytoriów nic ci nie da. Aby to zrobić, możesz uruchomić własny serwer repozytorium apt-get Zobacz ten link . To nie jest łatwe i jest to PIA dla tylko jednej maszyny. Ale jeśli masz kilka takich maszyn, jest to całkowicie tego warte. (Twój serwer apt repo może obsługiwać tylko podzbiór pakietów, których faktycznie używasz. Nie musisz kopiować całości)
Całkowicie ekstremalna odpowiedź 2
Jeśli przestrzeń jest tak dużym problemem, możesz wyłączyć apt wszystko razem i powrócić do ręcznej instalacji przez dpkg. Musiałem to zrobić na kilku systemach wbudowanych. Działa, ale to koszmar administratora.
źródło
*.bin
plików nie jest bezpieczne ? Każde uruchomienieapt-get update
spowoduje ponowne wygenerowanie tych plików od zera (przetestowano). Na przykład mój przypadek użycia polega na tym, że chcę utworzyć szablony kontenerów LXC i chcę maksymalnie usunąć archiwum. Nie widzę żadnego powodu, dla którego jest to niebezpieczne. Twoja odpowiedź nie wskazuje powodu, po prostu stwierdza , że jest niebezpieczna. Testowano, że jest całkowicie bezpieczny na Ubuntu 14.04.apt-cache clean
do wywołania dpkg spowodujeapt-cache clean
wyczyszczenie pamięci podręcznej, ale użytkownik twierdzi, że niczego dla nich nie wyczyścił. Również twoja odpowiedź jest całkowicie błędna, ponieważ dpkg nie używa/var/cache/apt/*
zawartości do uzyskania informacji na temat statystyki pakietu.clean
ponieważ * clean czyści lokalne repozytorium pobranych plików pakietów. Usuwa wszystko oprócz pliku blokady z / var / cache / apt / archives / i /var/cache/apt/archives/partial/.* Jeśli jest to niebezpieczne, nie byłoby takiej funkcji do wyczyszczenia.Możesz oczywiście usunąć
pkgcache.bin
isrcpkgcache.bin
nic się nie dzieje. Wystarczy uruchomić,apt-get update
aby je ponownie utworzyć.źródło
.deb
plików?Zachowaj
pkgcache.bin
isrcpkgcache.bin
, możesz bezpiecznie usunąć pozostałe. Nie dotykaj katalogów!źródło
*bin.*
pliki do folderu kopii zapasowej. Dlaczego jednak apt-get zarządza pamięcią podręczną w pamięci podręcznej? Katalog pamięci podręcznej powinien być z natury tymczasowym miejscem do przechowywania.Możesz oczywiście stworzyć do tego udział NFS (sieciowy system plików). Pozostaw te pliki na serwerze i zamontuj udział tylko wtedy, gdy chcesz zaktualizować / zainstalować pakiety. W środowiskach osadzonych instalacja i tak zwykle będzie względnie statyczna.
sshfs to kolejna dobra opcja, jest znacznie łatwiejsza w konfiguracji (w zasadzie wymaga tylko SSH, który jest standardem), ale ma więcej narzutu (wolniej).
źródło