背景信息
起初我对树莓派是抱有很大的希望的,但是没想到过程是这么的巴(曲)适(折)
OMV/PVE
OMV 是一个 NAS 系统,基于 Debain,支持多种文件协议的配置,但这个基于很是尴尬,因为涉及到插件,和内核扯上了关系,很抱歉的就是系统太新不支持,但官方的64位镜像还在测试并未发布。
PVE 是一个虚拟机,我以为是一个 NAS,而且很遗憾 arm 不是他的对象。
经过一番尝试,在 Arm64上来得并不直接,考虑到成本以及实际效用,不再考虑。
源
Ubuntu 的软件源一直都不友好,改一下:
#把里面的http://ports.ubuntu.com/ 全部换成中科大的镜像源 https://mirrors.ustc.edu.cn/ sudo vi /etc/apt/sources.list #可使用 vim 的替换功能 :%s/http\:\/\/security.ubuntu.com\//https\:\/\/mirrors.ustc.edu.cn\//g #%s/被替换的字符/需要被替换的字符/g 表示替换全文 字符中的特殊字符需要转义
Docker
官方文档:https://docs.docker.com/engine/install/ubuntu/#installation-methods
看SET UP THE REPOSITORY部分,按步骤默认即可,默认 arm64的稳定版。
#具体命令 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #可选 验证指纹是否一致 sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository \ "deb [arch=arm64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker info
Docker迁移
我只用迁移 volume,由于 docker 的 volume 官方并没有给出合适的导入导出方式,只能使用 docker cp 拷贝出来,然后在另一边挂载到一个容器了再拷贝进去。( 网上的方案太麻烦,我觉得直接拷贝最简单,有更简单的请留言,当然我这里是 volume 不多的情况,如果多,那我会很头疼,所以对于经常修改的 data 我常常使用挂载方式而非 volume)
其他均使用 yml 进行创建。
安装 oh-my-zsh & auto-suggestion
设置代理
vi ~/.bashrc ##文件中追加以下内容(代理不做解释) export http_proxy="http://localhost:代理端口" export https_proxy="http://localhost:代理端口" ##end source ~/.bashrc
安装 zsh 配置 oh-my-zsh
git:https://github.com/ohmyzsh/ohmyzsh
sudo apt install zsh sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装auto-suggestion
git:https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions #编辑~/.zshrc 找到plugins=(git)改为plugins=(git zsh-autosuggestions) vi ~/.zshrc source ~/.zshrc
zsh 主题
git:https://github.com/romkatv/powerlevel10k
配置有点多,就不说了,其实自带的也挺好,下次敲命令就不用那么麻烦啦。
Mysql
Mysql 使用Mariadb替代,地址:https://hub.docker.com/_/mariadb
Mariadb是 Mysql 的社区版本,数据库有些许不兼容,主要是数据格式上,sql 数据库导出后手动替换。
后来发现官方的mysql-server:https://hub.docker.com/r/mysql/mysql-server/
使用官方的 mysq-server8.0,是 centos 底包,使用的是 yum 包管理器,同时创建的 mysql 容器需要进行权限处理。
#进入 mysql 容器 容器名 mysql8需要替换 docker exec -it mysql8 /bin/bash
#登录 mysql mysql -u root -p
#开放 root 账户任意地址访问权限 use mysql; update user set host = '%' where user = 'root'; flush privileges;
Gogs
地址:https://hub.docker.com/r/gogs/gogs-rpi
Gogs 具备仓库迁移功能,可以很方便的切换到新仓库并保留历史记录。
PhpMyAdmin
PhpMyAdmin 使用三方进行替代,地址:https://hub.docker.com/r/biarms/phpmyadmin
与官方无异,支持了 arm64。
对于上面需要进行镜像替换的软件,如果以前使用 docker-compose 创建的,那么只需要更改镜像即可,其他参数均不用改变。
数据服务NAS
广告过滤 DNS
Other
就目前看来,基本功能都搭完了,总的来说,就是一个文件盘+路由,此外加些小工具,因为都是自己动手,能动性高一点点,但是也麻烦,对于 arm 这个生态,还有太多太多不方便的地方,但 docker 这种技术无疑减轻了一些负担。但有时候也觉得是一种麻烦,因为镜像得重新找,万一不维护了呢?所以毫无疑问目前最好的还是 x86。
树莓派,我很满意,虽然有点折腾,但就性能上,我还远远用不完,将这些服务从 mac 上搬离都,极大的利好了我的 mac,不好评都不好意思。
苹果发布 arm 的笔记本了,对于这种巨头来说,arm 想必会有更快的发展。期待后期的成长值。
本站由以下主机服务商提供服务支持:
0条评论