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

备注:编译安装

linux基础命令学习五(软件包管理、下载管理)的更多相关文章

  1. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  2. linux基础命令学习(六)文件的特殊属性

    Linux chattr命令用于改变文件属性. 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途.    b:不更新文件或目录的最后存取 ...

  3. linux基础命令学习(五)目录或文件权限

    一.查看文件的详情 ls -al 二.改变目录或文件的权限 chmod [-cfvR] [--help] [--version] mode file 1. 必要参数 -c 当发生改变时,报告处理信息 ...

  4. Linux常用命令学习8---(用户和用户组管理)

    1.用户和用户组     用户和用户组概念        用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统)        用户组:具有相同权限的一组用户(Linux系统中可 ...

  5. linux基础命令学习(七)samba服务器配置

    samba有五种安全级别,它们分别是: share:不需要samba账户就可登陆samba服务器      user:需要添加samba账户才可以登陆samba服务器      server:由另外一 ...

  6. linux基础命令学习(六)DHCP服务器配置

    工作原理:        1.客户机寻找服务器:广播发送discover包,寻找dhcp服务器        2.服务器响应请求:单播发送offer包,对客户机做出响应.提供客户端网络相关的租约以供选 ...

  7. linux基础命令学习(四)计划任务

    一.计划任务 crond服务简介 linux任务调度的工作主要分为以下两类: *系统执行的工作:系统周期性所要执行的工作,如备份系统数据.清理缓存 *个人执行的工作:某个用户定期要做的工作,例如每隔1 ...

  8. linux基础命令学习总结

    本附录([美]哈恩:<Unix&Linux大学教程>附录B,张杰良译,清华大学出版社,2010年)摘要描述了书中所涉及的143个Unix使命,并且按照命令的类别进行排列.在每个名称 ...

  9. linux基础命令学习 (七)压缩解压

    一.tar tar主要用来压缩和解压文件 语法: tar [主选项+辅选项] 文件或者目录 主选项: c 创建新的档案文件.如果用户想备份一个目录或是一些文件,就要选择这个选项.相当于打包. x 从档 ...

随机推荐

  1. Java虚拟机类加载机制——案例分析

    转载: Java虚拟机类加载机制--案例分析   在<Java虚拟机类加载机制>一文中详细阐述了类加载的过程,并举了几个例子进行了简要分析,在文章的最后留了一个悬念给各位,这里来揭开这个悬 ...

  2. VBA中四种自动运行的宏以及模块的含义

    在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate,  Auto_Deactivate. ...

  3. hdu-----(1179)Ollivanders: Makers of Fine Wands since 382 BC.(二分匹配)

    Ollivanders: Makers of Fine Wands since 382 BC. Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

  4. ARM 汇编的一些规范

    A.5.1  文件格式        ARM 源程序文件(即源文件)为文件格式,可以使用任一文本编辑器编写程序代码.         在一个项目中,至少要有一个汇编源文件或C 程序文件,可以有多个汇编 ...

  5. VI编辑器学习笔记

    VIM的使用 VI是Linux系统中的一种编辑器,它的使用方法和界面与Unix平台十分相似,掌握了VIM的特殊,你可以感觉到它强大的功能与高效.Vim 相对来说较小,无论你使用任何Linux系统,你总 ...

  6. 【转】理解cookie和session机制

    cookie和session机制之间的区别与联系 具体来说cookie机制采用的是在客户端保持状态的方案.它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持.cookie的作用就 ...

  7. python与字符集编码

    讲的比较明白的博客:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 以上面博文的汉为例子,汉字的GBK编码是baba, UNIC ...

  8. oracle表分区【转】

          摘要:在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用. 在大型的企业应用或企业级的数据库应用中,要处理的数据量通常可以达到几十 ...

  9. loadrunner 如何做关联

    在页面中为了防止CRSF攻击,每次访问登录页面时,在浏览器器端生成一个token. 在提交时检验这个token是否有效,提交后token自动失效.   如果使用loadrunner来测试此系统话需要做 ...

  10. 使用jvisualvm.exe 的Btrace插件监控应用程序

    之前提到使用命令行的方式执行btrace监控,其实jdk提供更好的方式监控应用程序. 我们可以使用jvisualvm.exe加插件的方式监控,这样更加方便. 1.在jvisualvm.exe安装btr ...