0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统具有强大的包管理能力

汽车电子技术 来源:码农与软件时代 作者: 码农与软件时代 2023-02-15 11:42 次阅读

一、包管理基本原理

Linux系统具有强大的包管理能力,能够自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。其基本原理为:

  1. 厂商或开源组织将软件包放至服务器中,构成源或软件仓库,以供用户下载使用;
  2. 软件仓库有很多,国内常用的源有阿里源、清华源等等。Ubuntu源信息记录在/etc/apt/sources.list中
root@linux:/var/lib/apt/lists$ cat /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable
# deb-src [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable
  1. 执行apt-get update命令,则会根据/etc/apt/sources.list记录的源站信息,扫描源服务器,并建立软件包的索引文件,存放在/var/lib/apt/lists/中
root@linux:/var/lib/apt/lists# ll
total 222044
drwxr-xr-x 4 root root    12288 Feb  7 10:17 ./
drwxr-xr-x 5 root root     4096 Nov 13  2020 ../
drwxr-xr-x 2 _apt root     4096 Nov 16  2020 auxfiles/
-rw-r----- 1 root root        0 Nov 16  2020 lock
-rw-r--r-- 1 root root    74562 Feb  7 07:11 mirrors.aliyun.com_ubuntu_dists_bionic-backports_InRelease
-rw-r--r-- 1 root root    59629 Dec 16 00:17 mirrors.aliyun.com_ubuntu_dists_bionic-backports_main_binary-amd64_Packages
-rw-r--r-- 1 root root    12910 Dec 16 00:17 mirrors.aliyun.com_ubuntu_dists_bionic-backports_main_i18n_Translation-en
-rw-r--r-- 1 root root    17863 Dec 16 00:17 mirrors.aliyun.com_ubuntu_dists_bionic-backports_main_source_Sources
-rw-r--r-- 1 root root    49624 Dec 16 02:14 mirrors.aliyun.com_ubuntu_dists_bionic-backports_universe_binary-amd64_Packages
-rw-r--r-- 1 root root    15723 Dec 16 02:14 mirrors.aliyun.com_ubuntu_dists_bionic-backports_universe_i18n_Translation-en
-rw-r--r-- 1 root root    20023 Dec 16 02:14 mirrors.aliyun.com_ubuntu_dists_bionic-backports_universe_source_Sources
-rw-r--r-- 1 root root   242048 Apr 27  2018 mirrors.aliyun.com_ubuntu_dists_bionic_InRelease
......

进一步,查看文件的信息,则:

root@linux:/var/lib/apt/lists# cat mirrors.aliyun.com_ubuntu_dists_bionic_InRelease | more
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


Origin: Ubuntu
Label: Ubuntu
Suite: bionic
Version: 18.04
Codename: bionic
Date: Thu, 26 Apr 2018 23:37:48 UTC
Architectures: amd64 arm64 armhf i386 ppc64el s390x
Components: main restricted universe multiverse
Description: Ubuntu Bionic 18.04
MD5Sum:
 32a92a5c20f378d42dd2d2f4f28f6637        628836439 Contents-amd64
 53c6a594819b51a5755f88b45d1eff7f         37766986 Contents-arm64.gz
 cd7bf6d50403da4348ee48138eace986        585939706 Contents-ppc64el
 af42d07307c5d1398c75e28986b36509        616261664 Contents-i386
 98f43960ac7029b4948a13614038593c        584794633 Contents-armhf
 31848d4faedf11946ff1af9c281f4e6b         39528051 Contents-amd64.gz
  1. 执行apt-get install XXX,则会根据软件包的索引文件,找到最新版本的软件包及其依赖关系,下载(或更新)、解压、安装和配置软件包。
root@linux:/var/lib/apt/lists# apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  grub-pc-bin
Use 'apt autoremove' to remove it.
Suggested packages:
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
The following packages will be upgraded:
  git
1 upgraded, 0 newly installed, 0 to remove and 315 not upgraded.
  1. 执行apt-get upgrade,则可以将所有软件包一次性升级到最新版本。
root@linux:/var/lib/apt/lists# apt-get upgrade
......
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...


done.
done.
Processing triggers for initramfs-tools (0.130ubuntu3.13) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-122-generic

二、工具apt-get和apt区别:

  1. Ubuntu 16.04版本前,使用apt-get、apt-cache和apt-config进行包的管理;存在的问题:命令过于分散,并且apt-cache和apt-config用得比较少。
  2. Ubuntu 16.04版本发布时,引入apt命令以解决命令分散的问题;存在的问题:apt并未完全取代apt-get命令。
apt命令              原有命令             命令的功能
apt install       apt-get install        安装软件包
apt remove        apt-get remove         移除软件包
apt purge         apt-get purge          移除软件包及配置文件
apt update        apt-get update         刷新存储库索引
apt upgrade       apt-get upgrade        升级所有可升级的软件包
apt autoremove    apt-get autoremove     自动删除不需要的包
apt full-upgrade  apt-get dist-upgrade   在升级软件包时自动处理依赖关系
apt search        apt-cache search       搜索应用程序
apt show          apt-cache show         显示安装细节
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    10906

    浏览量

    100761
  • Linux系统
    +关注

    关注

    4

    文章

    567

    浏览量

    26923
  • 软件
    +关注

    关注

    67

    文章

    4350

    浏览量

    85635
收藏 人收藏

    评论

    相关推荐

    Linux环境下如何管理Python包管理工具

    Linux环境下,需要对软件包进行安装、卸载、升级和查询等操作,包含这些操作的工具,称为包管理工具。
    发表于 08-22 15:14 389次阅读
    <b class='flag-5'>Linux</b>环境下如何<b class='flag-5'>管理</b>Python<b class='flag-5'>包管理</b>工具

    CMN-700包括哪几种电源管理能力

    CMN-700包括几种电源管理能力,要么由外部控制,要么由SoC辅助。CMN-700具有以下电源管理功能
    发表于 10-27 17:03 264次阅读
    CMN-700包括哪几种电源<b class='flag-5'>管理能力</b>?

    命令终端的常用操作有哪些?软件包管理机制是什么

    软件包redhat Linux提出的软件包管理机制—Rpm软件包2.为什么用软件包管理?之前的阶段,linux没有考虑到系统中软件包间复杂的
    发表于 12-21 06:38

    分布式软总线实现近场设备间统一的分布式通信管理能力如何?

    现实中多设备间通信方式多种多样(WIFI、蓝牙等),不同的通信方式使用差异大,导致通信问题多;同时还面临设备间通信链路的融合共享和冲突无法处理等挑战。那么分布式软总线实现近场设备间统一的分布式通信管理能力如何呢?分布式软总线组件架构图
    发表于 03-16 11:03

    HarmonyOS/OpenHarmony应用开发-ArkTSAPI系统能力SystemCapability列表

    能力 SystemCapability.BundleManager.BundleFramework.DefaultApp:包管理提供的默认应用管理特性
    发表于 08-11 10:08

    Ayla Networks宣布IoT平台设备联接和管理能力与谷歌云平台进行集成

    提供行业领先设备虚拟化和管理能力的全球物联网PaaS平台——Ayla Networks, 今天正式宣布将其IoT平台设备联接和管理能力与谷歌云平台Google Cloud Platform进行集成,提供强大的端到端IoT解决方案
    发表于 05-24 14:13 2046次阅读

    Linux应用基础教程之Linux如何进行系统管理

    本文档的主要内容详细介绍的是Linux应用基础教程之Linux如何进行系统管理主要内容包括了:1 用户和组管理 2 软件包管理 3 网络通信
    发表于 11-28 15:56 2次下载

    Linux教程之如何进行软件包管理

    软件包管理器(RPM)是开放打包系统,在Red Hat Linux 里,因为有了Red Hat PackageManager(Red Hat 软件包管理器),而使得安装和升级软件包轻松
    发表于 11-30 16:36 6次下载

    库神企业级钱包管理系统介绍

    针对目前的现状,为了更好的服务于区块链领域企业,包括加密资产交易平台、托管平台、支付平台、金融衍生业务平台等,库神公司自主研发出一套综合性加密资产管理系统,即库神企业级钱包管理系统(C
    发表于 04-25 11:00 1697次阅读

    一种突发事件应急管理能力评估方法

    法( TOPSIS),提出一种突发事件应急管理能力评估方法。根据应急管理实际情况建立评估指标体系,通过构建D-AHP层次结构模型求解各评估指标的影响权重,同时结合专家的评估结果,利用 TOPSIS方法对评估对象的突发事件应急管理能力
    发表于 06-03 10:50 1次下载

    什么是Linux软件包,如何管理它们

    现代类 Unix 操作系统都提供了一个集中的软件包管理机制,以帮助用户搜索、安装和管理软件。而软件通常以包的形式存储在仓库中,对软件包的使用和管理被称为
    的头像 发表于 02-06 14:59 1053次阅读

    如何安装Python包管理工具

    第三方库,Python提供了一些强大包管理工具。本文将介绍如何安装Python包管理工具,以便您能够在Python项目中方便地管理和使用第三方库。
    的头像 发表于 04-14 12:10 785次阅读

    探索陶瓷电线路基板的热管理能力

    引言:随着电子设备的不断发展和进步,高功率密度和高温度成为电子现代系统面临的重要挑战之一。热管理是保持电子设备可靠性和性能稳定性的关键因素。在这方面,本文将探索陶瓷电线路基板的热管理能力,介绍其在高温环境下的应用,并讨论相关的技
    的头像 发表于 07-10 14:58 218次阅读

    行业首家!法大大荣获“数据安全管理能力认证(DSMC)”证书

    7月11日,法大大获得由中国信息通信研究院(以下简称“中国信通院”)颁发的“数据安全管理能力认证(DSMC)证书”(以下简称“DSMC证书”),成为行业内首家获颁该证书的企业,法大大产品数据安全能力
    的头像 发表于 07-19 12:21 384次阅读
    行业首家!法大大荣获“数据安全<b class='flag-5'>管理能力</b>认证(DSMC)”证书

    鸿蒙开发实战:【包管理系统

    包管理系统负责应用安装包的管理,提供安装包的信息查询、安装、更新、卸载和包信息存储等能力
    的头像 发表于 03-14 15:23 146次阅读
    鸿蒙开发实战:【<b class='flag-5'>包管理</b>子<b class='flag-5'>系统</b>】