zoukankan      html  css  js  c++  java
  • linux基础命令学习五(软件包管理、下载管理)

    Linux 软件包管理

     

    本文主要是记录下RedHat系列的软件包管理。

    内容分为以下二个部分:二进制包的管理,源代码包的管理

    一、二进制包的管理

    1.1概念

    主要有RPM和YUM这两种包管理。

    两种包管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作精度比较细,需要我们做的事情比较多。

    1.1.1RPM

    主要的操作

    1)卸载

    rpm  –e  [--nodeps]  sudo

    [解析]  需要注意的是在卸载软件包的时候若和其它包有依赖关系,可以用--nodeps来强制卸载

    2)安装

    rpm  –i[v|h]  [--excludedocs |prefix |test |replace[pkgs |files] |nodeps]  sudo

    [解析]  i为安装,v为显示详细信息,h为hash是进度信息

    --excludedocs 不安装软件包的文档文件

    --prefix PATH 将软件包安装到指定目录

    --test 只对安装进行测试,并不实际安装(通常用来看下需要的依赖项)

    --replace[pkgs|files] 当出现冲突时或想强制覆盖时可以使用

    --nodeps 不考虑依赖关系,强制安装。(这样比较麻烦,而且通常无法使用。这也是使用RPM的一些不方便的地方,而YUM则解决了这个问题,在安装的时候会自动将所需要的都一起安装了)

    【相关内容:】安装有时候会使用光驱安装,这里涉及到挂载点的概念。

    在linux系统中,所有的设备都被看作文件,所以光驱也被看作文件。而要让系统不能直接访问这个文件,这时需要一个挂载点(通常是一个空文件,仅仅提供一个渠道,来连接系统和设备),然后系统就可以通过访问挂载点来访问光驱设备了。

    挂载光驱的具体操作:

    mkdir /mnt/cdrom 生成一个挂载点目录

    mount /dev/cdrom /mnt/cdrom 讲dev中的cdrom挂载到挂载点上

    3)查询

    rpm  –q[a |f |p |i |l |d |c]  sudo

    [解析]

    -a  查询所有已安装的软件包

    -f  查询 文件所属软件包

    -p  查询软件包(通常用来看下还未安装的软件包)

    -i  显示软件包信息

    -l  显示软件包中的文件列表

    -d  显示被标注为文档的文件列表

    -c  显示被标注为配置文件的文件列表

    [tips]  通常可以配合管道 | more [grep sudo] 来使用,使得结果更易读。

    4)校验

    rpm  -V  sudo

    结果解析:S.5.L.T….

    S 为文件大小

    5 为文件的md5校验值

    L 链接文件

    T 文件创建时间

    D 设备文件

    U 文件的用户

    G 文件的用户组

    M 文件的权限

    5)软件包文件提取

    解压指定文件到当前目录

    rpm2cpio   /../...rpm |cpio –idv   ./../..

     示例: rpm -qa|grep vsftpd 查询过滤软件包

              rpm -qf /bin/mkdir 查询程序提供的安装包

              rpm -ql vsftpd|more 查询软件包装到了哪些位置

    1.1.2YUM

    需要联网,操作一RPM类似,只是会自动安装依赖项。

    主要操作:

    1)安装 yum  install

    2) 检测升级 yum  check-update

    3) 升级 yum  update

    4) 软件包查询 yum  list

    5) 软件包信息 yum  info

    6) 卸载 yum  remove

    7) 帮助 yum  -help、man  yum

    二、源代码包的管理

    2.1源代码包的安装

    1)解压解包

    tar  -xzvf  源代码包

    [解析]

    x为解包、z为解压(仅适合gzip,bz2则先解包再bunzip解压)、v显示过程、f指定被解压包名

    2)配置

    进入解压后的目录,用 ./configure [—prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)

    3)编译

    make

    4)安装

    make  install

    Linux 下载管理

    Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。

    wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。

    wget 非常稳定它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

    1.命令格式:

    wget [参数] [URL地址]

    2.命令功能:

    用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录wget虽然功能强大,但是使用起来还是比较简单

    1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;

    2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;

    3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;

    4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;

    5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的

    实例1:使用wget下载单个文件

    命令:

    wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip

    实例9:使用wget -i下载多个文件

    命令:

    wget -i filelist.txt

    说明:

    首先,保存一份下载链接文件

    实例15:使用wget FTP下载

    命令:

    wget ftp-url

    wget --ftp-user=USERNAME --ftp-password=PASSWORD url

    说明:

    可以使用wget来完成ftp链接的下载。

    使用wget匿名ftp下载

    wget ftp-url

    使用wget用户名和密码认证的ftp下载

    wget --ftp-user=USERNAME --ftp-password=PASSWORD url

    备注:编译安装

  • 相关阅读:
    Filecoin:一种去中心化的存储网络(二)
    Filecoin:一种去中心化的存储网络(一)
    HTTP
    数据结构中的查找
    剑指offer-高质量的代码
    C++中STL容器的比较
    PBFT算法的相关问题
    springmvc最全约束
    springmvc入门(一)
    spring入门(一)
  • 原文地址:https://www.cnblogs.com/lovefendi/p/3730050.html
Copyright © 2011-2022 走看看