在基础使用一文中介绍了树莓派及其系统安装使用。本文介绍树莓派中软件包管理器的设置以及基础应用软件包的安装设置。
1 软件包管理器及软件源设置
树莓派是基于Debian的系统,包管理器也是apt-get
。关于apt-get
的介绍、在软件安装中的作用以及与dkpg
的关系请看Wiki。apt-get
工具主要是处理软件包的各种依赖关系并获取软件安装过程需要的各种安装包,dkpg
负责实际的软件安装工作。
1.1 使用包管理器安装应用软件
# 安装软件 |
1.2 配置软件源
sources.list
里设置了各种不同软件源的地址,apt-get
在软件源列表中搜索我们想要安装的软件。
配置软件源地址的方法有两种:一是直接在/etc/apt/sources.list
文件中添加软件源地址;二是将软件源地址单独写入一个后缀为list的文件,并将文件放置于/etc/apt/sources.list.d
。具体配置方法参考man sources.list
所示的文档。
1.3 使用镜像地址
树莓派的官方软件源位于国外,通过使用国内的镜像软件源,我们可以加快下载软件包的速度。国内的镜像源推荐阿里和中科大,公网建议阿里镜像源地址放在/etc/apt/sources.list
文件最前面,教育网则优先使用中科大。
官方软件源列表
1.4 加速软件包下载
apt-get
工具wget
来下载软件包,类似于IE浏览器
自带的下载功能,没有使用加速手段。我们可以通过使用apt-metalink工具来加速软件包的下载,它基于aria2
,能够从多个软件源处下载软件包,最大化地利用网络带宽来下载软件包。
安装apt-metalink
工具
sudo apt-get install aria2 |
使用apt-metlink
Usage: sudo apt-metalink [options] {upgrade | dist-upgrade | install pkg …}
Options:
-h, –help show this help message and exit
-d, –download-only Download only. [default: False]
–print-metalink Instead of fetching the files, Metalink XML document is printed. Metalink XML document contains package’s URIs and checksums.
–hash-check Check hash of already downloaded files. If hash check fails, download file again.
-x ARIA2C, –aria2c=ARIA2C path to aria2c executable [default: /usr/bin/aria2c]
2 应用设置
2.1 IP设置
给树莓派设置一个静态IP地址,会方便以后通过IP地址访问树莓派。具体设置方法如下:
修改/etc/network/interfaces
中eth0
部分为:
auto eth0 |
重启网络服务sudo service networking restart
- 上面方法是针对有线连接的情况,如果树莓派是通过无线连接到路由器的话,请修改
wlan0
部分。- 路由器的DHCP服务设置里面可以根据MAC地址来绑定IP地址,但是这种方法要等到DHCP服务给树莓派分配IP后,树莓派才会有一个有效的IP地址。使用上面的方法,树莓派在启动后就会有一个有效的IP地址。
2.2 远程访问
如果你的运营商给你分配了一个公网IP地址,那么你可以通过DDNS技术来访问你的树莓派。现在的路由器一般都带花生壳DDNS配置功能,你需要申请一个花生壳账号和配置好树莓派的端口映射,这样你就可以在任意其他地方访问到你的树莓派。
如果你使用的是一个大局域网的运营商服务(我用的电信就是。。。),那么你可以通过花生壳内网版来访问树莓派。
花生壳内网版安装
- 下载phddns_raspberry.tgz
- 解压
tar zxvf phddns_raspberry.tgz
- 进入
phddns2
目录,执行sudo ./oraynewph start
,提示Oraynewph start success
表示成功安装执行
使用帮助# 查看状态
sudo oraynewph status
# 停止花生壳服务
sudo oraynewph stop
# 启动花生壳服务
sudo oraynewph start
在设置好花生壳内网版服务后,登录b.oray.com
网站,添加一个映射对应树莓派的SSH服务后,我们会得到一个域名和端口用于远程SSH登录树莓派。
我使用的是花生壳内网没费版(交了8元的什么测试费吧),确实如它官方所说很不稳定,经常出现ssh connection closed by foreign host
,有时删除旧的映射重新添加下又好了。不过也无所谓,也就是偶尔SSH
登陆下。
技术上说,花生壳内网版就是在你的树莓派上运行着一个进程,它会与花生壳的外网机器(固定IP)进行连接。花生壳的外网机器作为你与树莓派通信的中间人,会将你发给它的数据中转给树莓派。所以你如果有一台外网机器就可以自己进行中转。
更新:受不了花生壳内网免费版的不稳定,打电话要电信要求换公网IP地址,公网IP树莓派访问参考这里
2.3 PIP使用设置
PIP是Python的包管理工具,为我们安装Python第三方扩展包提供了方便。
使用
# latest version |
配置
PIP的用户配置文件位于$HOME/.config/pip/pip.conf
,全局配置文件位于/etc/pip.conf
。
[global] |
index-url
配置Python包索引地址,推荐配置为国内的镜像源,加快包下载速度。国内速度快的有阿里和中科大
2.4 FTP服务器
给树莓派安装FTP服务器,方便平时上传/下载文件。
安装使用
# 安装 |
配置
修改/etc/vsftpd.conf
配置文件如下。配置完成后需要重启vsftpd服务。
# 不允许匿名 |
如果没有设置
write_enable=YES
,那么上传文件时会遇到550错误(550 Permission denied)。
2.5 Nginx安装
# 安装 |
- 默认站点位置
/usr/share/nginx/html
- 配置站点配置文件
/etc/nginx/sites-available/default
2.6 Glances安装
Glances是一个跨平台的系统性能监视工具,能够方便地在一个页面上查看CPU、内存、磁盘等使用数据和当前运行进程状态。
安装
sudo apt-get install lm-sensors |
2.7 存储设备使用
当我们将U盘、移动硬盘或者外接硬盘通过USB连接到树莓派后,我们需要进行挂在操作后才能正常使用这些存储设备。
挂载使用
1. 查看连接到USB接口上的存储设备,确认设备已经被识别。Device
信息中的/dev/sda
表示U盘、硬盘等设备,/dev/mmc
表示TF、SD卡类。sudo fdisk -l
2. 当设备被正确识别后,就可以进行挂载。# 新建挂载目录
sudo mkdir /mnt/usb_flash
# 挂载设备
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/usb_flash/
# 查看挂载是否成功
df -h
3. 当设备读写完毕后,取消挂载后就可以拔出设备sudo umount /mnt/usb_flash
4. 提示设备忙,查找占用进程,kill之后重新取消挂载。# umount: /mnt/usb: device is busy
# 查找关联进程
sudo lsof /mnt/usb
# 杀掉相关进程
sudo kill xxx
5. 自动挂载。每次手动挂载存储设备比较麻烦。我们可以在/etc/fstab
文件中添加需要自动挂载的设备。
首先我们查看我们需要挂载设备的标识符。sudo blkid
有了标识符后,我们在/etc/fstab
中添加新的条目。详细条目设置参考man fstab
。# 设备标识符 挂载点 文件系统格式 挂载选项 dump命令使用 fsck命令使用
UUID="xxx" /mnt/sync ext4 defaults 0 0
添加了新的条目后,在设备插入系统后就会自动挂载。如果已经插入系统上,可以使用sudo mount 设备标识符
进行挂载。
分区格式化
1. 硬盘分区。大于2TB的硬盘需要使用GPT分区表。GPT分区表是现在标准的分区格式,兼容MBR分区表格式,因此建议都使用GPT分区表。fdisk /dev/sda
2. 格式化分区。参数-m
设置文件系统保留空间。# 格式化ext4格式
mkfs.ext4 -m 1 /dev/sda1
# 调整保留空间大小
tune2fs -m 1 /dev/sda1