上文 Cubieboard2之Archlinux安装指南 中谈到了Archlinux在Cubieboard2上的安装过程,尤其是总结了一些针对双卡版的hack及注意事项。这篇blog就谈谈安装好基本系统之后的一些环境及应用配置。
P.S. 相关文章可见Tag: cubieboard
micro-SD/TF卡选型
作为根分区的micro-SD卡我用的是一张Class10 8G 的TF卡,home
分区用的是Class10 32G 的TF卡,写有系统的那张卡(根分区)插在板子的正面(印有data card),home
分区的卡则插在板子背面(印有boot card)。关于micro-SD卡的选择,Class 10是比较合适的,某逊上还算便宜。
软件源选择
这一节的内容同样适用于树莓派(Raspberry PI)
/etc/pacman.d/mirrorlist
中提供的Geo-IP based mirror支持的线路其实非常少,dig
查询可以得知其仅对美洲和欧洲做了线路区分。
## Geo-IP based mirror selection and load balancing
Server = http://mirror.archlinuxarm.org/$arch/$repo
直接连国外的软件源一般来说速度不太理想,
目前国内的Archlinuxarm软件源我知道的有中科大和华中科大两家提供镜像服务。用你最喜欢的编辑器在文件/etc/pacman.d/mirrorlist
的## Geo-IP based mirror selection and load balancing
之前加入如下几行:
## USTC
Server = http://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo
## HUST
Server = http://mirrors.hustunique.com/archlinuxarm/$arch/$repo
中科大在软件源这一块的口碑是非常好的,对不同网络线路的速度都还不错,大家可根据实际情况选择使用中科大的还是华中科大的软件源。如果到中科大和华中科大的网络都不太理想,台湾和新加坡的也可以考虑下。
系统更新
在安装软件包时可能会遇到如Signature
之类的错误,在/etc/pacman.conf
里设置SigLevel = Never
就好了,只要软件包不是太老应该不大会出现此类问题。在mirrorlist里改好软件源的Server之后在终端输入pacman -Syu
进行全局更新,熟悉Arch的自然不用多说,对Arch不熟的建议多看看Arch的Wiki,Arch和Gentoo的Wiki可以说是众多Linux发行版的典范,其中包含了非常多的系统及软件包的详细安装配置文档,凝聚了全世界众多Archer的心血,力荐!
需要注意的是执行全局更新时会提示更新uboot-cubieboard2
,更新完后需要将上文提到的script.bin
文件重新复制到/boot/
目录下,否则无法识别板子底部的TF卡插槽。如果系统运行正常的话不建议更新uboot-cubieboard2
这个软件包。vi /etc/pacman.conf
找到# IgnorePkg =
这一行,在其后加入IgnorePkg = uboot-cubieboard2
,以免夜长梦多,这就是双卡版带来的噩梦 :(
挂载硬盘
Cubieboard2一大亮点是提供了SATA接口,挂载2.5吋的移动硬盘和SSD时相比树莓派要方便不少。如果手头只有3.5吋的硬盘,可以考虑用硬盘盒。之前在树莓派上用ORICO 6518挂载过一块老的3.5吋硬盘,发现树莓派的供电能力实在是太有限了,即使使用硬盘盒和外部供电,在树莓派上进行大文件的传输时相应的USB接口也会掉电重启,具体表现就是硬盘会被强制unmount
。使用Cubieboard2外接同样的硬盘盒时则未发现类似现象。
使用lsblk -f
可查看到各SD卡和硬盘的UUID和设备名称,推荐在/etc/fstab
中使用UUID指定SD卡或者硬盘进行开机自动挂载,具体挂载参数依实际情况而定。我的fstab如下:
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mmcblk1p1
UUID=dda83b0a-9897-4338-a2c5-80f1df92ae41 /home ext4 defaults,data=writeback,noatime,nodiratime 0 1
# /dev/sda1
UUID=c89cbdf6-e043-4f76-b8b0-4d33ba6aeb93 /datacenter ext4 rw,relatime,data=ordered 0 2
/home
分区我用的是禁用了日志的ext4文件系统,所以和硬盘的挂载参数不太一样。
OK,针对Cubieboard2的一些特殊配置及注意事项就到此为止了,接下来的对基于系统之上的应用着重介绍下。
AUR小帮手
用过Arch的人都知道AUR对Archer有多么重要,Yaourt是为AUR设计的包管理工具,可以替代pacman
。但是使用yaourt
安装更新软件时可能会稍显繁琐和缓慢,比如不断输入yes,无法同时对AUR和官方源进行全局更新…
为了解决基于bash
的yaourt
速度较慢和操作繁琐的问题,rmarquis/pacaur横空出世了;为了解决yaourt
不能很好地整合pacman和AUR这个问题,keenerd/packer被发明了出来,目前来看pacaur的功能更为强大,当然这与这两个工具的定位有关。虽然这两个新的wrapper已足够好用,但是偶尔也难免出点bug,这个时候就不得不用yaourt了。
选用yaourt + packer
组合的执行# pacman -S yaourt packer
就好了,选用yaourt + pacaur
的需要先执行#pacman -S yaourt
,而后再调用yaourt
安装AUR中的软件包,yaourt -S pacaur
。注意:archlinuxarm和archlinux的软件源略有不同,archlinuxarm中/etc/pacman.conf
的repo已包含aur
,无需自行添加如archlinux.fr的Server地址。
安装常用软件包
常用软件包自然是经常需要用的那些软件包,比如编译所需的工具链、编辑器、版本控制工具和zsh
等。在Arch下安装这些软件包执行yaourt -S base-devel git
就好了。一般系统默认的Shell是bash
,鉴于zsh
强大的补全和其他特性,建议你还是用zsh
吧,执行yaourt -S zsh oh-my-zsh-git
就好了 :) 装好oh-my-zsh
后按照要求复制配置文件到如下新建的普通用户家目录下。
新建普通用户
# useradd -m -g users -G wheel -s /bin/zsh your_user_name
# passwd your_user_name
Arch下通过wheel
这个用户组来赋予普通用户在使用 Sudo时以root身份运行程序,这个和其他发行版略有不同。
设置Locale
这一步主要是为了远程接入Cubieboard/树莓派时能正常地显示非Ascii码,比如中文和部分特殊符号,一般情况下启用en_US
和zh_CN
即可。# vim /etc/locale.gen
使用Vim的搜索功能找到如下两行并取消注释。
...
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
...
#zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
#zh_CN GB2312
...
保存退出,执行# locale-gen
生成相应locale。接下来设置LANG
变量,为了避免不必要的麻烦,建议使用英文,# vim /etc/locale.conf
,加入行LANG=en_US.UTF-8
。关于Locale的详细设置可参考Locale - ArchWiki。
安装中文字体
执行# yaourt -S wqy-microhei
安装文泉驿微米黑,效果不错~ 实际上如果你不用Cubieboard/树莓派的图形界面,中文字体安装这一步是可以省略的。
SSH优化
mosh
传统的SSH方式非常不适合用于移动环境,比如无缝漫游,低速网络环境等。MIT团队推出的Mosh: the mobile shell则很好地解决这类问题。Arch下通过yaourt -S mosh
安装。
使用mosh连接Cubieboard/树莓派和SSH用法不大,mosh --ssh="ssh -p 2222" user_name@host_ip
,其中2222
为修改后的SSH端口,user_name
为你自己新建的账户,host_ip
则是Cubieboard/树莓派的IP了咯。
安全优化
为了安全起见,建议修改SSH常用的22端口,# vim /etc/ssh/sshd_config
,找到Port 22
这一行,将22更改为1024~65535之间任一你喜欢的端口。
由于root的威力实在是太大,允许root进行SSH是一件极其危险的事情。# vim /etc/ssh/sshd_config
,找到PermitRootLogin no
这一行,设置为no
。
最后别忘了重启sshd服务生效-# systemctl restart sshd
使用public key登录
每次ssh连接到Cubieboard2/树莓派都需要输入密码自然非常繁琐,那为何不用public key的方式哩?
按照SSH keys - ArchWiki提供的方法先在本地主机生成public key, 随后使用ssh-copy-id
将public key拷贝到Cubieboard2/树莓派上。拷贝好之后你就可以在自己的主机上写一行bash更为方便地执行一长串的ssh命令了。
Nice! 到此为此你已经武装上了大刀长矛,下一步就来点小米加步枪吧 :)