前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >入门树莓派及NAS软件安装

入门树莓派及NAS软件安装

原创
作者头像
Luoyger
修改2024-06-12 11:53:42
2120
修改2024-06-12 11:53:42
举报

介绍

Raspberry PI是arm架构的OS。官方售卖的是主板,电源、风扇、SD卡、盒子等配件需要自行购买。

官网:https://www.raspberrypi.com/

操作系统:https://www.raspberrypi.com/software/operating-systems/

树莓派只能刷入其官方的镜像,如果不需要用户界面,就下载lite版本的镜像,然后通过官方的烧录器选择下载的镜像即可。

系统安装

安装系统使用SD卡作为启动盘,写入对应的OS系统。

下载镜像烧录器

https://www.raspberrypi.com/software/

根据需要选择需要的镜像,若不需要桌面环境,则在other中选择lite版本。

在选择SD卡后可以配置启动的用户名和密码,以及Wifi信息和语言设置。

烧录好SD卡之后,插入树莓派开机即可。

注意:其它烧录器写的SD卡启动不了。

更新镜像源

代码语言:javascript
复制
# 更新镜像源
cat > /etc/apt/sources.list <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
EOF

cat > /etc/apt/sources.list.d/raspi.list <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
EOF

# cat >> /etc/hosts <<EOF
# 151.101.76.133 raw.githubusercontent.com
# EOF

sudo apt-get update
sudo apt-get upgrade -y

常用软件

代码语言:javascript
复制
apt-get install -y vim
apt-get install -y telnet
apt-get install -y lrzsz
apt-get install -y docker-compose

问题

"hwmon hwmon1: Undervoltage detected!"

是一个来自硬件监控(hwmon)子系统的警告消息,表示检测到供电电压不足。

这个警告通常与树莓派(Raspberry Pi)相关,因为树莓派使用了硬件监控来检测供电电压。当供电电压低于设定的阈值时,系统会发出这个警告。

Docker

可以手动安装docker软件,也可以通过其它NAS软件安装Docker插件,如下是手动安装Docker。

代码语言:javascript
复制
curl -fsSL https://get.docker.com -o get-docker.sh
sudo bash get-docker.sh
sudo systemctl enable docker
sudo usermod -aG docker $USER
docker version
# curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/raspbian/gpg | sudo apt-key add -
sudo echo "deb [arch=armhf] https://mirrors.aliyun.com/docker-ce/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list
sudo apt-get update

NAS管理软件

Nascab是一款个人免费的NAS管理软件,支持多端访问。

Nascab官网:https://www.nascab.cn/

安装脚本如下,需要注意的是需要把容器内部的数据映射到宿主上,防止容器停止或销毁后数据丢失。如果在树莓派等内网机器上安装,想要暴露在公网可访问,则可以安装内网传统软件FRP的客户端,并修改端口配置信息。

代码语言:javascript
复制
# 安装nascab
docker run -itd -v /data/mydata/nascab/:/data/nascab -v /data/mydata/nascab/system:/root/.local/share/nascab -p 9003:80 -p 9004:90 -d --log-opt max-size=10m --log-opt max-file=3 --name nascab ypptec/nascab

file=`find / -name frpc.toml | head -n1`
cat >> $file <<EOF

[[proxies]]
name = "nascab-web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 9003
remotePort = 19003

[[proxies]]
name = "nascab-webdav"
type = "tcp"
localIP = "127.0.0.1"
localPort = 9004
remotePort = 19004
EOF

cat >> /etc/systemd/system/nascab.service <<EOF
[Unit]
Description=Nascab Service
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a nascab

[Install]
WantedBy=default.target
EOF

systemctl enable nascab.service
systemctl start nascab.service

OMV存储管理

OMV的全称是openmediavault,是NAS设备的存储管理软件,可以挂载磁盘,启动Samba服务,安装Docker插件等待。

官网:https://www.openmediavault.org/

带图形化界面的系统安装OMV会报错,需要在命令行系统中安装。

安装脚本如下。如果需要内网穿透,则需要配置映射端口信息。

代码语言:javascript
复制
wget -O - https://cdn.jsdelivr.net/gh/OpenMediaVault-Plugin-Developers/installScript@master/install | sudo bash
# -n: 跳过网络设置,否则会卸载dhcpd和network-manager,导致连接wifi失败
sudo bash omv-install.sh -n

file=`find / -name frpc.toml | head -n1`
cat >> $file <<EOF

[[proxies]]
name = "OpenMediaVaultWeb"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 19005
EOF

NextCloud云盘

NextCloud是开源的云盘方案,支持多端文件同步。

官网:https://nextcloud.com/

docker-compose的安装文件如下。

代码语言:javascript
复制
version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=nextcloud
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 8180:80
    links:
      - db
    volumes:
      - /data/nextcloud:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

完整的执行命令如下。

代码语言:javascript
复制
sudo bash docker-compose -f nextcloud.yml up -d

常用命令

raspi-config

Raspberry Pi配置工具。这应该是您首次开始使用Raspberry Pi时要采取的第一步,以确保已针对您的语言,硬件和项目进行了设置。

配置工具就像一个“设置”窗口,可让您设置语言,时间/日期,启用摄像头模块,对处理器进行超频,启用设备,更改密码以及许多其他选项。

您可以通过键入 sudo raspi-config然后按回车来访问它。根据您所做的更改,之后可能会提示您重新启动Pi。

apt-get update

更新程序包列表 sudo apt-get update命令,从存储库下载软件包列表,并获取有关这些软件包的最新版本以及任何相关软件包的信息。

因此,它实际上并没有进行传统意义上的任何实际更新。在整个更新过程中,它更是一个必需的步骤。

apt-get upgrade

下载并安装更新的软件包 继sudo apt-get update命令后,有了我们更新的软件包列表后,sudo apt-get upgrade命令将查看当前安装的软件包,然后查看最新的软件包列表,然后最后安装所有尚未安装的新软件包。

apt-get clean

清理旧程序包文件,更新和升级过程的最后阶段,如果您有足够的磁盘空间,那么这并非总是必不可少的。sudo apt-get clean命令删除在更新过程中下载的冗余软件包文件(.deb文件)。

halt /poweroff / shutdown

sudo halt / poweroff / shutdown -h now可以关闭您的Raspberry Pi,安全地关闭Raspberry Pi可以避免TF卡损坏等问题。您有时可以通过拔掉电源线来关闭,但是,这会对TF卡造成损伤。halt会在关闭前关掉相关的应用,建议使用。shotdown -h可以指定时分来定时关机,如 shotdown -h 11:30。

要正确关闭树莓派,请使用sudo halt / poweroff / shutdown -h now。在Pi的LED上最后闪烁一次之后,您可以拔下电源线。

应用场景

少儿编程Scratch:https://scratch.mit.edu/

场景介绍

https://shumeipai.nxez.com/what-raspi-used-for

https://zhuanlan.zhihu.com/p/166019428

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 系统安装
    • 更新镜像源
      • 常用软件
        • 问题
          • "hwmon hwmon1: Undervoltage detected!"
      • Docker
      • NAS管理软件
      • OMV存储管理
      • NextCloud云盘
      • 常用命令
        • raspi-config
          • apt-get update
            • apt-get upgrade
              • apt-get clean
                • halt /poweroff / shutdown
                • 应用场景
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档