用BB_BLack打造超低功耗家用文件视频服务器——Linux新手村
前些天写了几篇有关打造家用NAS,HTPC的文章,值友们很热情,反馈很多。其中有值友提到有闲置的BB Black想利用起来。
BB BLACK (beaglebone black) 单板计算机, 只有名片大小,却有着电脑或手机一样完备的计算机功能。多用来制做飞行器, 机器人,智能玩具等。而我看中的是它超低的功耗,低发热量,高稳定性,拿它来当一个全时工作的小小文件服务器。
BBB的做工非常好,我的一块板子用了5年了,一天24小时,一年365天,不间断开机,一直是稳定正常的工作。 单机工作时功耗10W左右,带一个硬盘盒做存储单元,也不过区区15W,可以做到随叫随到,节能环保。所以是一个可以利用起来的好资源,本着造福值友的原则,我继续整理一些有关BBB打造家用服务器的教程,供大家参考指正。
一, 系统刷入:
BBB 支持的是linux系统, debian, ubuntu, 甚至android 都可以安装,但支持最完备的还是debian系统。所以想玩BBB的朋友,还是需要一些linux的基础知识,会一些基础命令。不会的朋友可以花点时间来熟悉,不难。
BBB 板载 2G(新款是4G) eMMC FLASH 存储单元,可以拿来安装系统,但有限的容量不够支持我们安装软件和日常使用。所以我们日常用的系统将会安装在一个TF卡上。
1. 在此我会粗略介绍一下emmc系统的刷入步骤,作为备份系统,假如TF卡的系统出现问题,可以通过EMMC系统救命也是极好的 (不想动emmc FLASH的朋友可以略过这一步) 。
题主试过很多个版本的flash,emmc 最好还是用官方提供的 Debian 7.5:
1). 下载EMMC版本flash,解压得到.img文件; 可以从官方网址下载
2). 打开自用电脑,用win32 disk imager烧入 2G,4G或8G TF卡(16G可能认不出); 此处要用到TF卡读卡器,或卡套;
3). BBB主板断电;
4). 插入烧好EMMC版本的TF卡到 BBB的TF卡槽;
5). 一直按住BBB主板上的 S2按键;
6). 插入电源线或USB线上电,主电源灯亮,其他四个流水灯或亮或不亮;
7). 一直按住S2直至四个流水灯闪烁后可以停止;
8). BBB 将会读取TF卡里的系统文件,烧写入eMMC,耗时约20分钟;
9). 烧写完成后,四灯全亮,然后全灭,自动关机.
这个系统我们平时不会用到,可以作为备用应急系统。而下面写入TF卡的系统则是我们平时要用的系统。
2. TF启动版 debian :
题主试过7.5, 7.8, 8.6, 8.7, 9.1 等很多个版本, 发现最稳定的除了7.5, 还是 8.6版. 系统尽可能用新不用旧,所以我的BBB 一直稳定在 debian 8.6.
1). 下载SD卡版flash,解压得到.img文件;
2). 用win32 disk imager 烧入 TF卡; TF卡最好用8G的;如果系统刷好,但就是不能启动,或启动后安装程序多次出现问题,可以换一张卡试试;
3). 主板断电;
4). 插入烧好flash的TF卡;
5). 主板上电启动即可;
二, 系统登入管理:
1. 开机: 系统刷好后我们可以用5V电源供电,也可以用 micro USB连接USB供电; 并插上网线;
2. Putty登场:debian 8.6 系统虽然已经集成有LXDE图形桌面插件,但BBB小小的身板用图形桌面将会给它和使用者带来一定程度的伤害。所以我们将会主要用 SSH 登录来管理BBB。
例如,用一台 widowns电脑,下载一个putty, 打开。
3. Putty 设置如图:
1). 如果BBB通过Micro USB直接连电脑, IP地址可以是 192.168.7.2, 端口是22, 为BBB默认的。
2). 如果BBB用5V电源,或MICRO USB充电器供电,需要去路由器查看分配到的IP, 如192.168.1.6
4. 第一次登录系统:
1). Debian7.5, 8.6 系统可以 直接用root帐户登录; 因为我们要用的系统是 8.6, 所以直接用root登录即可。
2). Debian8.7, 9.1: 为了系统安全着想,8.7以后的版本只能先用 用户debian / 密码temppwd 登录;
4. 进入系统后第一件事当然是管理密码,安全永远都放在第一位的,对吗?
从这里开始就要用到很多的linux命令:
更改密码 sudo passwd debian
或给root设密码: sudo passwd root
设置和修改是同一个命令!
三,TF卡分区管理:
进入系统后,第二件事是扩大系统分区的大小, 因为刷入系统时只分一个约4G的分区给系统,剩下的空间处在未分配的状况,我们需要的是将未分配的空间全部给系统分区。
1).查看系统盘情况: df -hl
我们会发现分区空间基本被占用,可用空间极小。
2).将未分区空间给现有分区:
cd /opt/scripts/tools/
sudo ./grow_partition.sh
3).重启: reboot
4).再次用df -hl命令查看TF卡分区大小,确认无误;
这样我们就拿到了全部的TF卡空间,df -hl 命令可以看到TF卡的空间从3.7G左右变成了7.3G左右,bingo,接下来就有空间可以更新系统安装软件了!
四, 登录后先更新软件:
再次进入系统后我们需要更新系统才能使用,不然会提示很多的软件安装不了;请确保网络通畅,因为接下来要下载很多的软件包。用如下命令:
更新软件包列表: apt-get update
然后更新软件: apt-get upgrade
这个过程耗时非常长,请耐心等候。
五,本文中常用的 linux命令: 注意linux命令区别大小写
1. 添加用户: adduser XXX
2. 新建文件夹:mkdir /home/XXX
3. 文件或文件夹删除命令: rm (-rf 可以强制删除空文件夹)
4. 拷贝命令: cp -a /home/XXX/* /var/XXX
5. 改名命令,移动命令: mv
6. 查看硬盘数,挂载或未挂载的都可以看到: fdisk -l
7. 挂载命令: mount (例: mount -o umask=0 /dev/sda1 /home/XXX)
8. 更改文件或文件夹属性: chmod 777 (Linux权限: r=4, w=2, x=1, 分别为读,写,执行, 详细上网查一下)
9. 关机: shutdown, halt, power off 都可以
shutdown -h now #立刻关机
shutdown -h 10 #10分钟后自动关机
10. 重启: reboot, shutdown
shutdown -r now#立刻重启
shutdown -r 10 #过10分钟自动重启
六, BBB 开机自动挂载指定硬盘到指定位置:
经过第四步的系统更新,BBB就可以正常安装软件,我们需要FTP, SMB,VNC等等都可以上了。首先我们需要是让它当好仓库管理员的角色, 而硬盘就是我们的仓库。
BBB有一个USB接口可以挂硬盘,U盘,也可以挂一个硬盘盒带多个硬盘。
重要提示: 在挂硬盘之前,我们需要分清硬盘分区的格式,非常重要:
1). EXT3/EXT4 格式: 这是linux硬盘分区格式,很多的软件需要在这种分区格式上才能正常运行。
2). NTFS 格式: 这个格式可以和windows通用, 但是里面的文件夹和文件权限不能自由设置, 我们可以拿来存储文件视频。
极重要提示: 装好硬盘后,先启动硬盘盒,再打开BBB。经过下面一步后,每次开机都必须这样做。
1. 用fdisk -l 命令查看挂的硬盘的 DEVICE ID.
从上图可以看出我们挂的大硬盘是 /dev/sda1, 接下来我们用mount命令测试是否可以正常挂载:
2. Mount: 将该硬盘挂到 /home/usbdisk1 下面, 这个文件夹的位置随便你选。
mount /dev/sda1 /home/usbdisk1
3. 然后用 df -hl 查看是否挂载好:
4. 从上图可以看出,硬盘可以正常挂载, 接下来试着拷贝一个文件,touch一个文件,看是否可以正常读写;
确认无误后就可以进行下面操作了.
编辑 /etc/fstab 文件: nano /etc/fstab
加入如下命令行, 有多个分区或硬盘,可以有多行:
/dev/sda1 /home/usbdisk1 auto auto,rw,user 0 0
千万注意: 如果这一行写错, BB black不能启动; mount到的位置必须是空文件夹,里面不能有文件或文件夹;BBB和硬盘盒关机后也必须先开硬盘盒,后开单板机!
修改好后按ctrl+O保存, ctrl+X退出编辑器。
重启:reboot
这样以后每次系统启动后就会自动挂载硬盘了。
七, 安装samba服务,实现和windows文件共享
1).安装软件,命令如下:
apt-get install samba
apt-get install smbclient
2). 编辑/etc/samba/smb.conf 配置文件, 我喜欢用nano编缉器, 简单易用.
nano /etc/samba/smb.conf
光标下移到最后, 输入共享名,共享文件夹的信息:
我将NTFS格式分区挂在 /home/usbdisk1 下, 将EXT4格式分区挂在 /home/usbdisk2 下, 都设置好共享:
3).重启samba服务,命令如下:
/etc/init.d/sambarestart
至此就可以在电脑或安卓电视上看到共享的文件夹了。
八,安装FTP服务器:vsftpd
1). 软件安装:
apt-get install vsftpd
2). 创建用户及相应文件夹
adduser johnson
mkdir /home/usbdisk2/johnson
mkdir /home/usbdisk2/johnson/ftp
要点: FTP文件夹所在分区必须是EXT4格式,如果是NTFS则无法进行下面的权限更改,FTP服务将会无法存取。 题主曾经花费了很大的力气总结出来的经验!
chmod a-w johnson 取消用户目录的写权限,该选项与chroot_local_user=YES项密切相关
chmod 777 ftp 配置ftp上传下载文件夹的读写执行权限
3).编辑conf文件
nano /etc/vsftpd.conf
找到以下设置:
anonymous_enable=NO 禁止匿名登录
local_enable=YES 本地可以登录
write_enable=YES 可写
local_umask=022 FTP新建文件夹权限 755
use_localtime=YES 用本地时钟时间
connect_from_port_20=YES 传输端口
local_root=/home/usbdisk2/johnson FTP工作文件夹位置
大部分设置默认就是这样的,但要检查一下。
4). 修改用户登录密码管理文件:
nano /etc/passwd
将FTP用户的目录更改为需要的目录,例如 johnson用户将会登录FTP, 便找到johnson用户,将下图红线上的部分更改为FTP用户目录.
例如: /home/johnson 改为/home/usbdisk1/johnson
5).重启vsftpd服务
/etc/init.d/vsftpd restart
至此FTP文件服务器也已经配置好,通过FTP客户端可以上传下载文件了。
在打通路由器DDNS关节后,也可以远程访问了。
九, 新手村总结
新手村里的任务到此结束,BBB 系统安装好,SAMBA, FTP已经可以工作。局域网可以可以看文件视频了, 摄像头的视频文件可以存入BBB的硬盘里了。
后续我们进入江湖游行,危险也会接踵而来, 再一步步解决 中文支持,下载软件, SSH/VNC远程管理,百度网盘下载,计划任务自动运行,内存清理资源释放, 安全...
好吧,这是一个全新的系统,和windows系列一样,要干的活太多了。
PS: 其实我还有一个备用的BBB!
嗨醒醒
校验提示文案
闷叔
校验提示文案
天才朝圣
校验提示文案
auleehung
校验提示文案
i_need_buy_buy
校验提示文案
铃酱
IO性能太弱鸡了啊,能说还不如MT7620的路由器么
校验提示文案
骠骑上将军
校验提示文案
Czerno
校验提示文案
i_need_buy_buy
校验提示文案
骠骑上将军
校验提示文案
铃酱
IO性能太弱鸡了啊,能说还不如MT7620的路由器么
校验提示文案
auleehung
校验提示文案
Czerno
校验提示文案
嗨醒醒
校验提示文案
天才朝圣
校验提示文案
闷叔
校验提示文案