web-dev-qa-db-fra.com

wget (ou quelque chose) pour obtenir la taille totale du répertoire?

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?

2
becko

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 ...

2
Jeff Sereno

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

1
larouxn

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.

0
Maythux

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.

TL; DR

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:

Explication

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)

0
Matt Zabojnik

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.

0
chaos