我的家庭服务器运行的是 Ubuntu 22.04 (Jammy) 并且注册了 Ubuntu Pro。
alan@earth:~$ pro status
SERVICE ENTITLED STATUS DESCRIPTION
esm-apps yes enabled Expanded Security Maintenance for Applications
esm-infra yes enabled Expanded Security Maintenance for Infrastructure
livepatch yes enabled Canonical Livepatch service
realtime-kernel yes disabled Ubuntu kernel with PREEMPT_RT patches integrated
Enable services with: pro enable <service>
Account: (my email here)
Subscription: Ubuntu Pro - free personal subscription
我通过 ESM 收到了一个或多个软件包的更新。
alan@earth:~$ dpkg -l | grep esm
ii imagemagick 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 amd64 image manipulation programs -- binaries
ii imagemagick-6-common 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 all image manipulation programs -- infrastructure
ii imagemagick-6.q16 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 amd64 image manipulation programs -- quantum depth Q16
ii libmagickcore-6.q16-6:amd64 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 amd64 low-level image manipulation library -- quantum depth Q16
ii libmagickcore-6.q16-6-extra:amd64 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 amd64 low-level image manipulation library - extra codecs (Q16)
ii libmagickwand-6.q16-6:amd64 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 amd64 image manipulation library -- quantum depth Q16
ii libopenexr25:amd64 2.5.7-1ubuntu0.1~esm1 amd64 runtime files for the OpenEXR image library
例如,libopenexr25:
alan@earth:~$ apt-cache policy libopenexr25
libopenexr25:
Installed: 2.5.7-1ubuntu0.1~esm1
Candidate: 2.5.7-1ubuntu0.1~esm1
Version table:
*** 2.5.7-1ubuntu0.1~esm1 500
500 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main amd64 Packages
100 /var/lib/dpkg/status
2.5.7-1 500
500 http://gb.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
我想要这些的来源。我的相关 sources.list 文件中有源代码行。
alan@earth:~$ cat /etc/apt/sources.list.d/ubuntu-esm-*
deb https://esm.ubuntu.com/apps/ubuntu jammy-apps-security main
deb-src https://esm.ubuntu.com/apps/ubuntu jammy-apps-security main
deb https://esm.ubuntu.com/apps/ubuntu jammy-apps-updates main
deb-src https://esm.ubuntu.com/apps/ubuntu jammy-apps-updates main
deb https://esm.ubuntu.com/infra/ubuntu jammy-infra-security main
deb-src https://esm.ubuntu.com/infra/ubuntu jammy-infra-security main
deb https://esm.ubuntu.com/infra/ubuntu jammy-infra-updates main
deb-src https://esm.ubuntu.com/infra/ubuntu jammy-infra-updates main
然而,当我尝试下载源代码时,出现 401 错误。
alan@earth:~/foo$ apt source libopenexr25
Reading package lists... Done
Picking 'openexr' as source package instead of 'libopenexr25'
NOTICE: 'openexr' packaging is maintained in the 'Git' version control system at:
https://salsa.debian.org/debian-phototools-team/openexr.git
Please use:
git clone https://salsa.debian.org/debian-phototools-team/openexr.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 27.6 MB of source archives.
Err:1 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main openexr 2.5.7-1ubuntu0.1~esm1 (tar)
401 Unauthorized [IP: 185.125.190.23 443]
Err:2 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main openexr 2.5.7-1ubuntu0.1~esm1 (asc)
401 Unauthorized [IP: 185.125.190.23 443]
Err:3 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main openexr 2.5.7-1ubuntu0.1~esm1 (diff)
401 Unauthorized [IP: 185.125.190.23 443]
Err:4 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main openexr 2.5.7-1ubuntu0.1~esm1 (dsc)
401 Unauthorized [IP: 185.125.190.23 443]
E: Failed to fetch https://esm.ubuntu.com/apps/ubuntu/pool/main/o/openexr/openexr_2.5.7.orig.tar.gz 401 Unauthorized [IP: 185.125.190.23 443]
E: Failed to fetch https://esm.ubuntu.com/apps/ubuntu/pool/main/o/openexr/openexr_2.5.7.orig.tar.gz.asc 401 Unauthorized [IP: 185.125.190.23 443]
E: Failed to fetch https://esm.ubuntu.com/apps/ubuntu/pool/main/o/openexr/openexr_2.5.7-1ubuntu0.1%7eesm1.debian.tar.xz 401 Unauthorized [IP: 185.125.190.23 443]
E: Failed to fetch https://esm.ubuntu.com/apps/ubuntu/pool/main/o/openexr/openexr_2.5.7-1ubuntu0.1%7eesm1.dsc 401 Unauthorized [IP: 185.125.190.23 443]
我如何获得这些源文件?
访问受存储在 /etc/apt/auth.conf.d 内文件中的令牌保护。普通用户无法读取该文件,因此您必须使用 sudo 或以 root 身份运行下载,或者授予您的用户读取该片段的权限(但不确定专业客户端是否保留它)。