RASBERRY系统安装与配置
- 贡献者:HHJ
- 阅读:684
- 类别:其他
- 更新时间:2017-11-09 02:10:32
制作系统
从树莓派官方 http://www.raspberrypi.org/downloads 下载Raspbian lite版,解压缩
# unzip 2017-07-05-raspbian-jessie-lite.img.zip
写入SD卡
# dd if=2017-07-05-raspbian-jessie-lite.img of=/dev/mmcsd0 bs=1M
开启SSH服务
raspberry系统默认关闭了SSH服务,若开启该服务,需要在boot分区下添加一个名为“ssh”的文件。
# touch /media/mmcsd0s1/ssh
SSH disabled by default; can be enabled by creating a file with name "ssh" in boot partition
ROOT 账号设置
如果你安装的是官方的 Raspbian 系统,那么默认的登录帐号为 pi 密码是 raspberry。为了方便折腾,建议第一时间启用 ROOT 账号。
设置 root 账号的密码,会让你输入两次新密码
sudo passwd root
启用 root 账号登录
sudo passwd --unlock root
执行完之后,用 reboot 命令重启就可以用 root 登录啦。
树莓派用户管理
树莓派的用户管理需要在命令行终端上处理。默认的用户名是pi,密码为raspberry。你可以添加用户并修改每一个用户的密码。
修改用户密码
当你使用pi用户登录之后,你可以使用passwd命令修改你的密码。 如果你使用的用户拥有sudo权限,你可以通过其他用户的用户名和passwd命令修改他们的密码。例如,
sudo passwd bob
将允许你设置bob用户的密码,以及用户的其他可选值(例如姓名)。可以简单按回车跳过这些选项。 在命令行中输入passwd,然后按回车。命令行终端会提示你输入当前的密码进行验证,验证通过后会要求你输入新的密码。
删除用户密码
你可以通过sudo passwd bob -d命令删除用户bob的密码。
创建一个新用户
你可以使用adduser命令在你的树莓派设备上创建其他用户。 输入sudo adduser bob,将会提示你输入新用户bob的密码,也可以直接回车留空白表示不设置密码。
3.1 HOME FOLDER(Home文件夹) 当你创建一个新的用户,新的用户将会在/home/目录下创建自己的home文件夹。pi用户的home文件夹位于/home/pi/。
3.2 SKEL 上面创建了一个新的用户,/etc/skel/目录下的文件也会复制一份到用户的home文件夹下。你可以根据你自己的喜好添加或者修改类似/etc/skel/中.bashrc这样以“.”开头的文件,这些修改后的版本将会被应用到新创建的用户上。
sudo用户
树莓派上默认的pi用户是一个sudoer(sudo用户)。这种类型的用户在命令行上输入命令之前先输入sudo就能拥有root权限执行命令,也能够通过sudo su完全切换到root用户。
添加一个用户到sudoer用户组,需要使用一个sudo用户输入sudo visudo命令打开配置文件,找到文件中“# User privilege specification”下面的“root ALL=(ALL:ALL) ALL”。复制这一行并将其中的root替换为对应的用户名。为了免验证密码使用root权限,修改为NOPASSWD:ALL。下面的例子给予了bob用户免密码访问sudo权限:
bob ALL = NOPASSWD: ALL
保存并退出以完成修改。
删除用户
你可以使用userdel命令将你系统上的一个用户删除掉。附加-r标签可以同时删除它们的home文件夹: [plain] view plain copy sudo userdel -r bob
更换软件源(apt-get sources)
编辑 /etc/apt/sources.list 文件,删除原有内容,添加中科大源:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free
然后执行 apt-get update 命令更新软件列表。
经过证明这样的源是最好的,对中国用户来说:
deb http://mirror.devunt.kr/raspbian/raspbian/ wheezy main contrib non-free rpi deb ftp://ftp.kaist.ac.kr/raspbian/ wheezy main contrib non-free rpi #deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi deb http://mirror.nus.edu.sg/raspbian/raspbian/ wheezy main contrib non-free rpi deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
说明
deb : debian包 deb-src : debian源码包 http:// : dibian镜像地址 jessie : 版本代号 main : 自由软件 contrib : 半自由软件 non-free : 非自由软件
设置静态 IP 地址
编辑 /etc/network/interfaces 文件,如果你要设置的是有线网卡的 IP 地址,那么把 eth0 的 dhcp 改成 static 然后在下一行追加 IP 信息,结果大概如下:
iface eth0 inet static address 192.168.1.200 # 设定的静态IP地址 netmask 255.255.255.0 # 网络掩码 gateway 192.168.1.1 # 网关
如果你要设置的是无线网卡的,那么除了把 wlan0 的 dhcp 改成 static 之外,还需要填写无线网的名称和密码,编辑后的结果大概如下:
iface wlan0 inet static wpa-ssid Your_Wifi_SSID wpa-psk Your_Wifi_Password address 192.168.1.200 # 设定的静态IP地址 netmask 255.255.255.0 # 网络掩码 gateway 192.168.1.1 # 网关 network 192.168.1.1 # 网络地址 #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf ▲ 注意注释掉最后一行
搞定之后,咱们用 poweroff 命令关掉树莓派,等到机器上的绿灯不闪了,把电源拔掉,再把网线拔掉,重新连接电源,稍等一会,看看是不是就通过无线网络的 IP 地址可以访问了。
常用命令
apt-get
联网下载、安装、删除软件包的命令(一般是用root身份),这个命令是Debian linux系统用的,功能很强
sudo apt-get update //升级列表中的软件包 sudo apt-get upgrade //升级所有已安装的软件 sudo apt-get install vsftpd //下载并安装vsftpd(一个ftp服务器) sudo apt-get remove vsftpd //删除vsftpd apt-cache search gcc //在apt cache中查找有否一个名为gcc的包 dpkg -i 1.deb //安装名为1.deb的包
useradd
useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。命令如下:
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。 -d:指定用户登入时的主目录,替换系统默认值/home/<用户名> -D:变更预设值。 -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。 -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1. -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组。 -r:建立系统账号。 -s:指定用户登入后所使用的shell。默认值为/bin/bash。 -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
应用实例,建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组:
#useradd -u 544 -d /usr/testuser1 -g users -m testuser1
Raspberry(树莓派) 2 B 之内网穿透
想在树莓派上开一个Minecraft服务器来试试性能(zuosi),但是,有一个问题。
因为,树莓派是放在校园网里面的,没有公网IP。所以外网的人就访问不了我的服务器。
刚好,我有一台Aliyun的服务器,有公网IP。那么,我们就可以利用SSH端口转发来实现内网穿透!
首先,我们来看几条命令:
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
参数解释:
-R port:host:hostport
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-L port:host:hostport
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-f Fork into background after authentication.
后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-C Enable compression.
压缩数据传输。
-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。
将树莓派的25565端口转发到公网服务器B的25566端口,再在公网服务器内部将端口25565转发到端口25566,这也就意味着,只要客户端访问服务器B的25565端口,那么流量就会被转发到B:25566端口,进而转发到A:25565
有木有很绕?其实就两行命令的事情:首先,在树莓派上输入:
ssh -NfR *:25566:127.0.0.1:25565 服务器B的用户名@服务器B的IP -p 22
然后输入密码,如果成功就会在后台运行ssh。然后,再在服务器B上运行:
ssh -CNfg -L 25565:localhost:25566 服务器B的用户名@localhost
一样,输入密码,搞定!这样就可以通过访问服务器B的IP:25565来连接我们的MC服务器了!
关闭所有转发。(会KILL掉所有的SSH)
sudo killall ssh
Debian包管理
主要命令
1.apt = advanced packaging tool 2.检查程序是否安装 dpkg –l vsftpd 3.查看进程 ps –aux | grep vsftpd 4.开机自启动 vi /etc/rc.loca添加/etc/init.d/vsftpd start 5.更改系统时区
tzselect sudo cp /usr/share/zoneinfo/Asia/ShangHai /etc/localtime sudo ntpdate cn.pool.ntp.org 6.修改时间
date -s "YYYY/MM/DD hh:mm:ss" date -s 'YYYY/MM/DD hh:mm:ss' date -s MM/DD/YYYY date -s hh:mm:ss 7.sources.lst软件源 http://mirrors.geekbone.org/ http://cn.archive.ubuntu.com/
dpkg包管理工具
1. dpkg --info "软件包名" --列出软件包解包后的包名称.
2. dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看.
3. dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
4. dpkg -s 查询已安装的包的详细信息.
5. dpkg -L 查询系统中已安装的软件包所安装的位置.
6. dpkg -S 查询系统中某个文件属于哪个软件包.
7. dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装.
8. dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
9. dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
10. dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
11. dpkg -reconfigure 重新配置
apt高级包管理工具
GTK图形的"synaptic",这是APT的前端工具."aptitude",这也是APT的前端工具.用APT管理工具进行包的管理,可以有以下几种方法做源:
(1)拿安装盘做源 apt-cdrom ident 扫描光盘的信息
apt-cdrom add 添加光盘源
(2)把源添加到/etc/apt/source.list中,之后更新apt-get update
apt-cache 加上不同的子命令和参数的使用可以实现查找,显示软件,包信息及包信赖关系等功能.
1. apt-cache stats 显示当前系统所有使用的Debain数据源的统计信息.
2. apt-cache search +"包名",可以查找相关的软件包.
3. apt-cache show +"包名",可以显示指定软件包的详细信息.
4. apt-cache depends +"包名",可以查找软件包的依赖关系.
5. apt-get upgrade 更新系统中所有的包到最新版
6. apt-get install 安装软件包
7. apt-get --reinstall install 重新安装软件包
8. apt-get remove 卸载软件包
9. apt-get --purge remove 完全卸载软件包
10. apt-get clean 清除无用的软件包
11. 用apt-get install之前,是先将软件包下载到/var/cache/apt/archives中,之后再安装.所以可以用apt-get clean清除/var/cache/apt/archives目录中的软件包.
源码包安装
12. apt-cache showsrc 查看源码包的文件信息(在下载之前)
13. apt-get source 下载源码包.
14. apt-get build-dep +"包名" 构建源码包的编译环境.
apt-get与dpkg的一些基本用法
1. apt-get install packagename #安装一个新软件包2. apt-get remove packagename #卸载一个已安装的软件包(保留配置文件)
3. apt-get --purge remove packagename #卸载安装的软件包(删除配置文件)
4. dpkg --force-all --purge packagename #强制卸载,风险大!
5. apt-get upgrade #更新所有已安装的软件包
6. apt-get dist-upgrade #将系统升级到新版本
7. apt-get clean #清理所有软件缓存
8. apt-get autoclean #清理旧版本的软件缓存
9. apt-get autoremove #删除系统不再使用的孤立软件
10. apt-cdrom add #增加一个光盘源
11. auto-apt run ./configure #编译时缺少h文件的自动处理
12. apt-cache search 正则表达式 #在软件包列表中搜索字符串
13. dpkg -l 正则表达式 #列出所有与模式相匹配的软件包
14. dpkg -l |grep ^rc|awk '{print $2}' | #xargs dpkg -P #清除所有已删除包的残馀配置文件
15. dpkg -i, --install XXX.deb #安装 XXX.deb软件包
16. dpkg -r, --remove, -P, --purge package...|-a|--pending
安装ftp服务器
vsftpd是开源的轻量级的常用ftp服务器.1,安装vsftpd服务器 (约400KB)
sudo apt-get install vsftpd
2,启动ftp服务
sudo service vsftpd start
3,编辑vsftdp的配置文件
sudo nano /etc/vsftpd.conf
找到以下行,定义一下
anonymous_enable=NO 表示:不允许匿名访问 local_enable=YES 设定本地用户可以访问。 write_enable=YES 设定可以进行写操作
local_umask=022 设定上传后文件的权限掩码。
存盘退出
4, 重启vsftpd服务
sudo service vsftpd restart
5, 测试一下, OK
通过ftp连接树莓派系统,以用户名pi登录,密码是raspberry。ftp的根目录是/home/pi,即pi用户的HOME目录。可上传或下载文件了。
利用raspberry pi搭建typecho笔记(一) nginx PHP server quick start
https://www.cnblogs.com/kururu/p/3536416.html