【摘要】 Linux系统上安装软件的方法和在windows上安装软件是有很大不同的,有时候Linux上安装软件碰到各种依赖不满足,是极为头疼的事情,下面盘点一下Linux上安装软件的几种方法,笔者基本上用的是ubuntu,所以主要讲Ubuntu上的软件安装方法,主要有以下几种方法:(1)apt-get(2)deb包安装(3)源码编译安装将分成独立的几个篇章来进行讲解。方法一:成也萧何,败也萧何 的ap...

Linux系统上安装软件的方法和在windows上安装软件是有很大不同的,有时候Linux上安装软件碰到各种依赖不满足,是极为头疼的事情,下面盘点一下Linux上安装软件的几种方法,笔者基本上用的是ubuntu,所以主要讲Ubuntu上的软件安装方法,主要有以下几种方法:

(1)apt-get

(2)deb包安装

(3)源码编译安装

将分成独立的几个篇章来进行讲解。

方法一:成也萧何,败也萧何 的apt-get

要在ubuntu上安装软件,apt-get是一个很强大的工具,很多软件都可以使用该工具进行安装。但是Linux发行版本众多,apt-get的软件源更新没有跟上节奏,可能以前能装上的软件,后来就各种依赖不满足装不上了。我们先来看看apt-get的基本用法,再来看看如何解决依赖不满足的情况。

使用apt-get之前,需要配置软件源,软件源就是一个服务器地址列表,存储在/etc/apt/sources.list中,默认服务器是http://us.archive.ubuntu.com,你也可以网上查找一些国内Linux软件源服务器的地址,修改更新到/etc/apt/sources.list中,更改方法在网上可以查到很多文章。

配置好软件源之后,要进行sudo apt-get update,意思是从软件源服务器更新软件源信息,知道软件源上有哪些软件。做完这些后,apt-get就可以正式使用了,有如下常用的命令。

(1)安装或重装类操作

apt-get install <pkg>              # 安装软件包<pkg>,多个软件包用空格隔开

apt-get install --reinstall <pkg>  # 重新安装软件包<pkg>

apt-get install -f <pkg>           # 修复安装(破损的依赖关系)软件包<pkg>

(2)卸载

apt-get remove <pkg>  # 删除软件包<pkg>(不包括配置文件)

apt-get purge <pkg>   # 删除软件包<pkg>(包括配置文件)

(3)升级 —— 一定要慎用!一定要慎用!一定要慎用!

apt-get upgrade       # 更新所有已安装的包

apt-get dist-upgrade  # 发行版升级(如,从10.10到11.04)

更新到最新的软件包或发行版不一定是好事,可能导致你系统上安装的其他东西(各种库文件、代码、软件)都无法使用了

笔者从来没有使用过这两个命令,因为行为不可控、结果也不可控

要升级某个软件包的话,就使用apt-get install --reinstall <pkg>,pkg名字里指定版本号

(4)下载或清除

apt-get source <pkg>     # 下载pkg包的源代码到当前目录

apt-get download <pkg>   # 下载pkg包的二进制包到当前目录

apt-get source -d <pkg>  # 下载完源码包后,进行编译

apt-get build-dep <pkg>  # 构建pkg源码包的依赖环境(编译环境?)

apt-get clean            # 清除缓存(/var/cache/apt/archives/{,partial}下)中所有已下载的包

apt-get autoclean        # 类似于clean,但清除的是缓存中过期的包(即已不能下载或者是无用的包)

apt-get autoremove       # 删除因安装软件自动安装的依赖,而现在不需要的依赖包

(5)查询

apt-cache stats              # 显示系统软件包的统计信息

apt-cache search <pkg>       # 使用关键字pkg搜索软件包

apt-cache show   <pkg_name>  # 显示软件包pkg_name的详细信息

apt-cache depends <pkg>      # 查看pkg所依赖的软件包

apt-cache rdepends <pkg>     # 查看pkg被那些软件包所依赖

打开/var/log/apt/history.log,可以查看apt-get的软件安装记录

ubuntu上apt-get安装的软件包都缓存放在/var/cache/apt/archives,该目录里还会存放曾经下载过的deb安装包,但是这里的deb安装包不一定是完整可独立完整的,如果要使用deb包,还是通过正常方式下载完整的deb包进行安装更安全。

(6)apt-get intall报依赖关系不满足的解决办法

使用sudo apt-get intall xxx的时候,有时候会碰到错误提示:要安装的某个软件xxx依赖于另一个软件xxx-x.x.x,但是不会被安装,这类错误提示一般就是指被依赖软件已经被安装了,但是版本号对不上,其实绝大多数依赖关系不满足的情况就是由于版本号对不上导致的,可以通过以下步骤解决:

a) sudo apt-get update          # 更新软件源,软件安装不上,可能是有了更新

sudo apt-get -f install xxx  # -f选项表示以修复方式安装,先尝试这样方式,即使失败了也不影响

b) sudo apt-get --reinstall install xxx=xxx.1.2.3  # 根据错误提示,提示说依赖于哪个xxx.1.2.3,我们就重新装上那个软件包

如果以上方法还不行,可能是软件源配置不对,获取不到匹配的版本,需要修改/etc/apt/sources.list,这时候就需要上网查一下修改办法。

最后补充一下下,如果你使用的是带有桌面界面的Ubuntu系统,那么可以使用自带的Ubuntu软件中心进行软件的安装,也可以用Ubuntu软件中心安装一个新立得软件包管理器,新立得是图形化的apt-get管理工具。不管是Ubuntu软件中心还是新立得,还是可能会遇到依赖不满足的问题,还是得通过命令行的方式来解决依赖问题。个人认为,Linux毕竟是Linux,即使是Linux新手,也得减少对图形化操作界面的使用,毕竟最后很多事情还是要落到命令行界面上来解决。

Linux软件安装的几种方法 (一)—— apt-get相关推荐

  1. Linux软件安装的几种方法 (三)—— 源码安装

    [摘要] Linux系统上安装软件的方法和在windows上安装软件是有很大不同的,有时候Linux上安装软件碰到各种依赖不满足,是极为头疼的事情,下面盘点一下Linux上安装软件的几种方法,笔者基本 ...

  2. Linux软件安装的几种方法 (二)—— deb包安装

    [摘要] Linux系统上安装软件的方法,文末放一个福利,可搜索所有linux平台软件包的网址:https://pkgs.org/,非常.非常.非常强大!笔者发现这个网址的时候,激动到不能自已,妈妈再 ...

  3. 【华为云技术分享】Linux软件安装的几种方法 (一)—— apt-get

    Linux系统上安装软件的方法和在windows上安装软件是有很大不同的,有时候Linux上安装软件碰到各种依赖不满足,是极为头疼的事情,下面盘点一下Linux上安装软件的几种方法,笔者基本上用的是u ...

  4. linux安装deb程序,Linux软件安装的几种方法 (二)—— deb包安装

    Linux系统上安装软件的方法和在windows上安装软件是有很大不同的,有时候Linux上安装软件碰到各种依赖不满足,是极为头疼的事情,下面盘点一下Linux上安装软件的几种方法,笔者基本上用的是u ...

  5. Linux软件安装的几种常见方式介绍

    Linux上的软件安装有以下几种常见方式介绍 1. 二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2. RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布, ...

  6. 【Linux入门到精通系列讲解】Centos 7软件安装的三种方式

    centos 软件安装的三种方式 Linux下面安装软件的常见方法: 一.yum 替你下载软件 替你安装 替你解决依赖关系 点外卖 缺少的东西 外卖解决 1.方便 简单 2.没有办法深入修改 yum ...

  7. Linux软件安装方法小结

    Linux软件安装方法小结(附:rpm详解) 在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :- ...

  8. 【转】Linux下软件安装的几种方式

    转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...

  9. linux软件安装方法

    在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1)一种是软件的源代码,您需要自己动手编译它.这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz). 2)另一种是 ...

最新文章

  1. SVN之版本控制系统
  2. Android中Preference的使用以及监听事件分析
  3. jsp页面定义的map
  4. java 树状数组模板源码
  5. OpenCV 基本绘制Basic Drawing
  6. 15分钟为自己架设优雅如Github的代码仓库
  7. [Vue warn]: Invalid prop: custom validator check failed for prop xxx.问题
  8. 工厂方法模式_1天1个设计模式——工厂方法模式
  9. docker学习指南
  10. 如何选择漏电保护器规格型号_电涌保护器(SPD)选择有哪几个关键的参数?SPD如何使用和安装?...
  11. android 缓冲区,android – 超过最小排队缓冲区数
  12. videojs学习随笔记录
  13. Linux/Unix文件系统索引节点浅析
  14. PHP常用函数性能对比
  15. 搭建一个网站的价格以及步骤全面解读
  16. 记一次:java实现excel转图片
  17. logistic回归分析优点_漫谈数据分析之建模算法
  18. 笔记本ThinkPad E430c加装内存和SSD固态硬盘
  19. 微信京东手机怎么联系客服人工服务器,微信人工客服电话是多少?打不通怎么办?...
  20. C. The Intriguing Obsession(神仙组合数)

热门文章

  1. css表格设置行列的颜色,CSS:为表格中的选定行设置颜色
  2. C#-JSON的序列化和反序列化
  3. android 元素点击位置,appium自动化操作之元素定位点击事件全家桶(find_element_by、find_elements_by)...
  4. Jupyter修改默认文件保存路径
  5. 爬虫常用Xpath和CSS3选择器对比
  6. thinkjs——空对象判断
  7. CodeForces 362B Petya and Staircases
  8. (三) UART 串口通讯
  9. ruby on rails ajax select
  10. [转载]网页栅格系统研究(3):粒度问题