本文将列举8则本人在使用树莓派中遇到的问题的总结,应该能够解决大部分Linux初学者的疑问,因为…真的很基本操作。
SSH:connection closed by foreign host
在当时本人喜欢使用XShell来连接树莓派,但是过了一段时间后发现SSH在连接时经常出现 connection closed by foreign host 错误之后直接断线。该症状主要表现为突然一卡,然后就没有然后了。
sudo vim /etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 3
sudo /etc/init.d/ssh restart
即可解决以上问题。
由于后面安装的Raspbian系统是采用了Lite镜像安装的,所以并没有做过多的配置(当然了现在知道也是可以在命令行里面调出界面进行配置的)。在安装了SSH后发现只要树莓派重启XShell就无法连接。
为了解决这个问题上网去找答案,发现官网一早就有解释。
Raspbian系统在2016年11月25日之后将SSH变成开机默认不启动。若需要自动启动则可以在SD卡的根目录中添加“SSH”文件。以下是官方的说法:
2016-11-25:
● SSH disabled by default; can be enabled by creating a file with name "ssh" in boot partition
解决办法
关机后拿出你的SD卡在里面添加一个ssh文件即可。
最好肯定是调出输入raspi-config命令后进行界面配置。
作为一个Java人肯定要在ARM架构中部署JDK的。虽然树莓派的软件安装都比较智能,通常一个命令就可以解决,但是在安装jdk的时候就要看清楚了。由于采用的是ARM架构的,所以在选择安装版本的时候要看清楚安装ARM版本的。
注意:如果使用apt-get的方式去自动获取jdk就会将ARM版本给排除了,所以这里采用的是离线的安装方式,将安装包先下载,解压后再进行安装。
sudo tar zxvf jdk-8u111-linux-arm64-vfp-hflt.tar.gz -C /opt
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_111/bin/java" 1
若安装的版本不正确在查看版本的时候就会报错:
例如:输入java -version的时候抛出错误
update-alternatives: using /opt/jdk1.8.0_111/bin/java to provide /usr/bin/java (java) in auto mode
这是因为系统与安装版本不一致导致,系统是32位,而jdk是64位不匹配。既然这样卸载重装一个32位版本即可,至于之后关于环境变量的配置基本上跟Linux中的配置一样。
对于服务器间文件传输来说FTP应该是必不可少的服务,毕竟那移动硬盘去拷贝也不太现实。
sudo apt-get install vsftpd
sudo chmod 777 /etc/vsftpd.conf
vim /etc/vsftpd.conf
vsftpd.conf关键配置修改如下:
# 配置用户可以写权限
write_enable=YES
# 配置uMask(默认为077,该种方式不支持断点续传,修改为022)
local_umask=022
# 禁止匿名用户登录
anonymous_enable=NO
# 限制用户访问配置以外的路径(这个配置是限制全部用户的,也可以限制部分用户)
chroot_local_user=YES
# 配置Ftp用户的Home目录
local_root=/mnt/harddisk/disk1/ftp
不做成静态IP无法通过SSH来访问。
若只使用普通用户进行修改会抛出权限不够的异常,但是你想用chmod命令来修改权限的时候也会抛出以下异常:
chmod:changing permissions of ‘interfaces’:Read-only file system
sudo mount –rw –o remount /
之后就可以修改静态IP
sudo vim /etc/dhcpcd.conf
interface eth0
static ip_address=10.12.8.124/24
static routers=10.12.8.1
static domain_name_servers=202.102.152.3 114.114.114.114
之后重启即可
Debian和Ubuntu系统在获取安装信息的时候都是通过apt-get来进行的,我们在每次安装之前都通过sudo apt-get update来更新一下信息源,以求安装的东西都是最新的版本。但是有些时候信息源不是系统根据网络情况自动选择的。Ubuntu的情况比较明显,大多数情况下在刚刚安装完成需要update的时候获取的是uk或者是hk的源。对于中国大陆的用户来说下载的速度太慢甚至有时候不能连接,这个太不友好。后来发现阿里其实有提供信息源,果断切换到阿里那边,下载速度可不是一般的快。
sudo vim /etc/apt/sources.list
sudo apt-get update && apt-get upgrade -y
树莓派使用的Raspbian系统是基于Debian系统,所以树莓派启用root和debian是相同的。debian里root账户默认没有密码但账户锁定。
当需要root权限时,由默认账户经由sudo执行,Pi系统中的Raspbian默认用户是pi密码为raspberry。
重新开启root账号可由pi用户登录后,在命令行下执行:
sudo passwd root
执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后在执行
sudo passwd --unlock root
这样就可以解锁root账户了。
树莓派的操作系统就安装在一个内存卡中。因财力有限只买了一个8G的,想要存些什么东西都没有空间。还好3代的Pi有4个USB接口可供使用,用来挂载移动硬盘是个不错的选择。
插入移动硬盘后使用sudo fdisk –l查看硬盘信息,可以看到有一个写着W95 FAT32格式的/dev/mmcblk0p1/磁盘。
Linux系统发展到这个时代,已经有软件可以让系统适配FAT格式的硬盘,但是这里我是打算将这个移动硬盘固定给Pi使用的了,因此还是选择将其格式化。
因此使用sudo mkfs -t ext4格式化挂载的硬盘:
sudo mkfs -t ext4 /dev/sda
完毕后使用mount命令开始挂载硬盘,如下图:
使用sudo df –h查看系统磁盘情况,那个147G的硬盘就挂载上了
然而每次开机都需要手工挂载不方便,因此设置了开机自动加载。
先修改/etc/fstab的权限,然后用vim编辑该文档
在文件中加入
保存退出后重启即可自动挂载。