Linux系统中的软件管理
简介Linux 系统中的软件管理体系主要包括软件包管理工具、软件仓库以及相关的依赖管理等方面。以下是详细介绍:
软件包管理工具
[*]dpkg:Debian 及其衍生系统(如 Ubuntu)使用的底层软件包管理工具。它用于安装、卸载、查询和管理.deb 格式的软件包。例如,使用 dpkg -i package.deb 命令可以安装名为 package.deb 的软件包。
[*]apt:基于 dpkg 的高级软件包管理工具,提供了更方便的命令行接口和软件仓库管理功能。可以通过 apt update 命令更新软件包列表,使用 apt install package_name 命令安装软件包。
[*]rpm:Red Hat 及其衍生系统(如 CentOS、Fedora)使用的软件包管理工具,用于管理.rpm 格式的软件包。例如,rpm -ivh package.rpm 命令可用于安装软件包。
[*]yum:基于 rpm 的软件包管理工具,能自动处理软件包的依赖关系,从指定的软件仓库中下载并安装软件包。通过 yum install package_name 可以安装软件包,yum update 可以更新系统软件包。
[*]dnf:新一代的包管理工具,在 Fedora 等系统中逐渐取代 yum。它具有更快的运行速度和更简洁的命令语法,功能与 yum 类似,例如 dnf install package_name 用于安装软件包。
软件仓库
官方软件仓库:由 Linux 发行版官方维护,包含了经过测试和认证的软件包,具有较高的稳定性和安全性。例如,Ubuntu 的官方软件仓库包含了大量的开源软件,用户可以通过 apt 工具方便地获取和安装。
第三方软件仓库:一些软件开发商或社区会提供自己的软件仓库,以方便用户获取最新版本或特定的软件。例如,Google Chrome 浏览器的官方网站提供了适用于 Linux 系统的软件仓库,用户可以将其添加到系统中,通过包管理工具进行安装和更新。
依赖管理
软件包之间可能存在依赖关系,即一个软件包需要依赖其他软件包才能正常运行。Linux 的软件管理体系能够自动处理这些依赖关系。当使用包管理工具安装软件包时,它会检查软件包的依赖关系,并自动下载和安装所需的依赖软件包。例如,安装一个图形化应用程序时,可能需要依赖某些图形库,apt 或 yum 等工具会自动识别并安装这些依赖库。
软件编译与安装
除了使用软件包管理工具安装软件外,还可以从源代码编译安装软件。这种方式可以让用户根据自己的需求对软件进行定制,但需要用户具备一定的编译知识和工具。通常,需要先下载软件的源代码,然后使用 configure 脚本进行配置,再使用 make 命令进行编译,最后使用 make install 命令将软件安装到系统中。
linux软件包安装方式
[*]yum/apt:yum/apt命令替我们从网络下载软件包,替我们安装,如果软件包有依赖,yum/apt也会替我们下载并安装,但是需要网络
[*]rpm/dpkg:手动下载rpm/deb包,rpm/dpkg命令手动安装,如果有依赖手动解决
[*]二进制软件包:类似于绿色软件,解压即用,一般需要简单配置,如果有依赖也需要自己解决
[*]编译安装:下载软件源代码,配置、编译安装、高度自定义,遇到依赖问题自己解决
软件安装命令之apt
apt 是 Debian、Ubuntu 等 Linux 发行版中常用的高级软件包管理工具,基于 dpkg 构建,它能自动处理软件包之间的依赖关系,从软件仓库中获取并安装软件。
配置apt源
将apt源替换成国内的,有助于下载、更新软件包时提速.
参考:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11dJt3Ko
以Ubuntu22.04为例:
# 修改/etc/apt/sources.list文件
vim /etc/apt/sources.list
# 将文件内容替换成下列内容
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverseapt之查询软件
查询已经安装的所有软件
apt list
# 查询已经安装的所有软件
apt list --installed
# 查询可升级的软件包
apt list --upgradable查询指定的安装包
# 搜索已经安装的软件包,根据关键字模糊搜索apt search # 查看指定软件包的详细信息,查看指定软件包的详细信息,如版本、依赖关系等。apt show # 示例apt show root@master:~$ apt show nginxPackage: nginxVersion: 1.24.0-2ubuntu7.3Priority: optionalSection: webOrigin: UbuntuMaintainer: Ubuntu Developers Original-Maintainer: Debian Nginx Maintainers Bugs: https://bugs.launchpad.net/ubuntu/+filebugInstalled-Size: 1352 kBProvides: httpd, httpd-cgi, nginx-abi-1.24.0-1Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpcre2-8-0 (>= 10.22), libssl3t64 (>= 3.0.0), zlib1g (>= 1:1.1.4), iproute2, nginx-common (= 1.24.0-2ubuntu7.3)Breaks: nginx-core (
页:
[1]