![Alpine Linux をインストールすると、「403 Forbidden」でミラー リストのスキャンに失敗する](https://rvso.com/image/1595530/Alpine%20Linux%20%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%80%8C403%20Forbidden%E3%80%8D%E3%81%A7%E3%83%9F%E3%83%A9%E3%83%BC%20%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%B3%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B.png)
QEMU 上で実行される Alpine Linux をインストールしようとしていますが、次のエラーが発生しました (エラー メッセージには でマークしました<===
)。
localhost:~# setup-alpine
Available keyboard layouts:
...
Which timezone are you in? ('?' for list) [UTC]
* Starting busybox acpid ...
[ ok ]
* Starting busybox crond ...
[ ok ]
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] http://192.0.2.1:8080
wget: server returned error: HTTP/1.0 403 Forbidden <===
r) Add random from the above list
f) Detect and add fastest mirror from above list
e) Edit /etc/apk/repositories with text editor
Enter mirror number (1-0) or URL to add (or r/f/e/done) [f]: f
Finding fastest mirror...
Warning! No mirror found <===
r) Add random from the above list
f) Detect and add fastest mirror from above list
e) Edit /etc/apk/repositories with text editor
Enter mirror number (1-0) or URL to add (or r/f/e/done) [f]: r
/sbin/setup-apkrepos: line 30: divide by zero <===
Which SSH server? ('openssh', 'dropbear' or 'none') [openssh]
* service sshd added to runlevel default
* Caching service dependencies ...
[ ok ]
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
* Starting sshd ...
[ ok ]
Available disks are:
sda (107.4 GB ATA QEMU HARDDISK )
Which disk(s) would you like to use? (or '?' for help or 'none') [none] sda
The following disk is selected:
sda (107.4 GB ATA QEMU HARDDISK )
How would you like to use it? ('sys', 'data', 'lvm' or '?' for help) [?] sys
ERROR: unsatisfiable constraints: <===
sfdisk (missing): <===
required by: world[sfdisk] <===
syslinux (missing): <===
required by: world[syslinux] <===
localhost:~#
/sbin/setup-apkrepos:30
(これはここ) そして、私のオフィスのプロキシサーバー( )grep -rn wget /sbin/
がhttp://192.0.2.1:8080
403 Forbidden
ミラーリストが要求されたとき:
localhost:~# export http_proxy=http://192.0.2.1:8080; export https_proxy=http://192.0.2.1:8080; export ftp_proxy=http://192.0.2.1:8080
localhost:~# wget https://mirrors.alpinelinux.org/mirrors.txt
Connecting to 192.0.2.1:8080 (192.0.2.1:8080)
wget: server returned error: HTTP/1.0 403 Forbidden
localhost:~#
私はプロキシサーバーの管理者ではありませんが、これに対する回避策はありますか?
答え1
wget
環境変数をMIRRORS
以下の内容に設定することで回避できます。https://mirrors.alpinelinux.org/mirrors.txt例:
export MIRRORS='http://dl-cdn.alpinelinux.org/alpine/
http://uk.alpinelinux.org/alpine/
http://dl-2.alpinelinux.org/alpine/'
localhost:~# export MIRRORS='http://dl-cdn.alpinelinux.org/alpine/
> http://uk.alpinelinux.org/alpine/
> http://dl-2.alpinelinux.org/alpine/'
localhost:~# setup-alpine
...
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] http://192.0.2.1:8080
<=== OK
Available mirrors:
1) dl-cdn.alpinelinux.org
2) uk.alpinelinux.org
3) dl-2.alpinelinux.org
r) Add random from the above list
f) Detect and add fastest mirror from above list
e) Edit /etc/apk/repositories with text editor
Enter mirror number (1-3) or URL to add (or r/f/e/done) [f]: f
Finding fastest mirror...
0.17 http://dl-cdn.alpinelinux.org/alpine/ <=== OK
0.55 http://uk.alpinelinux.org/alpine/
0.52 http://dl-2.alpinelinux.org/alpine/
Added mirror dl-cdn.alpinelinux.org
Updating repository indexes... done.
Which SSH server? ('openssh', 'dropbear' or 'none') [openssh]
* rc-update: sshd already installed in runlevel `default'; skipping
* WARNING: sshd has already been started
Available disks are:
sda (107.4 GB ATA QEMU HARDDISK )
Which disk(s) would you like to use? (or '?' for help or 'none') [none] sda
The following disk is selected:
sda (107.4 GB ATA QEMU HARDDISK )
How would you like to use it? ('sys', 'data', 'lvm' or '?' for help) [?] sys
WARNING: The following disk(s) will be erased: <=== OK
sda (107.4 GB ATA QEMU HARDDISK )
WARNING: Erase the above disk(s) and continue? [y/N]: y
Creating file systems...
Installing system on /dev/sda3:
/mnt/boot is device /dev/sda1
100% ████████████████████████████████████████████==> initramfs: creating /boot/initramfs-virt
/boot is device /dev/sda1
Installation is complete. Please reboot.
localhost:~#
この解決策は、起源。