deb、rpm、tar.gz三种Linux软件包的区别在哪里呢,这种区别可能使安装进行不下去,那么我们应该下载什么格式的包呢?下面具体讲解一下。

rpm包是在Redhat、Suse和Fedora可以直接进行安装,但在Ubuntu中却无法识别;

deb包是Ubuntu的专利,双击即可进入自动安装进程;

tar.gz包虽在所有的Linux版本中都能使用,但安装过程最麻烦。首先需要解压缩,然后在终端中用cd命令进入刚才解压的目录,再找到安装链接文件安装。

(1)软件包管理机制

1.Debian Linux首先提出“软件包”的管理机制——Deb软件包

将应用程序的二进制文件、配置文档、man/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作

2.由于开源软件分散开发和相互继承的特点,DEB包之间存在着Depends(存在依赖)、Conflicts(存在冲突)、Recommends(建议安装)这三种依赖关系

3.Ubuntu下主要有apt-get和dpkg两个软件管理工具,前者用的最多,apt是apt-get的升级版。

APT软件包管理器:检查和修复软件包依赖关系,利用Internet网络帮助用户主动获取软件包。

dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。

Ubuntu还支持最新的软件包安装方式SNAP软件包,这种是Ubuntu未来的软件包格式,采用.snap作为拓展名,目前与DEB方式共存

(2)软件包的类型

Ubuntu有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)

1、二进制软件包(Binary Packages):它包含可执行文件、库文件、配置文件、man/info页面、版权声明和其它文档。

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

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

(3)软件包的命名

package_ver-rev_arch.deb package包名 ver版本 rev修订版本 arch软件包对应硬件平台如amd64、i386

(4)包管理工具

①命令行(apt、dpkg);②文本窗口界面(aptitude);③图形界面(synaptic)

1.apt-get(apt)的基本使用

  • 安装软件 apt-get(apt) install softname1 softname2 softname3...
  • 卸载软件 apt-get(apt) remove softname1 softname2 softname3...
  • 卸载并清除配置 apt-get(apt) remove --purge softname1
  • 更新软件信息数据库apt-get(apt) update
  • 更新软件本身 apt-get(apt) upgrade
  • 修正依赖关系 apt-get(apt) -f install
  • 获取包的相关信息 apt-cache show sofname1(获取如说明、大小、版本等)
  • 搜索软件包 apt-cache search softname1 softname2...

2.dpkg的基本使用

  • 安装软件 dpkg -i xxx.deb (dpkg -i /share/google-chrome-stable_current_amd64.deb)
  • 注意:如果通过dpkg –i安装软件后由于Dpends关系没有安装成功,可通过apt-get –f install解决
  • 安装一个目录下面所有的软件包dpkg -R 目录路径 (dpkg -R /usr/local/src)
  • 删除软件包 dkpg -r xxx.deb
  • 连同配置文件一起删除 dpkg -r --purge xxx.deb
  • 查看软件包信息 dpkg -info xxx.deb
  • 查看文件拷贝详情 dpkg -L xxx.deb
  • 查看系统中已安装软件包信息 dpkg -l (ii表示安装成功,iU表示未安装成功)
  • 查看已安装包的详细情况 dpkg -s 安装包名称(包括版本和依赖之类的)
  • 查询系统中所安装软件包的安装文件安装到系统的位置和安装了哪些 dpkg -L 安装包称

3.aptitude的基本使用

与apt-get(get)一样,是Debian及其衍生系统中功能及其强大的包管理工具,在处理依赖问题上效果更佳,系统不会残留无用的包。

  • 更新可用的包列表 aptitude update
  • 升级可用的包 aptitude upgrade
  • 将系统升级到新的发行版 aptitude dist-upgrade
  • 安装包 aptitude install pkgname
  • 删除包 aptitude remove pkgname
  • 删除包及其配置文件 aptitude purge pkgname
  • 显示包详情 aptitude show pkgname
  • 删除下载的包文件 aptitude clean
  • 仅删除过期的包文件 aptitude autoclean
  • 搜索包 aptitude search string

4.alien命令

如果我们有很喜欢的RPM包,而又没有deb版本.怎么办~?可以同过alien来转换或者直接安装。

首先通过apt-get install alien来安装.

然后

alien -i name-of-the-pakage.rpm /*用来直接安装rpm包

alien -d , --to-deb /*Make debian packages,This is the default

例:alien –d package.rpm

alien –r , --to-rpm /*Make rpm packages

例:alien –r package.deb

alien –p , --to-pkg /*Make Solaris pkg packages

alien –-to-slp /*Make slp packages

alien –t , --to-tgz /*Make tgz packages

alien –T 检测

ubuntu软件管理工具的使用——dpkg和apt的更多相关文章

  1. Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]

    0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...

  2. 列出ubuntu软件管理工具apt的一些用法(自由总结)

    安装软件包 [root@CentOS7 ~]#apt install tree 删除软件包 [root@CentOS7 ~]# apt remove tree 列出仓库软件包 [root@CentOS ...

  3. ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别

    ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别 一:dpkg dpkg 是一种比较低层的软件包安装管理工具,在安装时,不会安装软件包的依赖关系:只能安装所要求的软件包: ...

  4. ubuntu软件管理apt与dpkg

    目前ubuntu系统主要有dpkg和apt两种软件管理方式两种区别如下 1.dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb ...

  5. Android 软件管理工具类Utils

    Android 软件管理工具类Utils /** * Created by uilubo on 2015/9/30. * 工具类 */ public class Utils { public stat ...

  6. Ubuntu 软件包管理工具 dpkg, APT 的一些命令(转载)

    转载地址: http://www.dreamxu.com/ubuntu-package-dpkg-and-apt-commands/ dpkg dpkg 是由 Debian 开发的包管理系统,是一个比 ...

  7. Linux服务管理(Ubuntu服务管理工具sysv-rc-conf)(转)

    Linux运行级别 Linux系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作. 运行 ...

  8. ubuntu软件管理

    https://www.cnblogs.com/forward/archive/2012/01/10/2318483.html 一.Ubuntu中软件安装方法1.APT方式(联网安装, 需要联网下载软 ...

  9. RPM软件管理工具

    1 概述 RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是RedH ...

随机推荐

  1. sql注入notebook

    内容来自: https://ca0y1h.top/ 联合查询注入 使用场景 页面上有显示位 什么是显示位:在一个在一个网站的正常页面,服务端执行SQL语句查询数据库中的数据,客户端将数据展示在页面中, ...

  2. js html生成图片

    我自己分装好的方法,外链自己去下: /** * !!!使用前请导入jq文件!!! 海报生成, 二维码链接生成 */ document.write('<script src="/Publ ...

  3. vs code 打开文件时,取消文件目录的自动定位跟踪

    文件-->首选项-->设置-->在搜索栏中搜索:explorer.autoReveal;    去掉勾选即可.

  4. Android 5.0系统默认颜色

    伴随着 Android5.0 的发布也更新了support-v7-appcompat 到 V21,其中增加了 ToolBar.recyclerview.cardview 等控件. Android5.0 ...

  5. Mozilla开始推送Firefox Preview 5.0版 支持画中画特性

    Mozilla 发布了 5.0 版本的 Firefox Preview 浏览器,根据 GitHub 上的发布说明,这次更新带来了一系列新的改进.其中包含对五个新的附加组件的支持,引入了对 Progre ...

  6. 47000名开发者每月产生30000个漏洞 微软是如何用AI排查的

    目前微软共有 47000 多名开发人员,每月会产生将近 30000 个漏洞,而这些漏洞会存储在 100 多个 AzureDevOps 和 GitHub 仓库中,以便于在被黑客利用之前快速发现关键的漏洞 ...

  7. RxJava--Buffer,GroupBy 对比

    Buffer 设定收集n个元素为一组,以下方代码为例,三个为一组,则当组满三个元素时,返回一次List数据 没组满三个元素时,如果调用onComplete,直接发送剩余元素,没调用onComplete ...

  8. XmlSerializer .NET 序列化、反序列化

    序列化对象   要序列化对象,首先创建要序列化的对象并设置其公共属性和字段.为此,您必须确定要将XML流存储的传输格式,作为流或文件. 例如,如果XML流必须以永久形式保存,则创建一个FileStre ...

  9. 开发常见错误解决(6)WSE3.0未处理的WebException,未处理的Web异常,基础连接以及关闭...

    开发常见错误解决(6)WSE3.0未处理的WebException,未处理的Web异常,基础连接以及关闭. 我们在调试WSE服务端服务的时候会抛出,未处理的Web异常,基础连接以及关闭的异常信息.如图 ...

  10. #Week7 Neural Networks : Learning

    一.Cost Function and Backpropagation 神经网络的损失函数: \[J(\Theta) = - \frac{1}{m} \sum_{i=1}^m \sum_{k=1}^K ...