# Raspberry Pi **Repository Path**: i2stay/raspberry-pi ## Basic Information - **Project Name**: Raspberry Pi - **Description**: Raspberry Pi 自用初始化配置,其他 Linux 系统也可参考使用。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-12 - **Last Updated**: 2023-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: raspberrypi ## README # Raspberry Pi #### 介绍 Raspberry Pi 自用初始化配置,其他 Linux 系统也可参考使用。 #### 开启 SSH 及配置无线连接 ##### SSH - 在 boot 分区下新建一个空文件 ssh 即可开启 SSH ##### WiFi ``` # 在 boot 分区下新建 wpa_supplicant.conf 文件 country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="WiFi ssid" psk="password" } # 备用 sudo vim /etc/wpa_supplicant/wpa_supplicant.conf country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="WiFi ssid" psk="password" } ``` #### 启用 root 用户 ``` 初始用户名:pi 初始密码:raspberry # 修改初始密码 pi@raspberrypi:~ $ sudo passwd root Enter new UNIX password: Retype new UNIX password: password updated successfully # 解锁 root 用户 pi@raspberrypi:~ $ sudo passwd --unlock root passwd: password expiry information changed. # root 登录 pi@raspberrypi:~ $ su root Password: root@raspberrypi:/home/pi# ``` #### vim ``` # 安装vim sudo apt-get install vim # 修改配置 root@raspberrypi:~ # sudo vim /etc/vimrc # 显示行号 set number # 语法高亮 syntax on ``` #### 开启 ll ``` vim .bashrc # 将"# alias ll='ls $LS_OPTIONS -l"前面的注释 source .bashrc ``` #### 增加虚拟内存 ``` vim /etc/dphys-swapfile 将 CONF_SWAPSIZE=100 改成 CONF_SWAPSIZE=2048 # 重启相关服务 sudo systemctl restart dphys-swapfile sudo service dphys-swapfile restart ``` #### 更新软件源和系统源 ``` # 查看 Raspbian 对应的 Debian 版本 cat /etc/debian_version # 查看系统版本 lsb_release -a # 修改软件源文件[清华] pi@raspberrypi:~ sudo vim /etc/apt/sources.list deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi # 修改系统源文件[中科大] pi@raspberrypi:~ sudo vim /etc/apt/sources.list.d/raspi.list deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main ui deb-src deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main ui # 更新软件源和系统源 pi@raspberrypi:~ sudo apt-get update pi@raspberrypi:~ sudo apt-get upgrade pi@raspberrypi:~ sudo apt update # 软件源参考 清华大学:http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ 中科大:deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ 阿里云:http://mirrors.aliyun.com/raspbian/raspbian/ 其他: Raspbian 镜像使用帮助:https://mirror.tuna.tsinghua.edu.cn/help/raspbian/ 更换清华源 sudo apt-get update 后出现公钥问题(GPG error:because the public key is not available:NO_PUBKEY XXXXXXXXX) 解决方法: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXX ``` #### 更新 pip 源 ``` # 修改 /etc/pip.conf 文件 sudo vim /etc/pip.conf [global] extra-index-url=https://mirrors.aliyun.com/pypi/simple # 在用户目录下创建 pip.conf 文件 pi@raspberrypi:~ mkdir ~/.pip pi@raspberrypi:~ cd .pip pi@raspberrypi:~ vim pip.conf [global] timeout = 100 index-url = https://pypi.tuna.tsinghua.edu.cn/simple ``` #### 安装中文字体 ``` # 安装文泉驿正黑、文泉驿微米黑 sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei ``` #### 安装远程桌面 ``` sudo apt-get install xrdp # xrdp 配置文件 /etc/xrdp/xrdp.ini ``` #### 环境配置 ``` # 扩展 SD Card 上可用空间 sudo raspi-config --> 7. Advanced Options --> A1 Expand Filesystem # 修改密码 sudo raspi-config --> 1. Change User Password # 设置中文 sudo raspi-config --> 4 Localisation Options --> I1 Change Locale 选择 zh_CN.UTF-8 UTF-8 ``` #### 校准时区 ``` sudo dpkg-reconfigure tzdata 选择Asia/Shanghai即可 ``` #### Python ``` # 版本 python -V python3 -V # 如当前默认使用版本为 2.x,修改为 3.x # 删除 python 旧链接 sudo rm -f /usr/bin/python # 创建 python3 新链接 sudo ln -s /usr/bin/python3.x /usr/bin/python # 删除 pip 旧链接 sudo rm /usr/bin/pip # 创建 pip3 新链接 sudo ln -s /usr/bin/pip3.x /usr/bin/pip ``` #### frp 内网穿透 ``` # 查看架构 arch aarch64 说明是 arm64 armv7l 说明是 arm32 # 查看系统是多少位 getconf LONG_BIT # 下载 frp:https://github.com/fatedier/frp/releases/ wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_arm64.tar.gz # 解压 tar -xzvf frp_x.xx.x_linux_arm64.tar.gz -C [指定目录] # 配置 【frps.ini 配置】 [common] bind_addr = [公网 IP] bind_port = 7000 bashboard_addr = [公网 IP] dashboard_port = 1027 dashboard_user = admin dashboard_pwd = password token = [自定义 token] log_file = ./frps.log vhost_http_port = 1028 【frpc.ini 配置】 [common] server_addr = [公网 IP] server_port = 7000 token = [自定义 token] local_ip = [内网 IP] log_file = ./frpc.log login_fail_exit = false # 设置为 false,frpc 连接 frps 失败后重连,默认为 true 不重连 [ssh] type = tcp local_port = 22 remote_port = 2200 custom_domains = ssh.xxx.com [web_docker_ql] type = http local_ip = 127.0.0.1 local_port = 5700 custom_domains = ql.xxx.com [web_nginx_pi] type = http local_ip = 127.0.0.1 local_port = 80 custom_domains = pi.xxx.com [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 # 远程端口 remote_port = 7001 ``` #### 配置自启服务 ``` [客户端] # 新建服务文件 sudo vim /lib/systemd/system/frpc.service #frpc.service [Unit] Description=frpc Service After=network.target [Service] User=root Type=simple # Type=idle # ExecStartPre=/bin/sleep 5 # 等待 5 秒系统初始化完成,如果 frp 直接在开机时启动会因为连接不上网络 (如果是使用域名的可能会因为 DNS 解析不到) 而错误中止 ExecStart=/填写frpc的绝对路径/frpc -c /填写frpc的绝对路径/frpc.ini Restart=on-Failure Restartsec=5s [Install] WantedBy=multi-user.target # 修改权限 sudo chmod 755 frpc.service # 重载并设置开机启动 sudo systemctl daemon-reload sudo systemctl enable frpc ``` #### nginx 反代隐藏端口 ``` vim /etc/nginx/conf.d/frp.xxx.com server { listen 80; server_name frp.xxx.com; location / { proxy_pass http://[公网IP:frps端口]; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` #### Docker ``` # 安装 方式一: curl -fsSL https://get.docker.com -o get-docker.sh #一键安装脚本 sudo sh get-docker.sh --mirror Aliyun #使用阿里云镜像 方式二: sudo curl -sSL get.docker.com | sh # 启动 sudo systemctl start docker #启动 sudo systemctl enable docker #开机自启 sudo docker version #查看版本 # 换国内镜像源 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-"EOF" { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] } EOF ``` #### 青龙面板 ``` # 拉取镜像 sudo docker pull whyour/qinglong:latest # 部署镜像 sudo docker run -dit \ -v $PWD/ql/config:/ql/config \ -v $PWD/ql/log:/ql/log \ -v $PWD/ql/db:/ql/db \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ --restart always \ whyour/qinglong:latest # 以上部署最新版错误时,使用低版本2.11.1部署 sudo docker run -dit \ --name qinglong \ --hostname qinglong \ -p 5700:5700 \ -v $PWD/docker/ql/config:/ql/config \ -v $PWD/docker/ql/log:/ql/log \ -v $PWD/docker/ql/db:/ql/db \ -v $PWD/docker/ql/scripts:/ql/scripts \ -v $PWD/docker/ql/jbot:/ql/jbot \ -v $PWD/docker/ql/ninja:/ql/ninja \ --restart always \ whyour/qinglong:2.11.1 # 检测青龙环境并修复 sudo docker exec -it qinglong ql check # 删除容器 sudo docker rm -f qinglong ```