Pourquoi y a-t-il des fichiers deb /var/cache/apt/archives/
?
Dans quels cas les fichiers deb ont-ils été téléchargés dans ce répertoire?
Pourquoi y a-t-il des fichiers deb /var/cache/apt/archives/
?
Dans quels cas les fichiers deb ont-ils été téléchargés dans ce répertoire?
Il y a deux choses dans Ubuntu (et dans Debian, sur laquelle Ubuntu est basé) qui sont communément appelées "le gestionnaire de paquets" dpkg
:, et APT.
dpkg
est un programme qui installe et supprime des packages et maintient une base de données des packages installés, à quelles versions. Lorsqu'il installe des packages, il le fait à partir de .deb
fichiers d'archives. Ces archives sont la façon dont les packages sont distribués.
dpkg
fait plus que copier (ou supprimer) des fichiers et mettre à jour sa base de données - il exécutera également des scripts d'installation et des scripts de suppression. Cela peut être considéré comme assez sophistiqué. Mais ce qu'il ne fera pas, c'est de trouver et de télécharger des packages.
APT recherche et télécharge les packages et s'exécute dpkg
correctement pour les installer, les mettre à niveau et les supprimer. APT n'est pas vraiment un logiciel unique, bien qu'il existe un package apt qui fournit ses parties essentielles.
APT comprend une bibliothèque ( libapt-pkg ) qui fournit des fonctionnalités de base, accessibles par divers outils. Certains de ces outils, comme apt-get
, sont également fournis par le package apt . D'autres outils sont installés séparément. APT fournit également divers fichiers de configuration qui contrôlent le fonctionnement de sa bibliothèque principale et des programmes qui l'utilisent.
Plus que cela, APT est un système pour stocker et récupérer des données sur les sources logicielles qui fournissent quels packages dans quelles versions, et pour agir sur ces données pour effectuer automatiquement des tâches de gestion de packages telles que l'installation et la mise à niveau de packages. Cela comprend le suivi des packages nécessaires au fonctionnement des autres packages, ainsi que la sélection et l'installation automatiques des packages appropriés pour satisfaire ces dépendances.
Par exemple, lorsque je dis à l' apt-get
utilitaire d'installer le paquet chocolate-doom , il détermine quels autres paquets doivent être installés pour qu'il fonctionne, et les récupérera et les installera automatiquement aussi:
$ sudo apt-get install chocolate-doom
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
doom-wad-shareware libmikmod3 libsdl-mixer1.2 libsdl-net1.2 libsdl1.2debian
Recommended packages:
doom-engine
The following NEW packages will be installed:
chocolate-doom doom-wad-shareware libmikmod3 libsdl-mixer1.2 libsdl-net1.2
libsdl1.2debian
0 upgraded, 6 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/2,846 kB of archives.
After this operation, 8,626 kB of additional disk space will be used.
Des outils graphiques tels que le Centre logiciel, le logiciel Updater / Update Manager et Synaptic remplissent des fonctions similaires à apt-get
. Ils utilisent également le système APT - en combinant l' observation de ses règles et l' utilisation des fonctionnalités fournies par les bibliothèques de base - pour changer les packages installés, pour donner à l'utilisateur ce qu'il / elle veut (généralement), de telle sorte que les choses (généralement) continuer à travailler.
/var/cache/apt/archives
dossier est utiliséLorsque apt-get
, aptitude
, Software Center , Synaptic , Software Updater / Update Manager , ou tout autre package téléchargements utilitaires de gestion des paquets (et les autres paquets dont ils dépendent) de configurées sources de logiciels et les installe, les paquets téléchargés ( à savoir les fichiers d'archive .deb à partir desquels ils sont installés) sont stockés dans /var/cache/apt/archives
.
Si vous avez un fichier .deb sur le disque et que vous l'installez avec dpkg
, cela n'entraîne pas une copie de celui-ci dans /var/cache/apt/archives
. Mais lorsqu'un programme qui utilise ou implémente le système APT de résolution automatique des dépendances et de récupération de packages télécharge des packages, c'est là qu'il les stocke.
Bien que les fichiers .deb des packages téléchargés automatiquement soient stockés et installés à partir de /var/cache/apt/archives
, ils ne sont pas réellement téléchargés directement à cet emplacement. Au lieu de cela, des téléchargements de fichiers .deb incomplets (c'est-à-dire en cours) existent /var/cache/apt/archives/partial
et sont ensuite déplacés vers une /var/cache/apt/archives
fois terminé.
Les fichiers du package .deb restent en cache /var/cache/apt/archives
même après une installation réussie au cas où ils seraient nécessaires pour une utilisation future. Mais vous pouvez supprimer en toute sécurité les fichiers .deb qui sont assez vieux avec lesquels ils ne seront probablement plus nécessaires sudo apt-get autoclean
, ou effacer .deb
entièrement les fichiers mis en cache avec sudo apt-get clean
. Voir man apt-get
pour plus d'informations.
Pour illustrer la fonction sudo apt-get autoclean
et les commandes similaires, ainsi que pour déterminer si vous souhaitez les exécuter, vous pouvez simuler leurs actions en les exécutant ensuite avec le -s
drapeau. Il est préférable de passer ce drapeau avant le autoclean
verbe d'action (ou autre). Il n'est généralement pas nécessaire d'exécuter un utilitaire en tant que root avec sudo
lors de l'utilisation -s
, car aucune modification réelle n'est en cours.
Par exemple, sur mon système:
$ apt-get -s autoclean
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Del libubsan0 4.9.1-15ubuntu1 [83.7 kB]
Del cups-server-common 1.7.5-3 [519 kB]
Del python2.7 2.7.8-9 [205 kB]
Del g++-4.9 4.9.1-15ubuntu1 [17.4 MB]
Del libstdc++-4.9-dev 4.9.1-15ubuntu1 [1,121 kB]
....
Les packages répertoriés ne seront pas désinstallés ; à la place, seuls les fichiers .deb mis en cache seront supprimés. (En fait, rien ne s'est produit lorsque j'ai exécuté cette commande, car il s'agissait simplement d'une simulation.)
Le logiciel installé via dpkg
(via APT ou autre) n'est pas réellement exécuté à partir du fichier .deb qui le fournit. Comme indiqué dans la section Informations générales , les fichiers .deb sont extraits. C'est pourquoi ils peuvent être supprimés et le package installé continue de fonctionner.
Les fichiers du système qui sont installés à partir des packages .deb ne sont pas téléchargés vers leur emplacement actuel - ils leur sont plutôt extraits des fichiers .deb qui les fournissent (ou peut-être spécialement créés lors de l'installation ou après, comme c'est le cas). pour certains fichiers de configuration).
Mais les fichiers .deb ne sont pas les seuls fichiers téléchargés par les utilitaires de gestion des packages. Souvent, d'autres fichiers téléchargés fournissent des informations sur l'emplacement des packages.
Par exemple, lorsque je cours sudo apt-get update
, la sortie comprend des lignes comme:
Get:13 http://us.archive.ubuntu.com utopic/main i386 Packages [1,341 kB]
Cela signifie qu'un fichier comme http://us.archive.ubuntu.com/ubuntu/dists/utopic/main/binary-amd64/Packages.bz2 a été téléchargé et examiné pour aider à mettre à jour la base de données APT avec des informations sur les packages disponibles ( et dans quelles versions) de cette source logicielle particulière. Vous pouvez trouver des fichiers Packages et d'autres fichiers de ce type dans le /var/lib/apt/list
répertoire. Les copies qui y sont stockées portent des noms distinctifs comme us.archive.ubuntu.com_ubuntu_dists_utopic_main_binary-amd64_Packages
, car il peut y avoir de nombreux fichiers de ce type.
Vous avez posé une question apt-cache
précise. Il interroge la base de données du package, mais n'apporte aucune modification au système ni ne télécharge aucun fichier.
Lorsque l'Ubuntu Software Center télécharge des données pour son propre usage, qui lui sont propres et ne concernent pas les fonctionnalités générales APT (ou dpkg
), il les stocke /var/cache/software-center
.
Par exemple, sur mon système (et sur la plupart des systèmes), ce dossier contient un xapian
sous - dossier:
ek@Ilex:/var/cache/software-center/xapian$ ls
flintlock postlist.baseB record.baseB spelling.baseB termlist.baseB
iamchert postlist.DB record.DB spelling.DB termlist.DB
postlist.baseA record.baseA spelling.baseA termlist.baseA
Le Centre logiciel utilise Xapian pour indexer les informations pour une recherche rapide.
Certains utilitaires supplémentaires qui fonctionnent avec le système APT téléchargent et stockent des fichiers dans le cadre de leur fonctionnement. apt-file
n'est pas installé par défaut dans Ubuntu, mais peut être installé à partir du package apt-file .
apt-file
stocke des informations sur les fichiers fournis par quels packages (même pour les packages qui ne sont pas installés localement). Il obtient ces informations sur le contenu des packages en téléchargeant des Contents
fichiers compressés :
$ sudo apt-file update
Downloading complete file http://us.archive.ubuntu.com/ubuntu/dists/utopic/Contents-amd64.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29.6M 100 29.6M 0 0 856k 0 0:00:35 0:00:35 --:--:-- 832k
Lorsque apt-file update
est exécuté en tant que root (comme ci-dessus), ces fichiers sont téléchargés dans le /var/cache/apt/apt-file
répertoire. Pour découvrir cela, j'ai couru:
$ sudo updatedb
$ locate Contents-amd64
/var/cache/apt/apt-file/us.archive.ubuntu.com_ubuntu_dists_utopic-proposed_Contents-amd64.gz
/var/cache/apt/apt-file/us.archive.ubuntu.com_ubuntu_dists_utopic_Contents-amd64.gz
Notez que les informations fournies dans ce post donnent un certain nombre d'exemples de fichiers de données téléchargés et stockés par les utilitaires de gestion de packages sur Ubuntu, mais ne doivent pas être considérés comme une liste exhaustive des cas où ces fichiers sont utilisés et stockés.
apt-cache
ou / etapt-file
aussi télécharger beaucoup de choses? Si oui, où sont-ils?