0

0

如何在Ubuntu中安装特定版本软件包 apt-get安装指定版本教程

P粉602998670

P粉602998670

发布时间:2025-08-15 17:46:01

|

1191人浏览过

|

来源于php中文网

原创

ubuntu中使用apt-get安装特定版本软件包的方法是结合apt-cache和=符号指定版本。首先运行apt-cache policy 确定可用版本,如nginx的1.18.0-6ubuntu14;然后执行sudo apt-get install nginx=1.18.0-6ubuntu14进行安装。若需查看详细信息,可使用apt-cache show 或apt-cache show nginx=1.18.0-6ubuntu14。为防止升级特定版本,可使用sudo apt-mark hold nginx标记为hold,或配置/etc/apt/preferences文件设置pin-priority优先级,亦或修改/etc/apt/apt.conf.d/目录下的配置文件排除特定包。遇到依赖冲突时,尝试手动安装依赖包的特定版本,如libssl1.1;改用aptitude工具解决冲突;或通过卸载、安装其他相关包手动处理依赖;严重情况下可考虑使用docker隔离环境。卸载指定版本使用sudo apt-get remove nginx=1.18.0-6ubuntu14,若需删除配置文件则使用sudo apt-get purge nginx=1.18.0-6ubuntu14。

如何在Ubuntu中安装特定版本软件包 apt-get安装指定版本教程

直接告诉你答案,在Ubuntu中使用

apt-get
安装特定版本的软件包,你需要结合
apt-cache
=
符号来指定版本。关键在于找到你需要的版本号,然后告诉
apt-get
安装它。

如何在Ubuntu中安装特定版本软件包 apt-get安装指定版本教程

解决方案

首先,你需要确定软件包的确切名称以及可用的版本。

apt-cache policy 
是你的好朋友。例如,你想安装特定版本的
nginx
,就运行
apt-cache policy nginx

如何在Ubuntu中安装特定版本软件包 apt-get安装指定版本教程

这个命令会列出

nginx
包的所有可用版本,以及你当前系统已安装的版本(如果已安装)。你会看到类似这样的信息:

nginx:
  Installed: (none)
  Candidate: 1.18.0-6ubuntu14.3
  Version table:
     1.18.0-6ubuntu14.3 500
        500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     1.18.0-6ubuntu14 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

假设你想安装

1.18.0-6ubuntu14
这个版本,那么安装命令就是:

如何在Ubuntu中安装特定版本软件包 apt-get安装指定版本教程
sudo apt-get install nginx=1.18.0-6ubuntu14

注意

=
符号,它告诉
apt-get
你要安装的确切版本。

输入

y
确认安装。

安装完成后,你可以再次使用

apt-cache policy nginx
来确认安装的版本是否正确。

如果安装过程中遇到依赖问题,

apt-get
可能会尝试升级或降级其他软件包。仔细阅读提示信息,看看是否需要手动解决依赖关系。有时,你可能需要先安装或卸载一些其他的包才能满足依赖关系。

如何查看Ubuntu软件仓库中软件包的所有可用版本?

上面提到的

apt-cache policy 
命令是查看可用版本的首选方法。但有时候,你可能需要更详细的信息,比如软件包的来源、大小等。这时候,你可以使用
apt-cache show 

apt-cache show nginx
会显示
nginx
包的详细信息,包括所有可用版本,以及每个版本的描述、依赖关系等。这个命令的输出可能会很长,但包含了非常有用的信息。

另外,如果你想知道某个特定版本软件包的具体信息,可以结合使用

apt-cache show
和版本号。例如:

apt-cache show nginx=1.18.0-6ubuntu14

这个命令会只显示

nginx
1.18.0-6ubuntu14
版本的详细信息。

如何防止 apt-get 升级已安装的特定版本软件包?

安装了特定版本的软件包后,你可能不希望

apt-get upgrade
命令自动升级它。有几种方法可以防止这种情况发生。

  1. 使用

    apt-mark hold
    命令:

    这是最推荐的方法。

    apt-mark hold 
    命令会将指定的软件包标记为“hold”,这意味着
    apt-get upgrade
    apt-get dist-upgrade
    命令都不会升级它。

    例如,要防止

    nginx
    被升级,运行:

    sudo apt-mark hold nginx

    要取消 hold 状态,运行:

    sudo apt-mark unhold nginx
  2. 使用

    preferences
    文件:

    这是一种更高级的方法,允许你更精细地控制软件包的升级行为。你需要编辑

    /etc/apt/preferences
    文件(如果不存在就创建它),并添加一些配置信息。

    例如,要防止

    nginx
    被升级,可以在
    /etc/apt/preferences
    文件中添加以下内容:

    Package: nginx
    Pin: version 1.18.0-6ubuntu14
    Pin-Priority: 1001

    Pin-Priority
    的值越高,优先级越高。大于 1000 的值表示永远不要升级该软件包。

    这种方法比较复杂,需要仔细理解

    apt
    的 pinning 机制。

  3. 修改

    /etc/apt/apt.conf.d/
    目录下的配置文件:

    MaxAI
    MaxAI

    MaxAI.me是一款功能强大的浏览器AI插件,集成了多种AI模型。

    下载

    你也可以在

    /etc/apt/apt.conf.d/
    目录下创建一个新的配置文件,或者修改已有的配置文件,来排除特定的软件包。例如,创建一个名为
    99no-upgrade
    的文件,内容如下:

    APT::Default-Release "focal"; # 你的Ubuntu版本
    APT::Never-Upgrade {
        "nginx";
    };

    这种方法需要你了解

    apt
    的配置语法。

如果安装特定版本软件包时遇到依赖冲突怎么办?

安装特定版本的软件包时,最常见的问题就是依赖冲突。这意味着你想要安装的软件包需要特定版本的其他软件包,而这些软件包的版本与你系统中已安装的版本不兼容。

解决依赖冲突没有一个通用的解决方案,需要具体问题具体分析。以下是一些常用的方法:

  1. 尝试安装依赖包的特定版本:

    如果

    apt-get
    提示某个依赖包的版本不兼容,你可以尝试手动安装该依赖包的特定版本。使用上面介绍的
    apt-get install =
    命令。

    例如,如果

    nginx
    需要
    libssl1.1
    ,而你系统中安装的是
    libssl3
    ,你可以尝试安装
    libssl1.1
    的特定版本。

  2. 使用

    aptitude
    替代
    apt-get

    aptitude
    是另一个软件包管理工具,它比
    apt-get
    更智能,可以更好地解决依赖冲突。你可以尝试使用
    aptitude
    来安装软件包。

    首先,安装

    aptitude

    sudo apt-get install aptitude

    然后,使用

    aptitude
    安装软件包:

    sudo aptitude install nginx=1.18.0-6ubuntu14

    aptitude
    会尝试找到一个满足所有依赖关系的解决方案。如果它找到了多个解决方案,它会提示你选择一个。

  3. 手动解决依赖关系:

    如果

    apt-get
    aptitude
    无法自动解决依赖关系,你可能需要手动卸载或安装一些软件包来满足依赖关系。

    这需要你仔细阅读

    apt-get
    aptitude
    的提示信息,了解哪些软件包之间存在冲突,然后手动解决。

    例如,你可能需要先卸载一个软件包,然后才能安装另一个软件包。或者,你可能需要同时安装多个软件包的不同版本。

  4. 使用 Docker:

    如果以上方法都无法解决依赖冲突,你可以考虑使用 Docker。Docker 允许你在一个隔离的容器中运行应用程序,容器中可以包含应用程序所需的所有依赖项。

    使用 Docker 可以避免依赖冲突,因为容器中的依赖项与宿主系统中的依赖项隔离。

如何卸载通过 apt-get 安装的指定版本软件包?

卸载指定版本的软件包与安装类似,也需要使用

=
符号指定版本号。

sudo apt-get remove nginx=1.18.0-6ubuntu14

这个命令会卸载

nginx
包的
1.18.0-6ubuntu14
版本。

如果你想同时卸载配置文件,可以使用

purge
命令:

sudo apt-get purge nginx=1.18.0-6ubuntu14

purge
命令会删除软件包及其配置文件。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

229

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

498

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

498

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

227

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

333

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3508

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

15

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

11

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Swoft2.x速学之http api篇课程
Swoft2.x速学之http api篇课程

共16课时 | 0.9万人学习

php初学者入门课程
php初学者入门课程

共10课时 | 0.6万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号