安卓docker之安装alpineTerm初始化配置和踩坑记录

nicevoice 2024-05-19 PM 29℃ 0条

开启root登录SSH

系统默认是禁止ssh密码登录的,所以需要先开启,

可视终端情况下直接nano修改

sudo nano /etc/ssh/sshd_config 或者sudo vi /etc/ssh/sshd_config 输入i编辑,esc输入后,:wq 退出编辑。

PasswordAuthentication yes 
PermitRootLogin yes

这部分的目的是增加ssh登录的开启

命令如下:

打开侧边栏的

映射ssh的22端口为2222,意思是登录putty的端口默认为2222,你也可以设置成2212,putty填端口填你设置的,另外docker的端口也可以类似映射。祝您好运!

输入:

hostfwd_add tcp::2222-:22

参考:【Alpine Term】Android免root本地运行Docker

如果看不到终端可盲打(看不到终端除了盲打还能咋办)输入:

sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sudo sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config


然后重启启动sshd服务,

sudo service sshd restart1
或者通过sudo rc-service sshd restart


后续操作均需root权限,可以先"sudo -s"转为root用户,后文默认是非root用户

官方配置工具

官方配置工具可以一次性完成键盘布局、网络、时区、repo源的配置

sudo setup-alpine


但我觉得太繁琐,不想用这个工具可以看下面

修改DNS和apk源

先改DNS nameserver 可以有254个。这里只列举常用的三个

sudo nano /etc/resolv.conf 

nameserver 114.114.114.114 
nameserver 223.5.5.5 
nameserver 119.29.29.29


然后修改源,这里坑很多,在不清楚系统版本的情况下建议使用官方repo工具

sudo setup-apkrepos 
14 #是清华源 15是华中科技大学 自己研究
输入f是测试官方的源
sudo apk update


当然也可以查看版本后按照各大镜像站的命令直接修改

cat /etc/alpine-release 
sudo nano /etc/apk/repositories

http://mirrors.ustc.edu.cn/alpine/latest-stable/main
http://mirrors.ustc.edu.cn/alpine/latest-stable/community


也可以一键,但这里要检查系统初始源的格式,有三个坑要注意

sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositoriessed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories


第一个坑,在alpine-term(不清楚实体机有没有同样问题)里edge分支下所有源都会出现"UNTRUSTED signature"错误,虽然可以通过apk --allow-untrusted "命令"解决,但每一次使用apk都要加这个选项比较麻烦,建议尽量避开edge分支。

第二个坑是https地址会出现ssl证书错误,解决办法是换成http地址。(也可以参考Old Let's Encrypt Root Certificate Expiration and OpenSSL 1.0.2 - OpenSSL Blog


两个坑合起来解决:

sudo nano /etc/apk/repositories



http://mirrors.ustc.edu.cn/alpine/latest-stable/main
http://mirrors.ustc.edu.cn/alpine/latest-stable/community


第三个坑,有些包会出现"world dependency * does not exist"错误

WARNING: The repository tag for world dependency '***@testing' does not exist
ERROR: Not committing changes due to missing repository tags. Use --force-broken-world to override.12


按提示再加上--force-broken-world选项即可(暂时没有一劳永逸的方案)

第四个坑是出现强制错误,可以使用-- force-missing-repositories

例如:

sudo apk update  --allow-untrusted --force-broken-world --force-missing-repositories 

sudo apk upgrade --allow-untrusted --force-broken-world --force-missing-repositories

设置时区

sudo apk add tzdata --allow-untrusted --force-broken-world
sudo setup-timezone

Asia/Shanghai


解决console字体太小并添加中文字体

高分屏终端字体会比较小,根据官方文档

sudo apk add terminus-font --force-broken-world
sudo setfont /usr/share/consolefonts/ter-132n.psf.gz
sudo nano /etc/conf.d/consolefont  
rc-update add consolefont boot


添加中文字体

sudo apk add font-isas-misc 
sudo fc-cache -fv

注意一下,需要单独运行一下保存一下安卓下的Linux免得重启后,又要重复执行一次上面的所有命令。

apk add rsync


参考文献

[1] alpine 安装软件报错UNTRUSTED signature - 简书 (jianshu.com)

[2] alpine / alpine-conf · GitLab (alpinelinux.org)

[3] Alpine Linux 源使用帮助 — USTC Mirror Help 文档

[4] Old Let's Encrypt Root Certificate Expiration and OpenSSL 1.0.2 - OpenSSL Blog

[5] 使用 Alpine 作为基础镜像时可能会遇到的常见问题的解决方法 - mozillazg's Blog

[6] Alpine解决无法找到包问题 – 九霄天空-IT技术分享学习 (turbock79.cn)

[7] Fonts - Alpine Linux

[8] Linux终端更改字体_氷泠的博客-CSDN博客_linux终端字体

‍[9]alpine初始化配置和踩坑记录

文章知识点与官方知识档案匹配,可进一步学习相关知识


扫描二维码,在手机上阅读!

非特殊说明,本博所有文章均为博主原创。

评论啦~