J'aimerais connaître la taille totale des dépôts d'ubuntu ici . Existe-t-il une commande que je peux utiliser (peut-être impliquant wget) qui interroge la taille totale de tous les fichiers de ce répertoire sans les télécharger?
Faire un rapide du -hd1 sur mon propre miroir Ubuntu personnel du référentiel officiel contenant 10.04 Lucid, 12.04 Precise et 14.04 Trusty, je consomme 418 Go d’espace disque (sans compter les référentiels Extras et Partenaires). :
$ du -hd1
1.1G ./dists
417G ./pool
418G .
$
$ du -hd1 dists
160M dists/lucid
2.1M dists/lucid-backports
42M dists/lucid-proposed
58M dists/lucid-security
93M dists/lucid-updates
200M dists/precise
2.4M dists/precise-backports
71M dists/precise-proposed
59M dists/precise-security
102M dists/precise-updates
256M dists/trusty
888K dists/trusty-backports
40M dists/trusty-proposed
7.4M dists/trusty-security
16M dists/trusty-updates
1.1G dists
$
$ du -hd1 pool
217G pool/universe
171G pool/main
5.4G pool/restricted
24G pool/multiverse
417G pool
$
Mon miroir contient des données source 32 bits, 64 bits et mises à jour toutes les 24 heures.
Rappelez-vous que certains packages sont partagés entre les versions. Ainsi, même si le miroir de chaque version est de 200 Go, cela ne signifie pas nécessairement que la combinaison de trois versions consomme automatiquement 600 Go d’espace, car vous ne conservez qu’une copie. chaque fichier unique dans votre miroir.
Soyons honnêtes, 500 Go sur trois LTS ne représentent pas beaucoup d'espace disque de nos jours ...
Sans pouvoir entrer en SSH sur le serveur et exécuter du
sur le répertoire, il semble peu probable que vous puissiez obtenir ces informations. Cependant, vous pourrez peut-être utiliser wget --spider à cette fin. Source
Vous utilisez apt-mirror
:
Installez-le via:
Sudo apt-get install apt-mirror
configurer le même que dans ce tuorial , puis une fois que vous exécutez
Sudo apt-mirror
Il vous indiquera la taille des dépôts. La valeur ajoutée d'apt-mirror par rapport aux autres réponses est la possibilité de trouver seule la taille de chaque référentiel afin que vous puissiez simplement garder le principal par exemple et commenter les autres, puis obtenir la taille du principal, et ainsi de suite.
Je pense que cela répond bien à la question, car cela vous permettra d’obtenir la taille du répertoire de n’importe quel répertoire ouvert (pas seulement un repo [apt-mirror] ) sans télécharger aucun fichier. C'est aussi assez simple et rapide.
Installez rclone et remplacez l’URL par ce que vous voulez.
Installez Rclone (fichiers binaires disponibles ici )
curl https://rclone.org/install.sh | Sudo bash
Obtenir la taille du répertoire (Remplacez l'URL par un répertoire ouvert, veillez à ne pas supprimer :http:
)
rclone size --http-url http://ubuntu.uni-klu.ac.at/ubuntu/pool/ :http:
Utiliser rclone + http avec optionnel mount fera l'affaire.
Cela vous donne la liberté de vérifier la taille avec toutes sortes de méthodes. rclone size http:
ou rclone mount http: directory/
puis cd directory/
et du -sh
ou du -hd1
ou ncdu
( d'ici ) ou (NON recommandé ) ls -shR
Cela pourrait être votre meilleure option:
Vous voudrez peut-être éviter de taper sur le serveur en ajustant les valeurs et en ajoutant/retirant éventuellement --fast-list
dans cette commande:
rclone size http: -v --tpslimit 5 --bwlimit 500K --checkers 5 --fast-list
Ajustez vers le haut ou le bas en fonction de vos besoins et de ce que vous pensez que le serveur peut gérer. Par exemple, en quelques minutes à peine, j'ai pu utiliser rclone size
sur un serveur qui, à mon avis, conviendrait, et les résultats ont été renvoyés.
rclone size --http-url http://apollo.sese.asu.edu/data/ :http: --checkers 100
Nombre total d'objets: 195669
Taille totale: 123,619 To (135920738673216 octets)
Juste une idée.
Commencez à télécharger tous les fichiers index.html
récusifs avec wget
:
wget -r -np -A "*.html" http://ubuntu.uni-klu.ac.at/ubuntu/pool/main
Puis tapez dans le même dossier une autre commande (vous pouvez le faire pendant que l'autre commande est en cours d'exécution):
find -type f | xargs cat | grep -oP '[0-9]+[K,M]' | \
sed 's/\([0-9]*\)K/\(\1*1024\)/g; s/\([0-9]*\)M/\(\1*1024*1024\)/g;' | \
paste -sd+ | bc
Le nombre que la commande affiche est la taille en octets. Notez cependant que vous devez attendre la fin de la première commande avant que la seconde commande affiche la taille correcte.