我想知道 ubuntu 存储库的总大小这里. 是否有一个命令可以使用(可能涉及 wget)来查询此目录内所有文件的总大小,而无需下载它们?
答案1
快速杜-hd1在包含 10.04 Lucid、12.04 Precise 和 14.04 Trusty 的官方存储库的个人 Ubuntu 镜像上,我消耗了 418GB 的磁盘空间(不包括 Extras 和 Partner 存储库):
$ 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
$
我的镜像包含32位、64位和源数据,每24小时更新一次。
请记住,某些软件包在各个版本之间是共享的,因此,即使每个单独版本的镜像本身(为了论证的目的)都是 200GB,但也并不一定意味着组合三个版本会自动消耗 600GB 的空间,因为您只在镜像中保留每个唯一文件的一个副本。
说实话,如今三个 LTS 的 500GB 磁盘空间并不算多……
答案2
如果无法通过 SSH 进入服务器并du
在目录上运行,您似乎无法获取此信息。但是,您可以使用 wget --spider 来实现此目的。来源
答案3
我认为这很好地回答了这个问题,因为它可以让你获得目录大小任何打开的目录(不仅仅是一个 repo [apt-mirror])无需下载任何文件。它也相当简单和快捷。
总结
安装 rclone 并将 URL 替换为您想要的任何内容。
安装 Rclone(二进制可用这里)
curl https://rclone.org/install.sh | sudo bash
获取目录大小(将 URL 替换为任何打开的目录,确保不要删除:http:
)
rclone size --http-url http://ubuntu.uni-klu.ac.at/ubuntu/pool/ :http:
解释
这使您可以自由地使用各种方法检查大小。
rclone size http:
或
rclone mount http: directory/
然后cd directory/
和du -sh
或du -hd1
或ncdu
(从这里)或(不推荐)ls -shR
这可能是你最好的选择:
您可能希望通过调整值并选择性地--fast-list
在此命令中添加/删除来避免对服务器造成损害:
rclone size http: -v --tpslimit 5 --bwlimit 500K --checkers 5 --fast-list
根据您的需求以及您认为服务器可以处理的内容进行上调或下调。例如,只需几分钟,我就能够rclone size
在一台我认为可以正常工作的服务器上使用它,并返回了这些结果。
rclone size --http-url http://apollo.sese.asu.edu/data/ :http: --checkers 100
对象总数:195669
总大小:123.619 TB(135920738673216 字节)
答案4
您可以使用apt-mirror
:
通过以下方式安装:
sudo apt-get install apt-mirror
配置与此相同教程,然后你跑
sudo apt-mirror
它会向您报告存储库的大小。apt-mirror 相对于其他解决方案的附加值是可以单独找到每个存储库的大小,因此您可以只保留主存储库作为示例,然后注释其他存储库,然后获得主存储库的大小,等等……