时效性
本篇撰写时间为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
,并作配置,再重启transmission
sudo service transmission-daemon stop
sudo 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
设置权限。 - 重新按照之前方法启动下载,就可以下载到云硬盘了
可以看到,速度比之前快多了
总结和问答练习
- 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)
注:数据集总共1T左右