linux 学习6 软件包安装

一、软件包管理简介
二、RPM包管理-rpm命令管理
三、RPM包管理-yum在线管理
四、源码包管理
五、脚本安装包与软件包选择

1、软件包分类
?源码包
?脚本安装包
?二进制包(RPM包、系统默认包) 

2、源码包 源码包的优点是:
?开源,如果有足够的能力,可以修改源代码
?可以自由选择所需的功能
?软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
?卸载方便 

源码包的缺点
?安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
?编译过程时间较长,安装比二进制安装时间长
?因为是编译安装,安装过程中一旦报错新手很难解决 

3、RPM包 二进制包的优点
?包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和
?安装速度比源码包安装快的多 

二进制包缺点:
?经过编译,不再可以看到源代码
?功能选择不如源码包灵活
?依赖性 

二、RPM包管理-rpm命令管理

1、RPM包命名原则
httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
el6.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
6.2.1 RPM包管理-rpm命令管理-包命名与依赖性
2、RPM包依赖性
?树形依赖: a?b?c
?环形依赖: a?b?c?a
?模块依赖: 模块依赖查询网站: www.rpmfind.net
6.2.2 RPM包管理-rpm命令管理-安装升级与卸载
1、包全名与包名
?包全名:操作的包是没有安装的软件包时, 使用包全名。而且要注意路径
?包名:操作已经安装的软件包时,使用包名。 是搜索/var/lib/rpm/中的数据库 

2、RPM安装
rpm –ivh 包全名
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依赖性

3、RPM包升级
rpm -Uvh 包全名
选项:
-U(upgrade) 升级

1、查询是否安装
[[email protected] ~]# rpm -q 包名
#查询包是否安装
选项:
-q 查询(query)
[[email protected] ~]# rpm –qa
#查询所有已经安装的RPM包
选项:
-a 所有(all)

2、查询软件包详细信息
[[email protected] ~]# rpm –qi 包名
选项:
-i 查询软件信息(information)
-p 查询未安装包信息(package

3、查询包中文件安装位置
[[email protected] ~]# rpm –ql 包名
选项:
-l 列表(list)
-p 查询未安装包信息(package

3、查询包中文件安装位置
[[email protected] ~]# rpm –ql 包名
选项:
-l 列表(list)
-p 查询未安装包信息(package

5、查询软件包的依赖性
[[email protected] ~]# rpm –qR 包名
选项:
-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)
6.2.3 RPM包管理-rpm命令管理-RPM包查询

1、查询是否安装
[[email protected] ~]# rpm -q 包名
#查询包是否安装
选项:
-q 查询(query)
[[email protected] ~]# rpm –qa
#查询所有已经安装的RPM包
选项:
-a 所有(all)

2、查询软件包详细信息
[[email protected] ~]# rpm –qi 包名
选项:
-i 查询软件信息(information)
-p 查询未安装包信息(package)

3、查询包中文件安装位置
[[email protected] ~]# rpm –ql 包名
选项:
-l 列表(list)
-p 查询未安装包信息(package

4、查询系统文件属于哪个RPM包
[[email protected] ~]# rpm –qf 系统文件名
选项:
-f 查询系统文件属于哪个软件包(file

5、查询软件包的依赖性
[[email protected] ~]# rpm –qR 包名
选项:
-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package
6.2.4 RPM包管理-rpm命令管理-校验与文件提取

1、RPM包校验
[[email protected] ~]# rpm –V 已安装的包名
选项:
-V 校验指定RPM包中的文件(verify)

验证内容中的8个信息的具体内容如下:
?S 文件大小是否改变
?M 文件的类型或文件的权限(rwx)是否被改变
?5 文件MD5校验和是否改变(可以看成文件内容是否改变)
?D 设备的中,从代码是否改变
?L 文件路径是否改变
?U 文件的属主(所有者)是否改变
?G 文件的属组是否改变
?T 文件的修改时间是否改变 

文件类型
?c 配置文件(config file)
?d 普通文档(documentation)
?g “鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含
?l 授权文件(license file)
?r 描述文件(read me) 

2、RPM包中文件提取
[[email protected] ~]# rpm2cpio 包全名 | \
cpio -idv .文件绝对路径
rpm2cpio
#将rpm包转换为cpio格式的命令
cpio
#是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

[[email protected] ~]# cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程

[[email protected] ~]# rpm -qf /bin/ls
#查询ls命令属于哪个软件包
[[email protected] ~]# mv /bin/ls /tmp/
#造成ls命令误删除假象
[[email protected] ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
#提取RPM包中ls命令到当前目录的/bin/ls下
[[email protected] ~]# cp /root/bin/ls /bin/
#把ls命令复制会/bin/目录,修复文件丢失
6.3.1 RPM包管理-yum在线管理-IP地址配置和网络yum源

6.3.1 IP地址配置和网络yum源
6.3.2 yum命令
6.3.2 光盘yum源搭建

1、IP地址配置
[[email protected] ~]# setup
#使用setup工具
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
把ONBOOT=“no” 改为
ONBOOT=“yes“
#启动网卡
[[email protected] ~]# service network restart
#重启网络服务

2、网络yum源 [[email protected] yum.repos.d]# vi /etc/yum.repos.d/CentOS-Base.repo
?[base] 容器名称,一定要放在[]中
?name 容器说明,可以自己随便写
?mirrorlist 镜像站点,这个可以注释掉
?baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务 器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地 址
?enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成 enable=0就是不生效
?gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
?gpgkey 数字证书的公钥文件保存位置。不用修改 

6.3.2 yum命令

1、常用yum命令
1)查询
[[email protected] yum.repos.d]# yum list
#查询所有可用软件包列表
[[email protected] yum.repos.d]# yum search 关键字
#搜索服务器上所有和关键字相关的包

2)安装
[[email protected] yum.repos.d]# yum –y install 包名
选项:
install 安装
-y 自动回答yes

3)升级
[[email protected] yum.repos.d]# yum -y update 包名
选项:
update 升级
-y 自动回答yes

4)卸载
[[email protected] yum.repos.d]# yum -y remove 包名
选项:
remove 卸载
-y 自动回答yes

2、YUM软件组管理命令
[[email protected] ~]# yum grouplist
#列出所有可用的软件组列表
[[email protected] ~]# yum groupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来
[[email protected] ~]# yum groupremove 软件组名
#卸载指定软件组
6.3.3 RPM包管理-yum在线管理-光盘yum源

6.3.2 光盘yum源搭建

光盘yum源搭建步骤
1)挂载光盘
[[email protected] ~]# mount /dev/cdrom /mnt/cdrom/
2)让网络yum源文件失效
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# mv CentOS-Base.repo \
CentOS-Base.repo.bak
[[email protected] yum.repos.d]# mv CentOS-Debuginfo.repo \
CentOS-Debuginfo.repo.bak
[[email protected] yum.repos.d]# mv CentOS-Vault.repo \
CentOS-Vault.repo.bak

3)修改光盘yum源文件
[[email protected] yum.repos.d]# vim CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#地址为你自己的光盘挂载地址
# file:///media/cdrom/
# file:///media/cdrecorder/
#注释这两个不存在的地址
gpgcheck=1
enabled=1
#把enabled=0改为enabled=1,让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
6.4 源码包管理

6.4.1 源码包和RPM包的区别
6.4.2 源码包安装过程

1、区别
?安装之前的区别:概念上的区别
?安装之后的区别:安装位置不同 

2、RPM包安装位置
?是安装在默认位置中
RPM包默认安装路径
/etc/     配置文件安装目录
/usr/bin/     可执行的命令安装目录
/usr/lib/     程序所使用的函数库保存位置
/usr/share/doc/     基本的软件使用手册保存位置
/usr/share/man/     帮助文件保存位置 

3、源码包安装位置
?安装在指定位置当中,一般是 /usr/local/软件名/ 

4、安装位置不同带来的影响
?RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
?/etc/rc.d/init.d/httpd start
?service httpd start 

?而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:
?/usr/local/apache2/bin/apachectl start
6.4.2 源码包管理-源码包安装过程

6.4.1 源码包和RPM包的区别
6.4.2 源码包安装过程

1、安装准备
?安装C语言编译器
?下载源码包 http://mirror.bit.edu.cn/apache/httpd/ 

2、安装注意事项
?源代码保存位置:/usr/local/src/
?软件安装位置:/usr/local/
?如何确定安装过程报错:
?安装过程停止
?并出现error、warning或no的提示 

3、源码包安装过程
?下载源码包
?解压缩下载的源码包
?进入解压缩目录 

?./configure 软件配置与检查
?定义需要的功能选项。
?检测系统环境是否符合安装要求。
?把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。
?make 编译
?make clean
?make install 编译安装 

4、源码包的卸载
?不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。
6.5 脚本安装包
1、脚本安装包
?脚本安装包并不是独立的软件包类型,常见安装的是源码包。
?是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
?非常类似于Windows下软件的安装方式。
2、Webmin的作用
?Webmin 是一个基于 Web 的 Linux 系统管理界面。您就可以通过图形化的方式设置用户帐号、Apache、DNS、文件共享等服务。
3、Webmin安装过程
?下载软件
?http://sourceforge.net/projects/webadmin/files/webmin/
?解压缩,并进入加压缩目录
?执行安装脚本 
时间: 2024-10-06 16:28:34

linux 学习6 软件包安装的相关文章

[Linux] 学习笔记之安装学习环境(sshd, lrzsz)

紧接前一篇,在VMWare安装完Linux,这个时候我们要使用远程工具连接到虚拟机上去了,以前一直使用Putty,后来到新公司之后,推荐使用SecureCRT,使用之后,觉得效果不错,但是每次连接都失败,linux新手伤不起,在网上搜啊搜,终于找到解决办法.   搜索了很多资料之后,发现是由于我未在Linux上安装ssh服务导致无法使用SecureCRT连接. 1. 可以使用ssh localhost对此进行测试,具体使用如下: 2. 使用apt-get或者yum安装ssh服务,具体哪种操作系统

Linux学习笔记——软件安装(四)

++++++++++++++++++++++++++++++Linux软件安装+++++++++++++++++++++++++++++++ 注:window系统中的所有安装包都不能在Linux系统中直接安装使用 1. 软件包分类: 源码包(脚本安装包:install.sh)——安装慢,可以看到源代码 二进制包(RPM包,系统默认包)——源码包经过编译之后的机器码,安装快速,看不到源码 2. RPM包管理: RPM包命名规则——范例:httpd-2.2.15-15.e16.centos.1.i6

linux运维软件包安装

开始 rmp -qa |gerp   软件包名字--------------查找软件包----------gerp,过滤,显得不会那么多不要的出来. rmp -e   软件包名字-----------------------卸载 安装软件时先挂载光盘,再配置yum源,两者谁先做都可以 mount  -o  loop,ro  /dev/光盘的路径    /需要挂载的目录 vim  /etc/fstab   配置文件,下次开机自动挂载 格式     /dev  /光盘路径    lsource   

linux学习笔记——yum安装软件、搭建仓库、rpm命令

#############如何安装软件####################yum    #全称Yellow dog Updater Moddified,能够从指定的服务器自动下载RPM包并安装 yum     list    all        ##列出所有安装包yum     list    installed    ##列出已经安装的yum    list    available    ##列出没有安装的yum     remove    package        ##卸载软件(

linux下的软件包安装

linux下安装软件包有两种方法:源文件编译安装(source)和 rpm 安装. 1.源文件包安装的通用方法. 一般安装源代码的程序你得要看它的README,一般在它的目录下都有的. 01.配置: 构建应用的第一步就是执行configure脚本,该脚本位于程式源文件的主目录下: [[email protected]~]# ./configure 该脚本将扫描系统,以确保程式所需的所有库文件业已存在,并做好文件路径及其他所需的设置工作.如果程式所需的库文件不完全,该设置脚本就会退出,并告诉你还需

linux 学习笔记 APACHE安装总结

#cd /usr/local #mkdir APACHE #tar zxvf /usr/etc/DEV/httpd-2.2.9.tar.gz #mv httpd-2.2.9/* . #rm -rf httpd-2.2.9/ #./configure <---prefix参数 含义:把文件放在/opt/APACHE/apache文件夹之下卸载时只要删除这个文件即可 --prefix =/opt/APACHE/apache --with-included-apr --enable-so --enab

Linux学习笔记2_mysql安装

查看文件内容的命令有很多:cat, tac, more, less, head, tail, nl. cat由第一行开始显示档案内容:tac从最后一行开始显示,可以看出tac是cat的倒着写:more一页一页的显示档案内容:less与more类似,但是比more更好的是,它可以往前翻页:head只看头几行:tail只看尾巴几行:nl显示的时候,顺道输出行号:od以二进制的方式读取档案…… 关于Linux的主要分支,linux分支的历史这篇文章有简单明了的概括. 这里吐槽下,我目前在看的这本<Li

Linux学习之【安装g++,并且写个c++程序】

一.ubuntu下gcc/g++/gfortran的安装 1.安装 (1).gcc ubuntu下自带gcc编译器.可以通过"gcc -v"命令来查看是否安装. (2).g++ 安装g++编译器,可以通过命令"sudo apt-get install build-essential"实现. 执行完后,就完成了gcc,g++,make的安装.build-essential是一整套工具,gcc,libc等等. 通过"g++ -v"可以查看g++是否安

Linux学习之软件包管理--rpm命令管理

1.rpm包命名规则 对于Linux系统来说,所有的rpm包都在光盘里的Packages文件夹里.对于rpm包的命名规则,可以举例说明,如下面一个包: httpd-2.2.15-15.el6.centos.1.i686.rpm httpd 软件包名 2.2.15   软件版本 15 软件发布次数 el6.centos    适合的Linux平台 i686   适合的硬件平台 rpm    rpm包扩展名 2.rpm把的依赖性 1.树形依赖:安装a包,其依赖b包,装b包,其依赖c包.要安装c包才能