• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Linux软件包管理

互联网 diligentman 2小时前 2次浏览

目录

前言

一、deb软件包管理机制

1.deb软件包的由来

2..deb软件包的类型

(1)二进制软件包(deb)

(2)源码包(deb-src)

3.deb软件包命名约定

二、dpkg软件包管理工具

1.dpkg -i(软件包安装命令)

2.dpkg -L(列出软件包的安装清单) 

3.dpkg -(移除一个已安装的软件包)

4.dpkg -P (完全移除已安装软件包,包括配置文件)

5.dpkg -S(显示软件包的安装状态)

三.apt系列软件管理工具

1.apt软件仓库

2.Ubuntu换源

3.刷新源

四、常用apt命令

1.apt-get install     

2.apt-get –reinstall instal重新安装软件包

3.apt-get remove(卸载软件包)

4.apt-get download 

5.apt-cache (查询软件包信息,需要配合下面提到的关键字使用)

6.  apt-cache search (使用关键字检索软件包)

7.apt-cache show

8.apt-cache policy(获取安装包安装状态)

9.apt-cache depends查询软件包依赖关系

五、apt、apt-get及apt-cache的区别

总结


前言

        在Linux的早期,安装软件是一件痛苦的事,最初只有.tar.gz的打包文件,用户必须编译每个他想在GNU/Linux上运行的软件。
幸好Linux开发人员已经通过把软件打包成更易于安装的预编译包,我们的生活因此舒坦了一些。

一、deb软件包管理机制

1.deb软件包的由来

         由于前面提到的,在早期的Linux软件管理中使得人们过于痛苦, Debian Linux首先提出“软件包”的管理机制——deb软件包 ,将应用出现的二进制文件、配置文档、man/info帮助页面等文件合并并打包在一个文件中,用户可以使用软件包管理器直接操作软件包;完成获取、安装、卸载、查询等操作。

2..deb软件包的类型

(1)二进制软件包(deb)

        二进制软件包包含可执行文件、库文件、配置文件、man/info帮助页面、版权声明和其它文档,后缀名为“.deb”

(2)源码包(deb-src)

        包含软件源代码、版本修改说明、构建指令以及编译工具等。先由tar工具归档为.tar.gz文件,然后打包成.dsc文件。

3.deb软件包命名约定

        Linux软件包管理

二、dpkg软件包管理工具。

        dpkg是最早的deb管理工具,他在Debian一提处处包管理机制后就诞生了。dpkj可以实习软件包的安装、编译、卸载、查询,以及应用程序打包的功能,而且没有网络限制。

下面是本人整理的几个dpkg常用的功能。

1.dpkg -i(软件包安装命令)

        现在我电脑中准备了一个名为cmatrix_1.2a-5bulid2_amd64.deb的软件包,这是一个代码雨的程序,现在我想安装它,所以我要执行的命令如下:

sudo dpkg -i cmatrix_1.2a-5bulid2_amd64.deb

        安装好后,执行cmatrix命令运行程序,我们将看到如下结果。

Linux软件包管理

2.dpkg -L(列出软件包的安装清单) 

        查看刚刚的cmatrix程序安装信息

dpkg -L cmatrix

        我电脑中显示的信息

Linux软件包管理

         上面列出的是各软件包的安装路径,好比如我们熟悉的man手册,我们从中可以看到它的安装路径是/usr/share/man。

3.dpkg -(移除一个已安装的软件包)

4.dpkg -P (完全移除已安装软件包,包括配置文件)

5.dpkg -S(显示软件包的安装状态)

三.apt系列软件管理工具

        由于操作系统中软件包安装时存在非常复杂的依赖关系,这使得用户非常头疼,因而,apt软件管理工具由此诞生。apt软件包管理工具功能极其强大,它不但可以帮助我们安装软件包,还可以帮助我们解决软件包安装时的依赖问题。

1.apt软件仓库

        ubuntu采用集中式的软件仓库管理机制,将各式各样的软件包分门别类的存放在软件仓库中,进行有效地组织和管理。然后将软件仓库许许多多的镜像服务器中,并保持一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源

        apt默认的软件仓库位置是在安装Linux发行版时设置的。具体位置存储在文件

/etc/apt/sources. list中很多情况下,根本不需要添加或删除软件仓库,所以也没必要接触这个文件。另外,在搜索软件进行安装或更新时,aptitude同样只会检查这些库。

        Linux发行版的开发人员下了大工夫,以保证添加到软件仓库的包版本不会互相冲突。通
常通过库来升级或安装软件包是最安全的。即使在其他地方有更新的版本,也应该等到
该版本出现在你的
Linux
发行版仓库中的时候再安装。

2.Ubuntu换源

        由于我们所在的坐标不一样,可能会出现软件包下载网速过慢的情况,这时我们可以更换自己找到的优质源,Ubuntu换源就是修改上面提到的/etc/apt/source.list文件。步骤如下:

(1)打开/etc/apt/source.list文件

sudo gedit /etc/apt/sources.list
或
sudo vi /etc/apt/sources.list

(2)把原有的源换掉,把自己找到的源粘贴上去,如下图。

Linux软件包管理

 注:

  • 我用的是清华源,下载链接:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  • deb-src/deb代表的分别是deb-src软件包源和deb软件包源,deb-src去掉#就可以使用

3.刷新源

sudo apt-get update

        执行上面命令后当调用更新源命令的时候,会把服务器上的所有的软件包以文件列表的形式同步到这个目录/var/lib/apt/lists下。至此换源完毕。

四、常用apt命令

1.apt-get install     

        下载安装软件包,将会执行以下四步工作。

  • 扫描软件包列表,找到最新版的软件包
  • 进行依赖关系检查,找到支持软件正常运行的所有软件包
  • 从软件源所指的镜像站点中,下载相关软件包
  • 解压软件包,自动完成安装和配置

2.apt-get –reinstall instal重新安装软件包

        当用户不小心损坏了已安装的软件包,而需要修复。或者希望重新安装软件包中某些文件的最新版本。

3.apt-get remove(卸载软件包)

4.apt-get download 

        只下载不安装软件包,本人上面用到的代码雨水软件包就是这命令下载的。

5.apt-cache (查询软件包信息,需要配合下面提到的关键字使用)

6.  apt-cache search (使用关键字检索软件包)

        不准确知道软件包名可以利用。

7.apt-cache show

   使用apt-cache show可以获取指定软件包的详细信息,包括安装状态、优先级、适用架构、版本、存在依赖关系的软件包,以及功能描述等信息。

8.apt-cache policy(获取安装包安装状态)

9.apt-cache depends查询软件包依赖关系

五、apt、apt-get及apt-cache的区别

        apt 第一个稳定版本发布于2014年,开始流行于2016年。apt对比apt-get不仅在使用时有一些细节的差别,还引用了两个新的命令。

新的apt命令 功能
apt list 列出包含条件的包(已安装,可升级等)
apt edit-sources 编辑源列表
  1. apt list
    –当 apt list 命令与–installed或–upgradeable一起使用时,它将列出已安装,可安装或需要升级的软件包。
  2. apt edit-sources
    –使用此命令时,它将在编辑器中打开sources.list文件进行编辑。

        安排他apt edit-sources命令的使用技巧。

(1)输入命令回车后会出现下面界面

Linux软件包管理

(2)到达下面界面时我们可以直接进行编辑,底部的功能我们我可以通过Ctrl+字母使用,如我想退出,Ctrl+x 。

        对于apt会不会取代apt-get问题,我想不会,至少目前不会,目前还没有任何 Linux 发行版官方放出 apt-get 将被停用的消息,至少它还有比 apt 更多、更细化的操作功能。对于低级操作,仍然需要 apt-get。

关于apt-get的使用建议:

  • apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。
  • apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt。


总结

        对于软件包管理,非特殊情况我更推荐大家使用apt系列命令集合。


程序员灯塔
转载请注明原文链接:Linux软件包管理
喜欢 (0)