树莓派2 折腾笔记

树莓派(英语:Raspberry Pi),是一款基于Linux系统的只有一张信用卡大小的单板机电脑。最新的 树莓派2 拥有1G内存,ARMv7四核处理器,性能较上代有了很大的提升。我在某宝售价不足200元败了一个,折腾得很开心。上图:
树莓派2

系统安装

树莓派用micro sd卡充当系统硬盘,安装系统就是将镜像烧录到sd卡上。在windows电脑上操作,我们需要一张micro sd卡,一个读卡器,配合烧录工具(比如win32diskimager)。到https://www.raspberrypi.org/downloads/下载,下载完之后用win32diskimager把镜像写入到sd卡里就好了。 这里我选择的是ubuntu mate的镜像,也即Ubuntu MATE 15.04 for Raspberry Pi 2,因为我个人更熟悉ubuntu系统,并且软件包比raspbian系统要新,图形界面也更加漂亮。 完成之后将sd卡插入树莓派,接上显示器(hdmi接口)、usb键盘鼠标,插上电源(5V2A)、网线,就可以开机,进入ubuntu mate的安装界面了。 按照向导完成安装之后,接下来进行一系列的配置和优化。

vim、git补全

sudo apt-get update
sudo apt-get install vim
sudo apt-get install git

ssh补全

apt-get install openssh-server
vi /etc/ssh/sshd_config

将PermitRootLogin设为yes。

root账户密码

sudo passwd root

之后就可以注销,用root账号登陆。 在用root账户登录图形界面时,出现“stdin is not a tty”的错误提示,只需要:

vi /root/.profile

mesg n

改为

if `tty -s`;then
  mesg n
fi

保存,重启即可(参考http://ubuntuforums.org/showthread.php?t=2270923)。

中文支持

点开系统->控制中心->语言支持,开始更新中文语言包相关内容,更新完重启。因为默认的fcitx输入法有问题,显示是个黑框框,我换了个ibus输入法框架:

apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4
apt-get install ibus-pinyin ibus-sunpinyin #安装输入法
ibus-setup #设置

然后在语言支持中将默认输入法切换为ibus即可(参考http://wiki.ubuntu.org.cn/IBus)。

system modules 问题

开机的时候有红字提示“failed to load system modules...”,搜索了下,解决方法如下:

vi /etc/modules-load.d/cups-filters.conf

将里面的lp、ppdev、partport_pc三个注释或删除掉,重启时就没有错误提示了。

扩展存储空间至整个sd卡

df -lh #查看磁盘
fdisk /dev/mmcblk0

删除第二个分区 (d, 2), 重新创建 (n, p, 2, enter, enter), 写入 (w)。reboot。

resize2fs /dev/mmcblk0p2

再次使用df -lh查看各分区大小。 参考https://ubuntu-mate.community/t/ubuntu-mate-15-04-for-raspberry-pi-2/517

swap空间

增加1G的swap,让系统更健壮。

fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

永久保存swap:vi /etc/fstab 加上一行:/swapfile swap swap sw 0 0 vi /etc/sysctl.conf,加上:

vm.swappiness = 10
vm.vfs_cache_pressure=50

最后重启OK了。

挂载usb外接硬盘

我直接插上usb移动硬盘不能正常挂载,只好用了有源的usb硬盘盒。为了方便在windows系统查看,硬盘用的ntfs格式。 插上之后自动给我挂载到了/media/root/mhd,这不是我想要的位置,重新挂载了下:

umount -l /dev/sda1
mount -t ntfs-3g /dev/sda1 /media/mhd

之后修改fstab便于开机挂载:vi /etc/fstab,加上一行/dev/sda1 /media/mhd ntfs-3g defaults 0 0

软件安装

与其他架构的ubuntu玩法差不多,现在我手里的树莓派就是个小的ubuntu服务器。

LAMP

数据库我选择了mariadb而非mysql,也没多大区别。

apt-get install mariadb-server
mysql_secure_installation

web服务端软件我选择了apache而非nginx,因为我感觉apache的各种文档要多一点,更省心,坑要少一点。

apt-get install apache2
a2enmod rewrite
apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imap php5-mcrypt php5-mhash php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

之后

vi /etc/apache2/mods-enabled/dir.conf

将index.php放到第一位。此时可以通过ip访问服务器了,默认web根目录为/var/www/html。

composer

composer被b了,因此我用了国内的镜像https://toran.reimu.io/

wget https://toran.reimu.io/composer.phar
chmod +x composer.phar
mv composer.phar /usr/local/bin/composer

通过composer config -l -g | grep home获取COMPOSER_HOME,将配置写在COMPOSER_HOMEcomposer.json内。

{
  "repositories": [
    {
      "type": "composer",
      "url":  "https://toran.reimu.io/repo/packagist/"
    },
    {
      "packagist": false
    }
  ]
}

若出现cannot adopt OID in net-snmp-extend-mib...的问题,

apt-get install snmp-mibs-downloader

就可以了。

vnc

apt-get install tightvncserver
vncpasswd

安装之后运行命令vncserver,就可通过IP:1用vnc客户端进行远程桌面了。

btsync

BitTorrent Sync是bittorrent出品的p2p文件同步工具,很适合同步文件。 下载arm版本:https://www.getsync.com/platforms/desktop 解压出来的btsync是可执行程序,我把它丢在了/usr/local/bin,再chmod +x /usr/local/bin/btsync,之后终端执行btsync。 出现No such file or directory错误,解决方法:

ln -sf /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3

参考:http://forum.bittorrent.com/topic/20860-no-such-file-or-directory/。 btsync运行起来之后,通过localhost:8888可访问webui进行管理(似乎默认没办法局域网内ip访问,囧)。

迅雷远程

下载arm版本的迅雷远程xware:http://g.xunlei.com/thread-12545-1-1.html,注意是Xware1.0.31_armel_v5te_glibc版本的。 解压到/usr/local/bin/,运行portal,此时会提示绑定用的code,到yuancheng.xunlei.com进行设备绑定,就ok了。 注意迅雷远程下载目录是外部存储设备,需要mount一个外部设备,我用的是带电源的USB硬盘底座插了一个2.5寸的笔记本硬盘。

transmission-daemon bt下载工具

transmission带web控制界面,非常方便好使。 首先安装

apt-get install transmission-daemon

然后创建下载目录(这里都是外接移动硬盘的位置):

mkdir /media/mhd/bt-complete
mkdir /media/mhd/bt-incomplete

停止服务并修改配置:

service transmission-daemon stop
vi /etc/transmission-daemon/settings.json

修改download-dir和incomplete-dir为上述的俩个目录地址,rpc-whitelist-enabled为false。重启transmission-daemon服务,此时即可通过网址:http://localhost:9091访问,默认用户名和密码都是transmission。可以愉快地用树莓派做下载机啦,bt、pt都可以! 参考:http://shumeipai.nxez.com/2013/09/08/raspberry-pi-bt-download-servers.html

samba

sudo apt-get install samba samba-common-bin
sudo apt-get install netatalk #可选,用于支持AFP
sudo apt-get install avahi-daemon #可选,用于支持网内的计算机自动发现

/etc/samba/smb.conf 文件尾部增加

[public]
comment = Public Storage
path = /media/mhd
read only = no#任何人都具有了访问修改的权限
#因为是公共文件夹,所以给了所有用户全部权限,可以自定义
create mask = 0777#新创建文件的默认属性
directory mask = 0777#新创建文件夹的默认属性
guest ok = yes#默认的访问用户名为guest
browseable = yes

smbpasswd -a 用户名 添加 Samba 用户;smbpasswd -e 用户名 激活用户。 参考http://shumeipai.nxez.com/2013/08/24/install-nas-on-raspberrypi.html

开机启动迅雷远程与btsync

vi /etc/rc.local

在exit 0 前面加上/usr/local/bin/portal和/usr/local/bin/btsync

总结

树莓派2还是挺好玩的,如果再接上各种传感器、摄像头、信号灯,应该会更好玩!