今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的“.deb”格式的安装文件google-chrome-stable.deb双击后或者右键快捷菜单选择 Synaptic Package Manager 打开时均提示错误,改用命令的方式安装:

dpkg -i  google-chrome-stable.deb

提示缺少一个依赖的软件包,按照提示安装完成后 Google Chrome浏览器顺利的安装完成。鉴于我们搞开发的人士或者一些linux爱好者需要时常在linux系统中安装一些软件,在此,对相关问题做一总结,以利己利人。

首先介绍两个简单的方式

第一:sudo apt-get install packagename 命令

如果我们知道我们要安装的软件的确切的名称,那么我们可以简单的通过此条命令来获取和安装软件。apt-get是一条linux命令,适用于deb
包管理式的操作系统,如ubuntu,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件。apt-get命令一般需要root执行,所以一般
跟着sudo命令。

一些常用的apt命令参数(更具体的可参见相关的帮助文档):

apt-cache search package 搜索包
    apt-cache show package 获取包的相关信息,如说明、大小、版本等
    sudo apt-get install package 安装包
    sudo apt-get install package - - reinstall 重新安装包
    sudo apt-get -f install 修复安装"-f = - -fix-missing"
    sudo apt-get remove package 删除包
    sudo apt-get remove package - - purge 删除包,包括删除配置文件等
    sudo apt-get update 更新源
    sudo apt-get upgrade 更新已安装的包
    sudo apt-get dist-upgrade 升级系统
    sudo apt-get dselect-upgrade 使用 dselect 升级
    apt-cache depends package 了解使用依赖
    apt-cache rdepends package 是查看该包被哪些包依赖
    sudo apt-get build-dep package 安装相关的编译环境
    apt-get source package 下载该包的源代码
    sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    sudo apt-get check 检查是否有损坏的依赖

第二: 通过Synaptic Package Manager

中文名称叫做新立得软件包管理器,起源于Debian,是dpkg命令的图形化前端,或者说是前端软件套件管理工具。它能够在图形界面内完成
linux系统软件的搜寻、安装和删除,相当于终端里的apt命令。在ubuntu最近的长期支持版里已经预装了新立得软件包管理器。在没有安装它的系统
中,可以通过apt-get install synaptic 进行安装。

要运行新立得,点击系统 > 系统管理 > 新立得软件包管理器(System > Administration >
Synaptic Package
Manager)不同版本的Ubuntu进入Synaptic的方式可能会有所不同,不同版本的Synaptic也会存在一点点差异,但总体来讲是大同小
异,包管理器的使用方法也非常简单,完全是图形化的界面,摸索几次边一目了然,遇到不能解决的问题时可参考其帮助文档。此方法的缺点就是比较慢,尤其对于
一些开发人士来讲,另外,一些比较小众化的,不叫特殊的软件也不一定在此处找的到,这是我们就学要手动去下载一些软件来自行安装了。

如果不是通过上如两种方式来安装软件的话,便是通过自己下载所需软件然后手动安装了。我们下载到的软件无是“.deb”,".bin",".rpm"".tar.gz"这些格式,我们对此进行一一的说明:

1、”“.deb” 格式是Ubuntu可安装的类型,我们可以通过直接双击该格式的文件进行安装,就行Windows系统中的“.exe”安装程序一样。当然,我们也可以通过dpkg命令来安装我们下载好的软件,例如:

dpkg -i xxx.deb

其中参数 “-i” 表示安装的意思。dpkg的用法如下:

dpkg   [<选项>]  [参数]  软件全名

其中,选项可省,比如上例,更具体的用法请参阅其帮助文档(dpkg -h 或者 dpkg --help)。

2、'.rpm'格式是Red Hat Package Manager的简称,此工具包最先是由Red
Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。在
Ubuntu上不能双击运行“.rpm”格式的软件包,一般的方法是我们用alien把rpm转换为deb格式后再安装。Ubuntu没有默认安装
alien,所以先安装alien,命令为:

sudo apt-get install alien(详细参数可参见其帮助文档)

然后用alien命令进行转换:

sudo alien xxx.rpm (详细参数可参见其帮助文档)

这一步以后会生成一个同名的xxx.deb文件, 然后就可以双击或者通过dpkg命令安装了,但是这种方式不能保证100%成功。另外我们也可以在Ubuntu系统中安装RPM包管理器,通过rpm命令来安装,删除“.rpm”格式的软件包。命令用法如下:

rpm 参数 软件包名

常用的一些rpm命令参数如下(详细参数可参见其帮助文档):

-i 安装软件包;
-e 移除软件包
 -vh:显示安装进度;
 -U:升级软件包;
 -qpl:列出RPM软件包内的文件信息;
 -qpi:列出RPM软件包的描述信息;
 -qf:查找指定文件属于哪个RPM软件包;
 -Va:校验所有的RPM软件包,查找丢失的文件;
 -qa: 查找相应文件

3、有时候,我们会下载到一些“.bin”格式的文件,如最近下载安装的 jdk-6u32-linux-i586.bin。对于这种类型的文件,我们一般赋予其可执行的属性,命令为:

chmod +x 文件名(具体用法可参见其帮助文档)

然后直接在命令行中执行该文件既可,比如我的当前目录下含有具有可执行属性的jdk-6u32-linux-i586.bin,直接执行

./jdk-6u32-linux-i586.bin

命令既可。当然,不同的软件可能还会有一些后续的命令,这个要以具体情况而定,比如安装这个jdk-6u32-linux-i586.bin就需要执行一些额外的后续命令来进行相关的配置。这个依照每个软件官方给出的指示,一步步执行既是。

4、最后要说的是“tar.gz”或者“.tar.bz2”这种格式的文件.“tar.gz”或者“.tar.bz2”一般情况下都是源代码的安装包,对于此种类型的软件包,我们一般先要通过命令将压缩包解压,然
后才能进行编译,继而进行安装。以”.tar.gz“格式为例,我们先要执行

tar -zxvf FileName.tar.gz

以解压软件包,然后通过执行

./configure

来进行配置,执行

make

来进行编译,执行make install

来进行安装,这里边每条命令都有详细的参数以完成完善复杂的功能,详请参阅每个命令的帮助文档。

谈完了安装接下来谈一谈如何卸载软件把。随着时间的推移我们不可避免要卸载掉一些软件,所以,掌握这些方法也是非常有必要的。

一开始,我们讲了两种简单的安装软件包的方法,与此对应,有两种简易的移除软件包的方式:

1、apt命令

移除式卸载,移除软件包:apt-get remove xxx
清除式卸载,把与软件安装有关的配置一起卸载:apt-get --purge remove xxx

2、通过Synaptic Package Manager

简单的图形化界面,非常容易。找到要移除的软件包,点击移除(Remove)既可

还有一些其他的移除方式,如

dpkg方式:
移除式卸载:dpkg -r xxx
清除式卸载:dpkg -P xxx

rpm方式:
rpm -e xxx

尽管已经说得非常详细了,不过相信很多同人在进行这些操作时仍然会遇到诸多问题,此时我们应当保持冷静,应当通过输出内容认真分析造成错误的原因,参阅相应的帮助文档,或者像互联网求助,问题一定能得以解决。要多加培养分析解决问题的能力!

如何在Ubuntu下安装”.deb“、”.bin“、”.tar.gz“、”.tar.bz2“格式的软件包!的更多相关文章

  1. Ubuntu 静默安装DEB包(非交互式)~解决Ubuntu下安装DEB包弹窗交互的问题

    在Ubuntu环境下安装DEB包时,比如安装MySQL式经常会弹出交互式要输入密码的操作.有时候我们期望编写Shell脚本一键部署MySQL时不想要弹窗交互时,则可以使用以下方式实现自动化安装Deb软 ...

  2. ubuntu下安装.deb包的安装方法

    ubuntu16.04的软件中心应该是有bug,安装不了第三方.deb文件,我们只有使用dpkg -i 或者gdebi的方式安装,我使用的是后者,因为后者功能更加强大.要使用gdebi命令先要安装它: ...

  3. Ubuntu下安装deb包命令

    原文地址:http://www.xitongzhijia.net/xtjc/20150206/37464.html 1.下载需要安装的deb包,输入以下命令安装: sudo dpkg -i packa ...

  4. 在Ubuntu下安装deb包需要使用dpkg命令

    Dpkg 的普通用法: 1.sudo dpkg -i <package.deb> 安装一个 Debian 软件包,如你手动下载的文件. 2.sudo dpkg -c <package ...

  5. 如何在ubuntu下安装合适的翻译词典

    http://jingyan.baidu.com/article/9faa7231523dd6473c28cb3f.html

  6. 【起航计划ObjC 002】印第安老斑鸠ObjC的幻想 ---- Ubuntu下安装并使用MAC虚拟机

    本文介绍如何在Ubuntu下安装Mac OS X Mavericks系统.具体如下: 1)安装前准备工作 下载Mac OS X Mavericks系统,地址:http://pan.baidu.com/ ...

  7. Ubuntu下安装Tensorflow

    本文目录 引言 基于Anaconda的tensorflow安装 1 下载linux版本的Anaconda安装包 2 安装Anaconda 利用anaconda安装tensorflow 1 建立一个 c ...

  8. 如何在ubuntu下使用windows下的程序(eg: .exe)

    为了在ubutu下安装百度云管家,上网查了下如何在ubuntu 下安装.exe文件,其中遇到一些问题记录如下: 使用的命令: 开始时直接使用的sudo apt-get install wine 在运行 ...

  9. Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法

    Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法: https://blog.csdn.net/mingjie1212/article/details/485250 ...

随机推荐

  1. Android视频直播解决方案(rstp、udp)

    做局域网视频直播有两种方案,通过rstp或udp协议. 1.rstp协议,网络上有个开源项目,基于Android,且这个项目也是一个服务端,里面也集成了http访问页面,可以通过http或者rstp直 ...

  2. poj1787Charlie's Change(多重背包+记录路径+好题)

    Charlie's Change Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3720   Accepted: 1125 ...

  3. $.ajax返回的JSON格式的数据后无法执行success的解决方法

    近段时间做项目,在项目使用了ajax技术,遇到了一个奇怪的问题:"$.ajax返回的JSON格式的数据无法执行success",代码是这样写的: 1 $.ajax({ 2 .. 3 ...

  4. SmartImageView&常见的开源代码

    1)说明: 该控件实现图片的显示----网络路径也可以显示出来---加载完成之后 就可以 缓存到内存里面!

  5. abstract class和interface 知多少!!!

    1.相同点   A. 两者都是抽象类,都不能实例化.   B. interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法. 2. 不同点   A. interface需 ...

  6. Virtualbox虚拟机安装Ubuntu图文版

    这篇文章给大家介绍一下如何在Windows系统下的Virtual Box虚拟机软件中安装Ubuntu系统. 适用环境:Windows系统作为物理机,在此平台上搭建一个Virtual Box虚拟平台,在 ...

  7. 菲涅尔反射(Fresnel Reflection)

    离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光 ...

  8. tcp 重发 应用层重传

    采用TCP时,应用层需要超时重传吗? 需要,原因如下: 1 tcp的超时控制不是你能设置的,所有的tcp超时都是用系统的时间设定,而且这个时间很长,超时的结果就是断开连接.和你应用要达到的目的显然差很 ...

  9. css获取实时样式

    function getStyle(elem,styleName){ if(elem.style[styleName]){//内联样式 return elem.style[styleName]; } ...

  10. ashx 获取ajax Post到后台json数据

    前台页面代码: var json = [{ "Name": "Pavan Kumar Pabothu", "Age": 27, " ...