嵌入式学习笔记(七) --Ubuntu之Deb软件包管理

一般来说linux系统主要分为两大类:

1.RedHat系列:Centos,Fedora等。Debian Linux首先提出“软件包”的管理机制---Deb软件包;

2.Debian系列:Ubuntu等。Redhat Linux基于这个理念推出了自己的软件包管理机制---Rpm软件包;


RedHat系列:

  1. 常见的安装包格式rpm包,安装rpm包的命令是“rpm -参数”
  2. 包管理工具yum
  3. 支持tar包


Debian系列:

  1. 常见的安装包格式deb包,安装deb包的命令是“dpkg -参数”
  2. 包管理工具apt-get
  3. 支持tar包

笔者使用Ubuntu,这里主要记录Deb软件包管理的方法。


一、软件包的类型

Ubuntu有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)
二进制软件包(Binary Packages):它包含可执行文件、库文件、配置文件、man/info页面、版权声明和其它文档。
源码包(Source Packages):包含软件源代码、版本修改说明、构建指令以及编译工具等。先由tar工具归档为.tar.gz文件,然后再打包成.dsc文件。


在用户不确定一个软件包类型时,可以使用file命令查看文件类型。

linux@ubuntu:~$ file  g++_4.1.2-9ubuntu2_i386.deb
g++_4.1.2-9ubuntu2_i386: Debian binary package (format 2.0)


二、软件包的命名,遵循以下约定:




三、软件包管理工具分类

根据用户交互方式的不同,可以将常见的软件包管理工具分为三类:
            类别         常见工具举例                   描述

  • 命令行        dpkg-deb、dpkg、apt       在命令行模式下完成软件包管理任务。为完成软件包的获取、查询、软件包                                                                         依赖性 检查、安装、卸载等任务需要使用各自不同的命令

  • 文本窗口界面   dselect、aptitude、tasksel      在文本窗口模式中,使用窗口和菜单可以完成软件包管理任务


  • 图形界面       synaptic                        在X-Window图形桌面环境中运行,具有更好的交互性、可读性、易用性等特点



四、使用dpkg或者是apt-get安装软件包

安装软件包

dpkg -i package.deb     //安装本地软件包,不解决依赖关系

apt-get install package  //在线安装软件包


移除软件包

dpkg -r package       //删除软件包

apt-get remove package  //同上

dpkg -p package            //删除软件包及配置文件

apt-get remove package --purge  //同上


软件安装后相关文件位置

1.下载的软件包存放位置

/var/cache/apt/archives

2.安装后软件默认位置

/usr/share

3.可执行文件位置

/usr/bin

4.配置文件位置

/etc

5.lib文件位置

/usr/lib


那么dpkg和apt的区别是什么呢?

  • dpkg只是用来安装本地软件包(deb包),但不解决模块的依赖关系。
  • apt-get是从网络服务器安装软件包的,它会解决依赖关系。

而且dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。

sudo apt-get install ***之后,包的临时储存路径是/var/cache/apt/archives。


参考链接:https://blog.csdn.net/baidu_28149499/article/details/56307190


其他笔记:

嵌入式学习笔记(一)  --Ubuntu开发环境搭建 :https://blog.csdn.net/feit2417/article/details/80738940

嵌入式学习笔记(二) --Ubuntu上配置vim编辑器和共享文件 : https://blog.csdn.net/feit2417/article/details/80738940

嵌入式学习笔记(三) --Linux文件系统: https://blog.csdn.net/feit2417/article/details/80738940

嵌入式学习笔记(四) --Linux文件和目录相关命令: https://blog.csdn.net/feit2417/article/details/80753329

嵌入式学习笔记(五) --vi编辑器: https://blog.csdn.net/feit2417/article/details/80759402

嵌入式学习笔记(六) --程序的编译和执行: https://blog.csdn.net/feit2417/article/details/80765177

嵌入式学习笔记(七) --Ubuntu之Deb软件包管理https://mp.csdn.net/postedit/80781351


猜你喜欢

转载自blog.csdn.net/feit2417/article/details/80781351
今日推荐