Skip to content

Conversation

@usernameisnull
Copy link

问题描述

相关的issue: #334


方案与实现

  1. 替换的时候多出的/
  2. ubuntu在arm架构下的原始的repo是http://ports.ubuntu.com/ubuntu-ports/而不是http://archive.ubuntu.com/ubuntu-ports
root@iZ2vc7gy15t4z34gcehj1gZ:~/chsrc# ./chsrc-ci-release reset ubuntu
[chsrc 检查] x 文件 /etc/apt/sources.list.d/ubuntu.sources 不存在
[chsrc 提醒] 将基于旧格式(非DEB822)换源
[chsrc 检查] ✓ 文件 /etc/apt/sources.list 存在
选中镜像站: Upstream (upstream)
--------------------------------
[chsrc 备份] /etc/apt/sources.list -> /etc/apt/sources.list.bak
[chsrc 运行] sed -E -i 's@https?://.*/ubuntu-ports/?@http://archive.ubuntu.com/ubuntu-ports@g' /etc/apt/sources.list
[chsrc 运行] ✓ 命令执行成功

[chsrc 运行] apt update
Ign:1 http://archive.ubuntu.com/ubuntu-ports jammy InRelease
Ign:2 http://archive.ubuntu.com/ubuntu-ports jammy-updates InRelease
Ign:3 http://archive.ubuntu.com/ubuntu-ports jammy-backports InRelease
Ign:4 http://archive.ubuntu.com/ubuntu-ports jammy-security InRelease
Err:5 http://archive.ubuntu.com/ubuntu-ports jammy Release
  404  Not Found [IP: 185.125.190.82 80]
Err:6 http://archive.ubuntu.com/ubuntu-ports jammy-updates Release
  404  Not Found [IP: 185.125.190.82 80]
Err:7 http://archive.ubuntu.com/ubuntu-ports jammy-backports Release
  404  Not Found [IP: 185.125.190.82 80]
Err:8 http://archive.ubuntu.com/ubuntu-ports jammy-security Release
  404  Not Found [IP: 185.125.190.82 80]
Reading package lists... Done
E: The repository 'http://archive.ubuntu.com/ubuntu-ports jammy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://archive.ubuntu.com/ubuntu-ports jammy-updates Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://archive.ubuntu.com/ubuntu-ports jammy-backports Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://archive.ubuntu.com/ubuntu-ports jammy-security Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
[chsrc 运行] x 命令执行失败,退出状态: 25600
chsrc: 关键错误,强制结束

@github-actions
Copy link

Hi @usernameisnull,

❤️ 感谢你的贡献!你的 PR 当前基于 main 分支,请修改使用 dev 分支

@usernameisnull
Copy link
Author

在阿里云的arm机器上运行成功

root@iZ2vc7gy15t4z34gcehj1gZ:~/chsrc# ./chsrc-ci-release reset ubuntu
[chsrc 检查] x 文件 /etc/apt/sources.list.d/ubuntu.sources 不存在
[chsrc 提醒] 将基于旧格式(非DEB822)换源
[chsrc 检查] ✓ 文件 /etc/apt/sources.list 存在
选中镜像站: Upstream (upstream)
--------------------------------
[chsrc 备份] /etc/apt/sources.list -> /etc/apt/sources.list.bak
[chsrc 运行] sed -E -i 's@https?://.*/ubuntu-ports/?@http://ports.ubuntu.com/ubuntu-ports@g' /etc/apt/sources.list
[chsrc 运行] ✓ 命令执行成功

[chsrc 运行] apt update
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [127 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages [1,369 kB]
Get:6 http://ports.ubuntu.com/ubuntu-ports jammy/main Translation-en [510 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 c-n-f Metadata [29.8 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 Packages [19.6 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports jammy/restricted Translation-en [18.6 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 c-n-f Metadata [372 B]
Get:11 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages [13.9 MB]
Get:12 http://ports.ubuntu.com/ubuntu-ports jammy/universe Translation-en [5,652 kB]
Get:13 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 c-n-f Metadata [277 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 Packages [184 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse Translation-en [112 kB]
Get:16 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 c-n-f Metadata [7,064 B]
Get:17 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages [2,993 kB]
Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main Translation-en [485 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 c-n-f Metadata [18.8 kB]
Get:20 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 Packages [4,875 kB]
Get:21 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted Translation-en [944 kB]
Get:22 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 c-n-f Metadata [496 B]
Get:23 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 Packages [1,274 kB]
Get:24 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe Translation-en [311 kB]
Get:25 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 c-n-f Metadata [26.9 kB]
Get:26 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [38.6 kB]
Get:27 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse Translation-en [13.2 kB]
Get:28 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 c-n-f Metadata [336 B]
Get:29 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 Packages [69.0 kB]
Get:30 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main Translation-en [11.5 kB]
Get:31 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 c-n-f Metadata [412 B]
Get:32 http://ports.ubuntu.com/ubuntu-ports jammy-backports/restricted arm64 c-n-f Metadata [116 B]
Get:33 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 Packages [30.1 kB]
Get:34 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe Translation-en [16.9 kB]
Get:35 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 c-n-f Metadata [604 B]
Get:36 http://ports.ubuntu.com/ubuntu-ports jammy-backports/multiverse arm64 c-n-f Metadata [116 B]
Get:37 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [2,742 kB]
Get:38 http://ports.ubuntu.com/ubuntu-ports jammy-security/main Translation-en [418 kB]
Get:39 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 c-n-f Metadata [13.7 kB]
Get:40 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [4,723 kB]
Get:41 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted Translation-en [917 kB]
Get:42 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 c-n-f Metadata [508 B]
Get:43 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [1,043 kB]
Get:44 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe Translation-en [222 kB]
Get:45 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 c-n-f Metadata [19.8 kB]
Get:46 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [33.0 kB]
Get:47 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse Translation-en [10.2 kB]
Get:48 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 c-n-f Metadata [296 B]
Fetched 44.0 MB in 1min 6s (666 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
34 packages can be upgraded. Run 'apt list --upgradable' to see them.
[chsrc 运行] ✓ 命令执行成功
--------------------------------
chsrc: 已重置为上游默认源
食源检查: 2025-07-11  食谱更新: 2025-08-10  后厨人数: 3  (详查 chsrc ls ubuntu)
root@iZ2vc7gy15t4z34gcehj1gZ:~/chsrc# arch
aarch64
root@iZ2vc7gy15t4z34gcehj1gZ:~/chsrc# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

@usernameisnull usernameisnull changed the base branch from main to dev January 19, 2026 15:01
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

直接在这两个函数里修改 source.url = ,会导致 chsrc set ubuntu 选中任何镜像站的时候都使用这个值。

所以这个默认值,确实得在其他地方修改。应该在 os_ubuntu_resetsrc() 中使用:

  use_this (os_ubuntu);
  this->sources[0].url = "http://ports.ubuntu.com/ubuntu-ports";
  os_ubuntu_setsrc (option);

@ccmywish
Copy link
Contributor

另外,为了永久记录你的贡献,你需要在:

  1. https://github.com/RubyMetric/chsrc/blob/main/src/chsrc-main.c#L79 这里填写你的贡献者信息
  2. https://github.com/RubyMetric/chsrc/blob/main/src/recipe/os/APT/Ubuntu.c#L19 在这里引用你的贡献者身份
  3. https://github.com/RubyMetric/chsrc/blob/main/src/recipe/os/APT/Ubuntu.c#L14-L15 更新一下时间

这样,chsrc ls ubuntu 就可以看到你的信息了。

@ccmywish ccmywish added the os_target os target label Jan 21, 2026
@ccmywish ccmywish added this to the v0.2.5 milestone Jan 21, 2026
@ccmywish ccmywish linked an issue Jan 21, 2026 that may be closed by this pull request
1 task
@ccmywish ccmywish added the Linux Linux相关 label Jan 21, 2026
@ccmywish ccmywish merged commit d9609c1 into RubyMetric:dev Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Linux Linux相关 os_target os target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

reset ubuntu好像sed语句不对

2 participants