zoukankan      html  css  js  c++  java
  • 【华为云技术分享】Linux软件安装的几种方法 (一)—— apt-get

    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新手,也得减少对图形化操作界面的使用,毕竟最后很多事情还是要落到命令行界面上来解决。

    作者:duqi

  • 相关阅读:
    区块链中的密码学
    初识nodeJS
    JS或jQuery获取当前屏幕宽度
    jQuery与Zepto的异同
    使用递归解决斐波那契数列的性能问题
    sass高级语法的补充
    sass的高级语法
    栅格 CSS中的循环 媒体查询
    Zepto
    dedecms 留言板中引用模板文件方法
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13164825.html
Copyright © 2011-2022 走看看