AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 545613
Accepted
Adrián Jaramillo
Adrián Jaramillo
Asked: 2019-10-08 13:55:54 +0800 CST2019-10-08 13:55:54 +0800 CST 2019-10-08 13:55:54 +0800 CST

当我有来自 buster 和 sid 的存储库时,如何通过 apt update 和 upgrade 制作特定版本的 apt install 包?

  • 772

注意力!这是一个与我的学习相关的任务的问题。我的老师说这个任务可能没有解决方案,但我们需要尽我们所能来学习管理包。这意味着,请不要回答“没有解决方案”。如果没有解决方案,请我想知道为什么,如果有解决这个问题的中途解决方案,请说出来。
谢谢阅读

场景描述

我的虚拟机正在运行 Debian 10,并且在其中/etc/apt/sources.list我有用于 buster 和 sid 版本的存储库。
在这里你有我的sources.list

# 

# deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 NETINST 20190706-10:23]/ buster main

#deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 NETINST 20190706-10:23]/ buster main

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

#SID repos
deb http://deb.debian.org/debian sid main
deb-src http://deb.debian.org/debian sid main

其次,在我的/etc/apt/preferences.d目录中,我有一个名为sid_priority. 这些是它的内容

Package: *
Pin: release a=sid
Pin-Priority: -1

关于这个文件的一点解释

这个文件“意味着”将所有 sid 包的优先级降低到 -1,所以当我运行sudo apt updateand时sudo apt upgrade,我最终只安装和升级了 buster 的包。sid 存储库仅用于手动安装和升级,比如说运行sudo apt install(另请注意,我几乎不知道包优先级是如何工作的,我只看到一点互联网,我只能理解基础知识)。

我想要达到的目标

我只想通过 buster 存储库默认安装和升级。这意味着,如果我运行sudo apt update' orsudo apt upgrade , I'm not going to install any sid packages. I'll just install sid packages if I runsudo apt install`

我发生什么事了

我认为优先级是有效的,但是通过执行sudo apt upgrade我最终得到了 sid 包。你可以看一个例子:

libc6:
  Installed: 2.29-2
  Candidate: 2.29-2
  Version table:
 *** 2.29-2 500
        500 http://deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status
     2.28-10 500
        500 http://deb.debian.org/debian buster/main amd64 Packages

顺便说一句,无论你想要什么,都不要害怕提出任何建议,因为我正在使用虚拟机,而且我正在使用一个专门用于此任务的虚拟机。如果我需要删除它,我会这样做。
谢谢你的帮助

debian
  • 2 2 个回答
  • 1442 Views

2 个回答

  • Voted
  1. Best Answer
    GAD3R
    2019-10-09T03:08:51+08:002019-10-09T03:08:51+08:00

    联机帮助页中的第一个示例回答了您的问题:

    例子

    跟踪稳定

    以下 APT 首选项文件将导致 APT 为属于稳定发行版的所有软件包版本分配高于默认值 (500) 的优先级,并为属于其他 Debian 发行版的软件包版本分配低得令人望而却步的优先级。

    说明:卸载或不安装除稳定发行版之外的任何 Debian 来源的软件包版本

    Package: *
    Pin: release a=stable
    Pin-Priority: 900
    Package: *
    Pin: release o=Debian
    Pin-Priority: -10
    

    你sid_preference应该是:

    Package: *
    Pin: release a=stable
    Pin-Priority: 900
    
    Package: *
    Pin: release o=Debian
    Pin-Priority: -1
    

    核实:

    sudo apt update
    apt policy libc6
    

    样本输出:

    libc6:
      Installed: 2.28-10
      Candidate: 2.28-10
      Version table:
         2.29-2 -1
             -1 http://deb.debian.org/debian sid/main amd64 Packages
     *** 2.28-10 900
            900 http://deb.debian.org/debian buster/main amd64 Packages
            100 /var/lib/dpkg/status
    

    man apt_preferences:

    the Origin: line
    
    names the originator of the packages in the directory tree of 
    the Release file. Most commonly, this is Debian. Specifying this
    origin in the APT preferences file would require the line:
    
        Pin: release o=Debian
    
    • 1
  2. Ferenc Wágner
    2019-10-09T00:51:57+08:002019-10-09T00:51:57+08:00

    在基于版本的引脚配置中使用a=unstable(套件匹配)或n=sid(代号匹配);a=sid不匹配任何内容,请参阅man apt_preferences。

    • 0

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve