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

    文章

    11149

    浏览量

    103246
  • Linux系统
    +关注

    关注

    4

    文章

    593

    浏览量

    27392
  • 软件
    +关注

    关注

    69

    文章

    4929

    浏览量

    87414
收藏 人收藏

    评论

    相关推荐

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

    Linux环境下,需要对软件包进行安装、卸载、升级和查询等操作,包含这些操作的工具,称为包管理工具。
    发表于 08-22 15:14 654次阅读
    <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 694次阅读
    CMN-700包括哪几种电源<b class='flag-5'>管理能力</b>?

    【「仓颉编程快速上手」阅读体验】简洁包管理的命脉

    包管理,一个简简单单,又复复杂杂的内容。其实包管理原理不难,但是做好确实不容易。 仓颉具备自己的包管理。 从C++这种语言来说。除了针对特定系统
    发表于 09-26 22:18

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

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

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

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

    Arm推出Mbed Edge 延伸Mbed Cloud设备管理能力到物联网边缘

    2017年11月6日,中国上海——Arm宣布推出Mbed Edge,进一步拓展Mbed Cloud的设备管理能力,在边缘侧,即物联网网关上实现设备的接入、控制和管理
    的头像 发表于 11-07 10:50 8541次阅读

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

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

    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次下载

    智慧物流:RFID提高仓库管理能力,已成为智能推进手段

    企业来说,仓库里保管着大量的商品资产。 全面优化管理仓库需求,简化仓库管理流程,提高仓库管理能力成为现代化仓库管理的重点,RFID提高仓库管理能力
    发表于 10-22 16:52 842次阅读

    如何安装Python包管理工具

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

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

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

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

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

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

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

    凌科获授基于ISO56005的《创新与知识产权管理能力》证书

    近日,凌科电气获授基于ISO56005的《创新与知识产权管理能力》一级证书。这表明凌科在建立健全创新与知识产权管理体系,构建创新与知识产权管理能力方面迈上了一个全新的高度。凌科电气获授《创新
    的头像 发表于 11-30 01:03 190次阅读
    凌科获授基于ISO56005的《创新与知识产权<b class='flag-5'>管理能力</b>》证书