zoukankan      html  css  js  c++  java
  • ubuntu软件管理工具的使用——dpkg和apt

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

    rpm包是在RedhatSuseFedora可以直接进行安装,但在Ubuntu中却无法识别;

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

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

    (1)软件包管理机制

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

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

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

    3.Ubuntu下主要有apt-getdpkg两个软件管理工具,前者用的最多,aptapt-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-getapt)的基本使用

    • 安装软件 apt-getaptinstall softname1 softname2 softname3...
    • 卸载软件 apt-getaptremove softname1 softname2 softname3...
    • 卸载并清除配置 apt-getaptremove --purge softname1
    • 更新软件信息数据库apt-getaptupdate
    • 更新软件本身 apt-getaptupgrade
    • 修正依赖关系 apt-getapt-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-getget)一样,是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 检测

  • 相关阅读:
    在包a中新建一个类A,在类A中有一个int add(int m)方法,用来求1+2+…+m 的和。在包b中新建一个类B,在类B中有一个int cheng(int n)方法,用来求n! 的结果。在包c中新建一个主类C,调用A、B中的方法输出1+2+…+30的和, 以及5!的计算结果。
    在包a中编写一个类Father,具有属性:年龄(私有)、姓名(公有); 具有功能:工作(公有)、开车(公有)。 在包a中编写一个子类Son,具有属性:年龄(受保护的)、姓名; 具有功能:玩(私有)、学习(公有)。 最后在包b中编写主类Test,在主类的main方法中测试类Father与类Son。
    简单且线程安全的两个单例模式java程序
    Condition的优点
    Java设计模式—生产者消费者模式(阻塞队列实现)
    Java NIO使用及原理分析 (一)
    一步步优化JVM五:优化延迟或者响应时间(1)
    UML 类图
    Eclipse中构建Fluent风格到Formatter
    Memcache 问题集锦
  • 原文地址:https://www.cnblogs.com/yuhuang/p/12030226.html
Copyright © 2011-2022 走看看