软件包分类
源码包:(脚本安装包)
二进制包(RPM包,系统默认包)
RPM包命名原则
httpd-2.2.15-15.e16.centos.1686.rpm
-
httpd 软件包名
-
2.2.15 软件版本
-
15 软件发布的次数
-
e16.centos 适合的Linux平台
-
i686 适合的硬件平台
-
rpm rpm包扩展名
RPM包依赖性
- 树形依赖:a>b>c
- 环形依赖:a>b>c>a
- 模块依赖:www.rpmfind.net
RPM安装
rpm -ivh 包全名
- -i(install ) 安装
- -v(verbose) 显示详细信息
- -h(hash) 显示进度
- --nodeps 不检测依赖性
RPM包升级
rpm -Uvh 包全名
- U(upgrade) 升级
rpm -e 包名
- -e(erase) 卸载
- --nodeps 不检查依赖性
查询是否安装
rpm -q 包名
- -q 查询(query)
rpm -qa
- -a所有(all)
查询软件包详细信息
rpm -qi 包名
- -i 查询软件信息
- -p 查询未安装包信息
查询包中文件安装位置
rpm -ql 包名
- -l 列表
- -p查询未安装包信息
查询系统文件属于哪个RPM包
rpm -qf 系统文件名
- -f 查询系统文件属于哪个软件包
查询软件包的依赖性
rpm -qR 包名
- R查询软件包的依赖性
- -p查询未安装包信息
RPM包的校验
rpm -V 已安装的包名
- -V 校验指定RPM包中的文件
验证内容中的8个信息的具体内容:
- S 文件大小是否改变
- M 文件的类型或文件的权限(rwx)是否被改变
- 5 巍峨年的MD5校验和是否改变(文件内容是否改变)
- D 设备中,从代码是否改变
- L 文件路径是否改变
- U 文件的属主(所有者)是否改变
- G 文件的属组是否改变
- T 文件的修改时间是否改变
文件类型:
- c配置文件
- d普通文档
- g该文件不应该被在这个RPM包包含
- L授权文件
- r描述文件
RPM包中文件提取
rpm2cpio 包全名 | cpio -div .文件绝对路径
- rpm2cpio 将rpm包转换为cpio格式的命令
- cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
cpio 选项 < [文件|设备]
- -i:copy-in模式,还原
- -d:还原时自动新建目录
- -v:显示还原过程
yum在线管理
IP地址配置和网络yum源
IP地址配置:
- setup配置
- vi /etc/sysconfig/network-scripts/ifcfg-etho 把ONBOOT="no"该为yes
vi /etc/yum.repos.d/CentOS-Base.repo- [base] 容器名称,一定要放在[]中
- name容器说明,可以自己随便写
- mirrorlist镜像站点,可以注释掉
- baseurl yum源服务器的地址,默认时centos官方的yum源服务器,可以更改
- enabled 容器是否生效,如果不懈或携程enable=1都是生效,携程enable=0就是不生效
- gpgcheck 如果时1是指RPM的数字证书生效,如果是0则不生效
- gpgkey 数字证书的公钥巍峨年保存位置,不用修改
yum命令
查询:
yum list 查询所有可用软件包的列表
yum search 关键字 搜索服务器上所有和关键字相关的包
安装:
yum -y install 包名
- install 安装
- -y 自动回答yes
升级:
yum -y update 包名
- update 升级
- -y 自动回答yes
卸载:
yum -y remove 包名
- remove 卸载
- -y 自动回答yes
YUM软件组管理命令
yum grouplist 列出所有可用的软件组列表
yum groupinstall 软件组名 安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名 卸载指定软件组
光盘yum源搭建
光盘yum源搭建步骤
- 挂载光盘
mount/dev/cdrom /mnt/cdrom/ - 让网络yum源文件失效(让CentOS-Media.repo生效)
cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bakmv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bakmv CentOS-Vault.repo CentOS-Vault.repo.bak
- 修改光盘yum源文件
vim CentOS-Media.repo- [c6-media]
- name=CentOS-$releasever-Media
- baseurl=file:///mnt/cdrom
- 注释这2个不存在的地址
- 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
源码包和RPM包的区别
RPM包安装位置
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
源码包安装位置
安装在指定位置当中,一般是
/usr/local/软件名/
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
/etc/rc.d/init.d/httpd start
service httpd start
源码包安装的服务则不能被服务管理命令管理,因为i没有装到默认路径中
/usr/local/apache2/bin/apachectl start
源码包安装过程
- 下载源码包
- 源代码保存位置:/usr/local/src/
- 软件安装位置:/usr/local
- 解压缩下载的源码包
tar -zxvf 压缩包du -sh 目录查看大小
- 进入解压缩目录
- cd 目录
- 软件配置与检查 ./configure
- 定义需要的功能选项
- ./configure --prefix = /usr/local/apache2
- 检测系统环境是否符合安装要求
- 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑.
- 定义需要的功能选项
- make 编译
- 调用gcc,将apache从源码包翻译成机器语言
- 如果有问题可以执行
make clean完全清空编译产生的临时文件
- 如果有问题可以执行
- 调用gcc,将apache从源码包翻译成机器语言
- make install
- 向文件中写入数据
- 启动命令
/usr/local/apache2/bin/apachectl start
- 删除
rm -rf /usr/local/apache2/直接删除该安装目录即可
脚本安装包
常见于源码包,人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装.
Webmin,图形化的方式设置用户账号,Apache,DNS,文件共享等服务.