一、软件包管理简介 二、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