1.什么是包管理系统(针对Debian派系CentOS派系有点区别)
大多数同学接触的最多的PC端系统应该是Windows系统,我们都知道在Windows安装以及卸载软件其实是十分麻烦的,可以总结为下面几个步骤:
可能还会有软件不可用❌ 、找遍整个官网都找不到安装包以及破解等过程🏃 学习可以哈,商用还是乖乖买
Ubuntu为了解决这个问题(当然这并不是Ubuntu的才有的,许多Linux发行版本都有包管理软件),包管理软件可以满足你对软件安装、更新以及卸载的所有要求。这个模式其实我们也不陌生,不就是手机应用商城嘛!
这种中心化的机制极大地简化了软件的安装、更新和卸载。软件开发者准许规范将程序编译、打包,并上传到公开的服务器中,供系统用户通过包管理工具获取。
2.Ubuntu安装软件的方式
Ubuntu安装软件也有多种方式选择,主要有如下几类:
- 源码安装(不推荐)
由于开源协议,Ubuntu平台上的很多软件都会开放源码,用户可以自行下载,按照手册进行编译、生成目标程序,这种方式需要我们十分了解源码的组成结构以及编译规则,否则就是自找麻烦。当然这种方式在某些场景下也会使用,比如我们可以根据需求裁剪程序功能。
- 包管理工具(推荐)
- dpkg:Debian Packager是Debian开发的底层包管理工具,是整个包管理系统的基础。dpkg用于安装、卸载以及升级,但是使用dpkg需要提供 .deb 软件包,也就是说dpkg仅仅是本地安装,需要开发者提供资源,所以使用dpkg安装会存在一个问题就是,开发者需要自行解决依赖问题。所谓的依赖问题可以理解为我安装A软件,A软件需要B软件支持,那么我们就需要手动安装B软件才能成功安装A软件。
- APT:Advanced Package Tool是Debian开发的上层包管理工具,APT提供一系列完整的包管理工具,我们可以很方便的安装、卸载以及升级,不一样的是,开发者无需提供 .deb软件包以及手动解决依赖关系,只需知道软件名称即可。APT会去软件源可修改寻找对应软件和依赖文件
3.APT包管理工具
虽然来说,ubuntu也有一个可视化操作的ubuntu软件中心,也是基于APT开发的,但是我自己也没在上面安装过几次软件,🦆鹅且,ubuntu虽说是目前最流行linux桌面版,但是相比Windows,linux的可视化操作真的不忍直视👀,下面主要讲命令行操作!
APT包管理工具包含了很多小工具,比较常用的有apt-get、apt-cache以及apt-config。最近ubuntu 16.04之后APT上还更新了一个功能更全的apt。
-
apt-get:负责软件以及依赖文件的获取、安装、卸载以及更新等事务,apt-get install会扫描本地存放的软件包更新列表/var/lib/apt/lists/,找到最新版本的软件包我们安装软件之前应该update软件源!,然后检查软件包依赖关系,找到支持该软件正常运行的 所有软件包,并从镜像源地址中下载所需的软件包,最后解压软件包,自动完成应用程序的安装和配置;
-
apt-cache:负责查询软件的相关信息;
-
apt-config:用于配置APT工具。
-
apt:这货敢跟老爹同名,肯定牛逼!🐂 apt其实常用小工具的集合,也就是把零散的接口封装起来,通过检测用户的参数输入的参数确定功能,使得工具更加健壮💪 。
3.1 apt-get和apt
我们使用APT最多的就是安装和卸载工具,那么就会涉及到两个工具:apt-get和apt。以安装vim为例对比!
3.1.1 apt-get
- 安装
sudo apt-get install vim
- 卸载
sudo apt-get remove vim
3.1.2 apt
- 安装
sudo apt install vim
- 卸载
sudo apt remove vim
3.1.3 总结
总体来看就是shell命令apt看起来更简洁<—屁话 ,我现在觉得唯一的区别就是,apt会提供进度条,很高级!