dpkg安装以及卸载软件

deb文件是linux发行版debian系统的安装包格式,还有像基于debian系统的发型版ubuntu等系统就是使用的deb格式安装包,我们可以使用dpkg命令进行安装管理这些deb安装包文件。

方法/步骤
Ubuntu安装软件
这里我使用的ubuntu系统做演示,首先把deb文件放到一个文件夹中,例如我这里的dolphin_emu文件。

在文件夹里右键“在终端打开”。

3. 使用dpkg命令进行安装。

sudo dpkg -i deb文件名

4. 根据经验,通常情况下会报依赖关系的错误,我们可以使用以下的命令修复安装。

sudo apt-get install -f

sudo dpkg -l     查看已经安装的软件

Ubuntu卸载软件
如果要卸载安装的应用我们通过“sudo dpkg -l”查看已经安装的软件,并找到自己的安装的软件名。

最后使用”sudo dpkg -r 软件名“进行卸载。

apt-get方法

apt-get 命令是 Ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本。本文介绍 apt-get 命令的基本用法,演示环境为 Ubuntu 18.04。

基本语法
语法格式:
apt-get [options] command

配置文件:
早期 apt-get 默认的配置文件为 /etc/apt/apt.conf,但是当前的 Ubuntu 系统中默认没有这个文件。
如果 /etc/apt/apt.conf 文件存在,apt-get 仍然会读取它。但现在的设计思路是把配置文件分隔后放置在 /etc/apt/apt.conf.d 目录下,这样更容易管理。

常用选项:

-h, --help              // 查看帮助文档
-v, --version // 查看 apt-get 的版本
-y // 在需要确认的场景中回应 yes
-s, --dry-run // 模拟执行并输出结果
-d, --download-only // 把包下载到缓存中而不安装
--only-upgrade // 更新当前版本的包而不是安装新的版本
--no-upgrade // 在执行 install 命令时,不安装已安装包的更新
-q, --quiet // 减少输出
--purge // 配合 remove 命令删除包的配置文件
--reinstall // 重新安装已安装的包或其新版本

常用子命令:
update
update 命令用于重新同步包索引文件,/etc/apt/sources.list 文件中的配置指定了包索引文件的来源。更新了包索引文件后就可以得到可用的包的更新信息和新的包信息。这样我们本地就有了这样的信息:有哪些软件的哪些版本可以从什么地方(源)安装。
update 命令应该总是在安装或升级包之前执行。

install
install 命令用来安装或者升级包。每个包都有一个包名,而不是一个完全限定的文件名(例如,在 Debian 系统中,提供的参数是 apt-utils,而不是 apt-utils_1.6.1_amd64.deb)。被安装的包依赖的包也将被安装。配置文件 /etc/apt/sources.list 中包含了用于获取包的源(服务器)。install 命令还可以用来更新指定的包。

upgrade
upgrade 命令用于从 /etc/apt/sources.list 中列出的源安装系统上当前安装的所有包的最新版本。在任何情况下,当前安装的软件包都不会被删除,尚未安装的软件包也不会被检索和安装。如果当前安装的包的新版本不能在不更改另一个包的安装状态的情况下升级,则将保留当前版本。必须提前执行 update 命令以便 apt-get 知道已安装的包是否有新版本可用。
注意 update 与 upgrade 的区别:
update 是更新软件列表,upgrade 是更新软件。

dist-upgrade
除执行升级功能外,dist-upgrade 还智能地处理与新版本包的依赖关系的变化。apt-get 有一个 "智能" 的冲突解决系统,如果有必要,它将尝试升级最重要的包,以牺牲不那么重要的包为代价。因此,distr -upgrade 命令可能会删除一些包。因此在更新系统中的包时,建议按顺序执行下面的命令:
$ apt-get update
$ apt-get upgrade -y
$ apt-get dis-upgrade -y

remove
remove 与 install 类似,不同之处是删除包而不是安装包。注意,使用 remove 命令删除一个包会将其配置文件留在系统上。

purge
purge 命令与 remove 命令类似,purge 命令在删除包的同时也删除了包的配置文件。

autoremove
autoremove 命令用于删除自动安装的软件包,这些软件包当初是为了满足其他软件包对它的依赖关系而安装的,而现在已经不再需要了。

download
download 命令把指定包的二进制文件下载到当前目录中。注意,是类似 *.deb 这样的包文件。

clean
clean 命令清除在本地库中检索到的包。它从 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 目录删除除锁文件之外的所有内容。

autoclean
与 clean 命令类似,autoclean 命令清除检索到的包文件的本地存储库。不同之处在于,它只删除不能再下载的软件包文件,而且这些文件在很大程度上是无用的。这允许长时间维护缓存,而不至于大小失控。

source
source 命令下载包的源代码。默认会下载最新可用版本的源代码到当前目录中。

changelog
changelog 命令尝试下载并显示包的更新日志。

常见用法

查看帮助文档

$ apt-get -h

更新包索引文件

$ sudo apt-get update

安装包

$ sudo apt-get install nginx

在需要确认的场景中回应 yes
多数包在安装前都需要与用户交互,在用户确认后才继续安装。而在自动化的任务中是没办法与用户交互的。-y 选项可以在这样的场景中发挥作用,其效果就像是用户确认了安装操作一样:

$ sudo apt-get install -y nginx

安装系统中有更新的包

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get dis-upgrade -y

重新安装已安装的包
如果我们认为一个包工作不正常,可以尝试重新安装它,为 install 命令添加 --reinstall 选项就可以了。另外,如果已安装的包有了更新或新版本,也可以用这个方法把包升级到最新的版本:

$ sudo apt-get install --reinstall curl

更新指定的包
比较奇怪的是更新指定的包居然不是通过 upgrade 命令完成的,而是使用 intall 命令,注意:是 install 命令:

$ sudo apt-get install vim

模拟执行命令并输出结果
应用 -s 选项后命令并不会真正执行,��是会模拟执行并输出结果,比如下面的例子:

$ sudo apt-get update
$ sudo apt-get -s upgrade

添加 -s 选项后,upgrade 命令会输出将要被更新的软件但不会真的执行升级操作。

检查某个包的版本
通过下面的命令可以查看已安装包或即将安装包的版本:

$ sudo apt-get -s install vim

下面是一个已安装包的例子:

下面是一个未安装包的例子:

安装指定版本的包
注意,这里指的是包的版本号:

$ sudo apt-get install tree=1.7.0-5

把包下载到缓存中而不安装
选项 -d, --download-only 告诉命令只把包下载到缓存中而不安装它们,主要用在把下载包和安装包分开的场景,比如系统默认的自动化更新:

$ sudo apt-get install -d nginx
$ sudo apt-get upgrade -d
$ sudo apt-get dist-upgrade -d

删除包
remove 命令的特点是只删除程序文件,保留相关的配置文件:

$ sudo apt-get remove vim

如果要彻底清除包,可以使用 purge 命令,它会同时删除程序文件及其配置文件:

$ sudo apt-get purge vim

autoremove 命令用于删除自动安装的软件包,这些软件包当初是为了满足其他软件包对它的依赖关系而安装的,而现在已经不再需要了。因此在删除包后执行一下 autoremove 是个不错的选择:

$ sudo apt-get autoremvoe

清除系统中缓存的包安装文件
安装包的过程实际上是先把包安装文件下载到缓存目录,然后执行安装。久而久之系统中会存在大量无用的包安装文件,clean 命令可以清除这些缓存的包安装文件:

$ sudo apt-get clean

clean 命令从 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 目录删除除锁文件之外的所有内容。

autoclean 命令与 clean 命令类似。不同之处在于,它只删除不能再下载的软件包文件,而且这些文件在很大程度上是无用的。这允许长时间维护缓存,而不至于大小失控:

$ sudo apt-get autoclean

在执行 remove 命令时使用 --purge 选项的效果等同于执行 purge 命令:

$ sudo apt-get remove --purge vim

在执行  install/remove 命令时使用 --autoremove 选项,可以同时删除无用的依赖包,类似在执行完  install/remove 命令后再执行一次 autoremove 命令:

$ sudo apt-get remove --autoremove vim

在执行 install/upgrade 命令时显示更详细的版本信息
通过 -V 选项,可以让 install/upgrade 命令输出包的具体版本,下面是默认的输出:

$ sudo apt-get upgrade -s

下面是添加 -V 选项后的输出:

$ sudo apt-get upgrade -V -s

减少输出
既然可以增加详细的输出信息,也可以灵活地使用 -q 选项来减少输出的信息:

$ sudo apt-get install  -q curl
$ sudo apt-get install -q=2 curl

查看已安装包的更改日志
可以通过 changelog 命令来查看包的更新记录:

$ apt-get changelog tree

下载包的源代码(source code)
apt-get source 命令用来下载包的源代码。要让 apt-get source 命令起作用需要先更新 /etc/apt/sources.list 文件,添加 deb-src 配置,其实就是取消掉原本被注释掉的以 deb-src 开头的行。在 desktop 版的系统中,还可以通过  "Software & Updates" UI 来做同样的事情,在 "Ubuntu Software" 选项卡中选中 "Source code" 项即可:

现在再执行 apt-get source 命令并指定包的名称,就可以下载到该包的源代码了:

$ apt-get source tree

查看 apt-get 的版本

$ apt-get -v

这里显示的居然是 apt,太奇葩了!接着看:

原来 apt-get、apt-cache 和 apt-config 的功能都是由 apt 命令提供的。

查看系统的更新记录
日志文件 /var/log/apt/history.log 记录了系统的更新历史记录。通过它可以查看所有通过 apt 命令执行的安装、升级、删除记录:

$ less /var/log/apt/history.log

ubuntu安装以及卸载软件的更多相关文章

  1. ubuntu安装和卸载软件命令

    ubuntu安装和卸载软件命令 Ubuntu软件安装与删除相关命令 安装软件 命令: apt-get install softname1 softname2 softname3…… 卸载软件 命令: ...

  2. 教你一招:解决win10/win8.1系统在安装、卸载软件时出现2502、2503错误代码的问题

    经常遇到win10/win8.1系统在安装.卸载软件时出现2502.2503错误代码的问题. 解决办法: 1.打开任务管理器后,切换到“详细信息”选项卡,找到explore.exe这个进程,然后结束进 ...

  3. Linux安装、卸载软件

    在linux环境中,尤其是cenos中安装过一些软件,一般是二进制安装与源码安装,现小结一下linux中的安装与卸载. 一.通常Linux应用软件的安装包有三种: 1) tar包,如software- ...

  4. 【转】CentOS yum安装和卸载软件的使用方法

    在CentOS yum安装和卸载软件的使用方法安装方法安装一个软件时.   CentOS yum -y install httpd安装多个相类似的软件时   CentOS yum -y install ...

  5. yum安装于卸载软件常见命令

    1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...

  6. 在Centos中yum安装和卸载软件的使用方法(转)

    在Centos中yum安装和卸载软件的使用方法 安装方法 安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软 ...

  7. ubuntu安装和常用软件推荐

    ubuntu安装和常用软件推荐(个人整理) 2016.08.22 17:29 13811浏览 字号 安装一套双系统,win10打游戏,ubuntu开发,win10放机械,ubuntu放固态,电脑联想i ...

  8. 在Centos中yum安装和卸载软件的使用方法(转载)

    转自: http://gzmaster.blog.51cto.com/299556/72278 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. ...

  9. yum安装与卸载软件常见命令

    1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...

随机推荐

  1. spring lookup method 注入

           lookup method注入是spring动态改变bean里方法的实现.方法执行返回的对象,使用spring内原有的这类对象替换,通过改变方法返回值来动态改变方法.内部实现为使用cgl ...

  2. SQL SERVER 查询第20行到30之间的数据

    1.先查询前20行的ID,后查询除去20条记录的前10条记录 SELECT TOP * FROM tbBank WHERE BankID NOT IN(SELECT TOP BankID FROM t ...

  3. 分布式可扩展存储系统 BaikalDB

    BaikalDB是一个分布式可扩展的存储系统,支持PB级结构化数据的随机实时读写. 提供MySQL接口,支持常用的SELECT,UPDATE,INSERT,DELETE语法.提供各种WHERE过滤.G ...

  4. Win10远程桌面 报错:CredSSP加密Oracle修正……

    解决方法: 运行 gpedit.msc 本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择易受攻击. 参考: https://blog.c ...

  5. SIGAI深度学习第九集 卷积神经网络3

    讲授卷积神经网络面临的挑战包括梯度消失.退化问题,和改进方法包括卷积层.池化层的改进.激活函数.损失函数.网络结构的改 进.残差网络.全卷机网络.多尺度融合.批量归一化等 大纲: 面临的挑战梯度消失问 ...

  6. pyinstaller打包程序包含openpyxl库问题解决

    带有openpyxl库时,直接打包,总会失败: 原因:看本地文件...Anaconda3\Lib\site-packages\PyInstaller\hooks\hook-openpyxl.py 发现 ...

  7. cdh版hbase构建Phoenix 遇到的坑

    Phoenix 构建cdh版hbase遇到的坑 1. 安装phoenix 下载:在github上下载对应版本https://github.com/apache/phoenix 解压:略 编译: 修改根 ...

  8. phpstorm+xdebug安装配置

    这个问题也困惑了我好久 烦死了 今天看了qing师傅的博客 跟着安装 运行环境: phpStorm 2018 PHP 5.45 nts VC9 Xdebug 2.4.1 0x01 PHP安装xdebu ...

  9. Leetcode题目287.寻找重复数(中等)

    题目描述: 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. 示例 1: 输入 ...

  10. CISCO实验记录七:OSPF

    一.要求 1.使用OSPF创建路由表 2.查看OSPF邻居 二.实现 1.使用OSPF创建路由表 #router ospf 1 #network 192.168.1.0 0.0.0.255 area ...