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. 随笔之——浮动(float)的影响及其清除、、clear与overflow-hidden清除float的不同!!!

    一.浮动(float)对内联元素的影响. 1.我们都知道,内联元素(例如:span/img/input...)在正常情况下不可以对其设置宽高的,它的大小之只和它内部内容的多少有关. 我们怎样才可以对其 ...

  2. php原生函数应用

    php常见基本的函数 一.字符串函数 implode — 将一个一维数组的值转化为字符串 lcfirst — 使一个字符串的第一个字符小写 ltrim — 删除字符串开头的空白字符(或其他字符) rt ...

  3. 2019-2020-1 20199328《Linux内核原理与分析》第一周作业

    Windows和Linux在收费方面,软件知识方面,安全性.使用习惯.可定制性上以及应用范畴上都有所不同,UNIX/Linux操作系统下的Shell既是用户交互的界面,也是控制系统的脚本语言,其中Ub ...

  4. Babel 在浏览器环境使用方法

    Babel 也可以用于浏览器环境.但是,从 Babel 6.0 开始,不再直接提供浏览器版本,而是要用构建工具构建出来.如果你没有或不想使用构建工具 1.通过安装5.x版本的babel-core模块获 ...

  5. Django项目打包

    Django项目打包 这是目前开发完成的project目录树.我们要打包其中的polls app. (v_python3.6) thinkt@linux-pw37:~/PycharmProjects/ ...

  6. RAID、LVM和btrfs文件系统

    一.RAID: Redundant Arrays of Inexpensive Disks,廉价磁盘冗余阵列: Redundant Arrays of Independent Disks,独立磁盘冗余 ...

  7. Java 类类型之 String 类型

    类类型 引用数据类型存的都是地址,通过地址指向对象: 基本数据类型存的都是具体值: 字符串 (String) 类型 特点: 1.字符创都是对象: 2.一旦初始化,不能被更改,字符串缓冲区支持可变的字符 ...

  8. document.documentElement.scrollTop指定位置失效解决办法

    近期在vue的H5项目中,做指定位置定位的时候发现使用document.documentElement.scrollTop一直不生效. 解决办法是document.documentElement.sc ...

  9. Codeforces Round #509 (Div. 2) A. Heist 贪心

    There was an electronic store heist last night. All keyboards which were in the store yesterday were ...

  10. [USACO1.5]回文质数 Prime Palindromes

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...