使用 Alpine 发行版时通过 apk 包管理工具安装软件。即使已经切换到了国内的镜像源,但 apk add xxx
时依然没有任何响应。
当初次安装扩展包时,apk 包管理工具会先加载仓库的索引文件:
dbkuaizi-alpine:~# apk update
fetch http://mirrors.ustc.edu.cn/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
然后就一直卡在这里,没有任何响应。这时需要通过 ping 命令确定是否能连接上仓库:
dbkuaizi-alpine:~# ping mirrors.aliyun.com
PING mirrors.aliyun.com (240e:946:6002:219:3::3fd): 56 data bytes
ping 不通,并且显示了一个 ipv6 地址。我们换个域名 ping 一下:
dbkuaizi-alpine:~# ping www.dbkuaizi.com
PING www.dbkuaizi.com (150.158.166.86): 56 data bytes
64 bytes from 150.158.166.86: seq=0 ttl=51 time=34.013 ms
64 bytes from 150.158.166.86: seq=1 ttl=51 time=38.477 ms
64 bytes from 150.158.166.86: seq=2 ttl=51 time=34.415 ms
说明我们 ipv4 的网络是正常的。经过在网上查询发现,alpine Linux 的 ipv6 如果没有经过设置,会出现一些问题(文章没有提到具体是什么问题)。
大概的意思是 DNS 域名解析时,会优先使用 ipv6 地址,但因为我们的 ipv6 并未正确配置,所以导致了 ipv6 地址 ping
不通,自然也无法连接到仓库服务器。
于是我尝试通过 禁用 alpine Linux 的 ipv6 看是否能解决:
禁用前查看ip信息,里面是包含 ipv6 的。
dbkuaizi-alpine:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:73:b5:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.15/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 240e:b5a:946:5100:a00:27ff:fe73:b5d8/64 scope global dynamic flags 100
valid_lft 241706sec preferred_lft 155306sec
inet6 fe80::a00:27ff:fe73:b5d8/64 scope link
valid_lft forever preferred_lft forever
设置禁用ipv6:
# 修改配置文件
vi /etc/sysctl.conf
# 添加以下两行内容
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# 执行此命令,使配置生效
sysctl -p
重新查看ip信息,已经不包含 ipv6 了:
dbkuaizi-alpine:/usr/sbin# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:73:b5:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.15/24 scope global eth0
valid_lft forever preferred_lft forever
更新仓库试试:
dbkuaizi-alpine:~# apk update
fetch http://mirrors.ustc.edu.cn/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
v3.16.2-121-g720eee024a [http://mirrors.ustc.edu.cn/alpine/v3.16/main/]
OK: 4955 distinct packages available
安装 Nginx 试试:
dbkuaizi-alpine:~# apk add nginx
(1/4) Installing pcre (8.45-r2)
(2/4) Installing nginx (1.22.0-r1)
Executing nginx-1.22.0-r1.pre-install
Executing nginx-1.22.0-r1.post-install
(3/4) Installing nginx-openrc (1.22.0-r1)
(4/4) Installing nginx-vim (1.22.0-r1)
Executing busybox-1.35.0-r13.trigger
OK: 151 MiB in 75 packages
博主,打扰了。说个无关的事。这篇文章的标题和作者在“十年之约”的 Feed 列表页里面显示是乱码的,不知道什么原因。
感谢反馈 确实乱码了 我联系十年之约协助看一下是为什么