MENU

Alpine Linux 初次安装包,无响应

2022 年 09 月 04 日 • 阅读: 315 • Linux,编码

使用 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
CC版权: 本篇博文采用《CC 协议》,转载必须注明作者和本文链接
添加新评论

已有 2 条评论
  1. 读者 读者

    博主,打扰了。说个无关的事。这篇文章的标题和作者在“十年之约”的 Feed 列表页里面显示是乱码的,不知道什么原因。

    1. @读者感谢反馈 确实乱码了 我联系十年之约协助看一下是为什么