Auf einem eingebetteten System mit einem sehr begrenzten Speicherplatz habe ich den Ordner /var/cache/apt
mit etwa 700 MB srcpkgcache.bin.*
und ein paar großen *.bin
Dateien voll .
Die Aufführung sudo apt-get clean
machte keinen sichtbaren Unterschied.
Ist es sicher, diese *.bin*
Dateien manuell zu löschen ?
*.bin
Dateien in diesem Ordner zu entfernen - vorausgesetzt, es wird derzeit kein mit apt zusammenhängender Prozess ausgeführt. Der nächsteapt-get update
wird die*.bin
Dateien neu generieren. Bei dieser Frage geht es entschieden nicht um die Dateien in/var/cache/apt/archives
, sondern um die Dateien/var/cache/apt/*.bin
. Großer Unterschied. Ersteres kann durch Ausgabe gereinigt werdenapt-get clean
, letzteres muss manuell entfernt werden. Offensichtlich haben diejenigen, die zum Schließen der Frage abstimmen, die Frage nicht richtig gelesen . Leider kann ich nicht für die Wiedereröffnung stimmen, nachdem ich einen Teil meiner Repräsentanten mit Kopfgeldern belohnt habe.archives
innerhalb/var/cache/apt/
, dieser über die ist*.bin*
Dateien.Antworten:
Nicht wirklich. Mithilfe dieser Dateien kann Ihr System feststellen, was verfügbar ist und was nicht. Das Leeren dieses Verzeichnisses führt zu einem Defekt des apt-get-Systems. Hier sind ein paar Tipps.
Erstens, automatische Reinigung
füge hinzu ein
bis zum Ende von
/etc/apt/apt.conf
. Apt- und dpkg-Prozesse werden dadurch länger dauern, aber Ihr Cache-Verzeichnis ist immer sauber.Als nächstes Archive entfernen
Entfernen und deaktivieren Sie zunächst alle Quellarchive (die Sie nicht verwenden). Auf einem eingebetteten System benötigen Sie sie wahrscheinlich nicht. Entfernen Sie anschließend alle nicht verwendeten Archive. Sie können
apt-cache policy
herausfinden, von welchem Repo ein Paket stammt, wenn Sie sich nicht sicher sind.Mehr Entfernen von Archiven
Einige PPAs sind entsetzlich, weil sie eine große Anzahl von Paketen enthalten, wenn Sie nur 1 oder 2 benötigen. Deaktivieren Sie diese PPAs und installieren Sie die deb-Dateien einfach manuell. In diesen Fällen sparen Sie Speicherplatz, verlieren jedoch die automatische Aktualisierung. Denken Sie daran, dass dpkg Abhängigkeiten handhabt. Sie können also weiterhin thing-with-tons-of-deps.deb installieren und dann ausführen
apt-get -f install
, um die Abhängigkeiten abzurufen.Völlig extreme Antwort 1
Da es sich um ein Embedded-System handelt, nützen Ihnen 90% der Haupt-Repos nichts. Um dies zu handhaben, können Sie Ihren eigenen Apt-Get-Repo-Server betreiben. Siehe diesen Link . Es ist nicht einfach, und es ist eine PIA für nur eine Maschine. Aber wenn Sie mehrere dieser Maschinen haben, lohnt es sich auf jeden Fall. (Sie können nur eine Teilmenge der Pakete hosten, die Sie tatsächlich verwenden. Sie müssen nicht das Ganze spiegeln.)
Völlig extreme Antwort 2
Wenn der Speicherplatz wirklich ein so großes Problem darstellt, können Sie apt all together deaktivieren und zur manuellen Installation über dpkg zurückkehren. Ich musste dies auf mehreren eingebetteten Systemen tun. Es funktioniert, aber es ist ein Administrator-Albtraum.
quelle
*.bin
Dateien zu entfernen ? Bei jeder Ausführung vonapt-get update
werden diese Dateien von Grund auf neu erstellt (getestet). Mein Anwendungsfall ist beispielsweise, dass ich LXC-Containervorlagen erstellen und das Archiv so weit wie möglich entpacken möchte. Ich kann keinen Grund dafür erkennen, dass es unsicher ist. Und Ihre Antwort gibt keinen Grund an, sondern gibt nur an , dass es unsicher ist. Getestet, dass es unter Ubuntu 14.04 absolut sicher ist .apt-cache clean
in einen dpkg-Aufruf zu einem saubereren Cache führt, aber der Benutzer sagt,apt-cache clean
dass er nichts für sie bereinigt hat. Auch Ihre Antwort ist völlig falsch, da dpkg keine/var/cache/apt/*
Inhalte verwendet, um sich über die Paketstatistik zu informieren.clean
as * clean, mit der das lokale Repository von abgerufenen Paketdateien gelöscht wird. Es entfernt alles außer der Sperrdatei aus / var / cache / apt / archives / und /var/cache/apt/archives/partial/.Du kannst natürlich löschen
pkgcache.bin
undsrcpkgcache.bin
es passiert nichts. Führen Sieapt-get update
sie einfach aus , um sie neu zu erstellen.quelle
.deb
Dateien?Behalte das
pkgcache.bin
undsrcpkgcache.bin
, du kannst die anderen sicher löschen. Berühren Sie nicht die Verzeichnisse!quelle
*bin.*
Dateien vorübergehend in einen Sicherungsordner verschoben . Warum verwaltet apt-get den Cache im Cache? Ein Cache-Verzeichnis sollte von Natur aus ein temporärer Speicher sein.Sie können hierfür natürlich eine NFS-Freigabe (Netzwerk-Dateisystem) anlegen. Lassen Sie diese Dateien auf einem Server und hängen Sie die Freigabe nur ein, wenn Sie Pakete aktualisieren / installieren möchten. In eingebetteten Umgebungen ist die Installation normalerweise ohnehin relativ statisch.
sshfs ist eine weitere gute Option, ist viel einfacher einzurichten (erfordert im Grunde nur SSH, was Standard ist), hat aber mehr Overhead (langsamer).
quelle