时效性
本篇撰写时间为2021.12.13,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。
本篇前置:
- ExpRe[6] 云服务器[0] 基础使用,ssh连接
https://www.cnblogs.com/minor-second/p/15553737.html - IncRe[0] Linux与Shell 第7章 理解Linux文件权限
https://www.cnblogs.com/minor-second/p/15684735.html
云硬盘基础
瞻仰云硬盘
无论你是在配置云服务器的时候购买了,还是单独购买,都请到云服务器提供商的控制台查看

教程https://docs.ksyun.com/documents/1052
确保云硬盘在使用中,即对应了需要的主机

创建文件系统
如果我们不需要逻辑分区,则可以裸盘创建文件系统
参考https://docs.ksyun.com/documents/39962
fdisk -l
看到我们的云硬盘,2TB

其设备文件为/dev/vdb
接下来依据教程创建文件系统和挂载即可
硬盘相关常见命令
du看占用,-h使得输出更加human-readable(如使用K, M, G等单位),-s使得不递归。很常见的一个组合就是du -sh查看当前目录所占空间。以及du -h <目录>或du -sh <目录>
df看文件系统。-h使得输出更加human-readable,-T使得输出中能看到Type(文件系统的类型)。
所以df -hT可以看到这个就说明挂载成功

bt下载和复用数据
尝试cd到挂载点,进行下载
比如下图中,直接wget是200多K的网速,无法接受(已经在使用位于境外的云服务器了……)

所以我们对于大数据集,尝试使用torrent种子下载
可以去https://academictorrents.com
看看有没有
transmission安装和配置方法
- 参考https://help.ubuntu.com/community/TransmissionHowTo
安装transmission
add-apt-repository ppa:transmissionbt/ppa
apt update
apt install transmission-gtk transmission-cli transmission-common transmission-daemon - 停下
transmission,并作配置,再重启transmissionsudo service transmission-daemon stopsudo vim /var/lib/transmission-daemon/info/settings.json
可以按照https://help.ubuntu.com/community/TransmissionHowTo
教程链接,做一些想做的配置。sudo service transmission-daemon start
尝试使用
在下载大数据集前,我们下载一个小的东西验证一下可用性
- 去https://ubuntu.com/download/alternative-downloads
右键某个种子的链接,复制其地址 - 在云服务器某个目录
wget <链接>
torrent很小,下载它很快(直接用wget就行) transmission-remote -n 'transmission:transmission' -a <种子文件> # 添加种子
此时应该已经开始下载了- 常见命令
transmission-remote -h # 帮助
transmission-remote -n 'transmission:transmission' -l # 种子列表
transmission-remote -n 'transmission:transmission' -st
transmission-remote -n 'transmission:transmission' -si # 对全体输出信息
transmission-remote -n 'transmission:transmission' -t 1 -f
transmission-remote -n 'transmission:transmission' -t 1 -i # 对列表中1号输出信息
transmission-remote -n 'transmission:transmission' -t 1 -s # 开始
transmission-remote -n 'transmission:transmission' -t 1 -S # 结束
transmission-remote -n 'transmission:transmission' -t 1 -r # 清除
配置下载目的地
- 回忆之前的配置方法,对
transmission进行配置。- 具体需要的配置:在
/var/lib/transmission-daemon/info/settings.json文件中搜索dir(回忆vim中用/进行搜索)
找到download-dir和incomplete-dir,把值指定成某个云硬盘下的目录。
例如挂载点/mnt/data_disk01(具体名称是之前设置好的)
- 具体需要的配置:在
- 然后参考IncRe第0期,给挂载点
/mnt/data_disk01设置权限。 - 重新按照之前方法启动下载,就可以下载到云硬盘了
![image]()
可以看到,速度比之前快多了
总结和问答练习
- Q: 回忆
/dev/null往往用来丢弃输出。所以说dev是develop的意思吗?
A: 不是。是device. 该目录下有许多特殊的文件,称为“设备文件”。它们往往对应各种物理或虚拟的设备,比如/dev/null空设备(在第11期用到过),/dev/shm共享内存(在第19期用到过) - Q: 写一行小脚本,每隔一小段时间记录一下统计信息在某个日志文件中,方便看bt下载是否稳定。
A:
(供参考)
while true; do echo $(transmission-remote -n 'transmission:transmission' -l) >> log.txt; sleep 5; done;
隔一段时间看看日志,可以发现有意思的是,p2p高峰期速度飞快。正文中7 days,但在p2p高峰期测算就只有1-3 day(s)
![image]()
注:数据集总共1T左右

