zoukankan      html  css  js  c++  java
  • Ubuntu下软件安装的几种方式,apt,dpkg工具的使用

    通常 Linux 上的软件安装主要有四种方式:

    • 在线安装

    • 从磁盘安装deb软件包

    • 从二进制软件包安装

    • 从源代码编译安装

    这几种安装方式各有优劣,而大多数软件包会采用多种方式发布软件,所以我们常常需要全部掌握这几种软件安装方式,以便适应各种环境。下面将介绍前三种安装方式,从源码编译安装你将在 Linux 程序设计中学习到。

     在线安装

    apt-get 是用于处理 apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具:

    工具

    说明

    install

    其后加上软件包名,用于安装一个软件包

    update

    从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表

    upgrade

    升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update

    dist-upgrade

    解决依赖关系并升级(存在一定危险性)

    remove

    移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件

    autoremove

    移除之前被其他软件包依赖,但现在不再被使用的软件包

    purge

    与remove相同,但会完全移除软件包,包含其配置文件

    clean

    移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/

    autoclean

    移除已安装的软件的旧版本软件包

    下面是一些apt-get常用的参数:

    参数

    说明

    -y

    自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用

    -s

    模拟安装

    -q

    静默安装方式,指定多个q或者-q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用

    -f

    修复损坏的依赖关系

    -d

    只下载不安装

    --reinstall

    重新安装已经安装但可能存在问题的软件包

    --install-suggests

    同时安装APT给出的建议安装的软件包

     

    # 更新软件源
    $ sudo apt-get update
    # 升级没有依赖问题的软件包
    $ sudo apt-get upgrade
    # 升级并解决依赖关系 (有崩溃危险)
    $ sudo apt-get dist-upgrade

     

    删除软件
    
    sudo apt-get remove w3m
    
    # 不保留配置文件的移除
    $ sudo apt-get purge w3m
    # 或者 sudo apt-get --purge remove
    # 移除不再需要的被依赖的软件包
    $ sudo apt-get autoremove

     

    本地安装

    使用 dpkg 从本地磁盘安装 deb 软件包

    dpkg 本身是一个底层的工具。上层的工具,像是 APT,被用于从远程获取软件包以及处理复杂的软件包关系。"dpkg"是"Debian Package"的简写。

    dpkg常用参数介绍:

    参数说明
    -i 安装指定deb包
    -R 后面加上目录名,用于安装该目录下的所有deb安装包
    -r remove,移除某个已安装的软件包
    -I 显示deb包文件的信息
    -s 显示已安装软件的信息
    -S 搜索已安装的软件包
    -L 显示已安装软件包的目录信息
    # 使用dpkg安装
    sudo dpkg -i emacs24_24.5+1-6ubuntu1.1_amd64.deb

    跟前面预料的一样,这里你可能出现了一些错误:

    依赖包错误

    这就要用到apt-get了,使用它的-f参数了,修复依赖关系的安装

    sudo apt-get update
    sudo apt-get -f install

    然后就可以安装成功了

  • 相关阅读:
    图的拓扑排序
    线段树+主席树笔记
    树链剖分笔记
    二分图匹配笔记
    最小生成树笔记
    多个storyboard开发应用程序,封装.bundle和.a不用xib使用storyboard!!!
    Storyboard的使用以及使用多个Storyboard的方法
    IOS源码封装成.bundle和.a文件,以及加入xib的具体方法,翻遍网络,仅此一家完美翻译!! IOS7!!(3) 完美结局
    IOS源码封装成.bundle和.a文件,以及加入xib的具体方法,翻遍网络,仅此一家完美翻译!! IOS7!!(2)
    IOS源码封装成.bundle和.a文件,以及加入xib的具体方法,翻遍网络,仅此一家完美翻译!! IOS7!!(1)
  • 原文地址:https://www.cnblogs.com/clemente/p/10462468.html
Copyright © 2011-2022 走看看