-
-
Save willwhui/acc6a0ab8fc2f78040f1f822d62a5363 to your computer and use it in GitHub Desktop.
为树莓派3B安装raspbian+设置初始环境+备份 |
当前系统时间不对(可能是因为我的子网配置特色导致)
貌似在2018-03-13-raspbian-stretch-lite这个版本中已经内置了正确的时间同步机制了。
因为输入date,可以看到返回的日期和时间是当前的UTC时间。
pi@raspberrypi:~ $ date
Sun Apr 8 05:54:25 UTC 2018
如果这样的话,以下时间同步内容就不用看了。
但是不能肯定是不是因为我上次设定好了Openwrt的时间服务器。
总之只需要设定一下timezone,让日期时间变成本地时间就行了:
sudo dpkg-reconfigure tzdata
systemd-timesyncd(已验证)
这是新的raspbain系统自带的服务。
但是没正常工作。
应该是连接不到标准时间服务器。
命令行输入如下内容(参见Time sync problem):
timedatectl
systemctl status systemd-timesyncd.service
可见类似输出:
...
NTP synchronized: no
...
... Timed out waiting for reply from 209.97.168.88:123 ...
...
意思是无法连接到时间同步服务器
然后根据https://raspberrypi.stackexchange.com/questions/85670/how-to-set-custom-ntp-servers-in-recent-raspbian-stretch-systems
Edit /etc/systemd/timesyncd.conf , especially the second line
[Time]
NTP=your.servername.goes.here
FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
设置一个可以访问的时间服务器,比如:
NTP=cn.pool.ntp.org
然后
sudo systemctl restart systemd-timesyncd.service
等一会儿就可以了
如果上述方法不行,则安装htpdate试试(已验证)
参见:https://www.raspberrypi.org/forums/viewtopic.php?t=222236#p1364195
sudo apt install htpdate
安装完就可以了。
设置自己的时间服务器完成时间同步(已验证)
先将openwrt设置为时间服务器。
Openwrt作为时间服务器:
https://wiki.openwrt.org/doc/uci/system 搜索ntp,可以找到方法。
再安装ntp进行时间同步
参照:
http://raspberrypi.tomasgreno.cz/ntp-client-and-server.html
将树莓派的ntp服务器设为openwrt的ip就好了。
即,在类似server 0.xx.pool.ntp.org xxx
的前面增加一行:
server 10.0.0.1
也可以通过ntpdate手动更新时间
https://firewallengineer.wordpress.com/2013/09/06/openwrt-ntp-server-configuration/
在openwrt里面:
sudo vi /etc/rc.local
将ntpd -l加入在exit 0之前
在树莓派里面:
安装ntpdate
sudo apt-get install ntpdate
设置好每次启动的自动更新时间:
sudo vi /etc/rc.local
将ntpdate 192.168.1.1加入在exit 0之前
这样至少每次启动会更新一下
待长期验证:
不知道这样更新时间是否稳妥。
增加samba服务
vi处理多文件比较麻烦,所以开启samba服务,以便在ubuntu上编辑
参见:
https://www.raspberrypi.org/magpi/samba-file-server/
以共享homeassistant的配置文件目录为例:
首先安装samba
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba
然后修改配置文件
sudo vi /etc/samba/smb.conf
在文件末尾追加
[homeassistant]
comment = Hass config files
path = /home/homeassistant/.homeassistant
writeable = yes
browseable = yes
guest ok = no
force user = homeassistant
force group = homeassistant
注:
- 因为home assistant的配置文件会有我的私人密码,所以还是把smb的guest访问关掉比较好。就是
Guest ok = no
这一行。 - force user, force group是为了在以共享方式访问此文件夹时创建的文件,被强制指派为属于user homeassistant。因为平时将以user pi用户的身份访问这个目录。
然后添加可以访问samba服务的用户:
sudo smbpasswd -a pi
最后,重启服务
sudo /etc/init.d/samba restart
就可以了
备份
树莓派好像经常把自己的操作系统搞崩溃,必须得备份一下了。
不过,
后来发现并不是经常整个系统崩溃,而是因为挂接了usb硬盘,导致的:
断电重新启动时,如果usb硬盘盒没有通电,那么启动树莓派的时候就不会成功。
失败的原因是:没有找到挂接的硬盘。
解决的办法:启动时保证外挂的硬盘盒通电,处于非休眠状态。
备份和恢复,参见:https://www.raspberrypi.org/forums/viewtopic.php?t=46911#p368698
首先运行,找到自己的SD卡挂载目录:
sudo fdisk -l
通过观察显示的存储空间大小来辅助判断挂载目录名称,比如
/dev/sdb1
然后运行命令以下命令,开始备份:
sudo dd bs=4M if=/dev/sdb | gzip > /home/your_username/image`date +%d%m%y`.gz
通过运行如下命令来刷回SD卡:
sudo gzip -dc /home/your_username/image.gz | dd bs=4M of=/dev/sdb
如果遇到权限不足的问题,按如下命令操作:
sudo su
gzip -dc /home/your_username/image.gz | dd bs=4M of=/dev/sdb
以上操作必须在linux电脑上进行,不能在需要备份的树莓派上操作!
vi 方向键不正常工作
sudo vi /etc/vim/vimrc.tiny
将其中的
set compatible
改为
set nocompatible
vi backspace不正常工作
在上述文件中增加:
set backspace=2
使用sshfs在本地挂接pi上的目录
首先安装sshfs,如:
sudo apt-get install sshfs
然后把某目录挂接到ubuntu(我的工作电脑)上来:
mkdir ~/mypi
sshfs pi@ip-of-mypi:/home/pi ~/mypi
这样就可以在ubuntu上通过访问~/mypi目录来操作pi上的~/pi目录了。
在lite版的基础上添加图形界面
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=133691
安装前,运行一下free命令:
~ $ free
total used free shared buff/cache available
Mem: 949448 107968 520540 48104 320940 741744
Swap: 102396 0 102396
安装完成之后:
~ $ free
total used free shared buff/cache available
Mem: 949448 233160 214628 26156 501660 634356
Swap: 102396 0 102396
raspbian的安装步骤
官方说明:https://www.raspberrypi.org/downloads/raspbian/
我选择安装lite版本
设置ssh的方法
官方说明: https://www.raspberrypi.org/documentation/remote-access/ssh/
默认的用户是pi,密码是raspberry
登录进去,使用passwd命令改掉,以免夜长梦多。
然后设置成ssh免密码登录方式(以密钥公钥验证方式登录,参见这里),安全又方便。
设置wifi的步骤
根据官方参考说明:
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
打开文件:
追加wifi配置:
根据ssid生成psk的方法是:
保存上述配置文件,并重启树莓派
可以发现wifi连接成功。
以前出现过不能顺利成功的情况
做过以下考察和配置。不知今后是否还有必要
https://raspberrypi.stackexchange.com/questions/10251/prepare-sd-card-for-wifi-on-headless-pi
当前版本
pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
错误情况:
不认interface wlan0
sudo ifup wlan0
出错:"unknown interface wlan0"
需要进行补充设置
根据这个:https://www.raspberrypi.org/forums/viewtopic.php?t=191061#p1199674
Make sure your wpa_supplicant.conf is in place then do
and add
to the end of the file. Then do
Then reboot.
这样就搞定了!