一、rpm需要掌握的主要内容
rpm -i安装
rpm -iv 显示过程
rpm -ivv显示更详细的过程
rpm -ivh显示安装过程及百分比
rpm -ivh --nodeps在安装或卸载时忽略依赖性
rpm -ivh --force 等同于下面的三个
--replacepkgs重复安装已安装过的包,文件覆盖
--replacefiles将要安装包的部分文件与其他已安装的包文件冲突,可继续安装,文件不覆盖。
--oldpackge已安装过新版本,现在安装旧版本。
rpm -Uvh 现版本rpm 升级rpm包,若有旧版本,则先删除旧版本再安装新版本;若没有旧版本,则安装指定的rpm包。
rpm -q 包名 ---------查看已安装过的包的信息
rpm -qa --------列出已安装过的所有的rpm包
rpm -qa “*关键字*” 或者是 rpm -qa |grep关键字 ---------模糊匹配
rpm -qf 文件路径 ---------查询指定文件来自于哪一个已安装的rpm包
rpm -ql httpd 列出软件包提供的所有文件
敲黑板,划重点!!!
实验:删除某文件后利用rpm2cpio来恢复文件
1、删除文件
[~] # rm -rf /etc/rc.d/init.d/functions
2、查询文件来自于哪一个已安装的rpm包
[~]# rpm -qf /etc/rc.d/init.d/functions
3、挂载光盘
[~]# mount /dev/cdrom/ /media/
4、复制rpm包到临时目录
[~]# cp /media/Packages/initscripts....rpm /app
5、进入临时目录并解开rpm包
[~]# cd /app
[app]# rpm2cpio inits.....rpm |cpio -id
6、从解出的目录里找到需要的文件并复制到相关的原目录下
[app]# cp etc/rc.d/init.d/functions /etc/rc.d/init.d/
二、yum需要掌握的主要内容
/etc/yum.repos.d/*.repo ------*.repo需要自己命名,以repo结尾
[repoid] 仓库的名称,不能重复
name= 仓库的描述,可以不写,将会用repoid当作name
enabled=1|0 激活或禁用仓库,若不写该行,则默认启用
gpgcheck=1|0 是否在安装包是检测gpg签名,默认检测,即为1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 指定gpg key的路径
安装包:yum install 包名
查询仓库
yum repolist -----[enabled]默认只显示已激活的仓库
----disabled 仅显示已禁用的仓库
-----all 显示所有的仓库
清空yum缓存:yum clean all
重建缓存: yum makecache
yum list列表最后一行的参数代表的意义(这个是相对于仓库而言的,我的仓库是base和epel)
base 未安装的包,来自于base
epel 未安装的包,来自于epel
@base 该包已经安装,且是从base安装的
@anaconda 该包已经安装,且是从操作系统的安装程序anaconda安装的
yum list all ---------默认 表示列出所有的包
updates --------列出可更新的包
installed --------列出已安装的包。@repoid表示该包安装自指定的仓库,installed表示该包由rpm命令手工安装
yum reinstall 包名 -y -----重新安装指定的包,-y表示自动应答
yum update 更新包名 ----更新包
yum remove 包名 --------卸载包,卸载时不会连同依赖包一起卸载
yum provides “*/rz” ----搜索一个文件来自于哪一个包,可以是未安装的包
yum search 关键字 -----模糊搜索软件包和描述
yum deplist php ------列出指定包所依赖的所有包
yum history --------列出所有yum历史
yum history info N --------列出第N条历史的详细信息
redo N------重做第N条历史
undo N---撤销N条历史
如果该历史为install,则undo 是remove
如果该历史为remove,则undo 是install
yum grouplist ------列出所有的包组名
yum groupinfo ‘包组名’ ------查看指定包组中含哪个包
yum groupinstall ‘包组名’ ------安装指定的组的rpm包
yum groupupdate ‘包组名’-----更新指定组的rpm包
yum groupmove ‘包组名’ -----删除指定组的rpm包
将yum输出的结果静默,一般用于脚本:&> /dev/null
实验:使用源码包安装httpd2.4(centos7)(我们这儿服务器的网址是172.18.0.1,您需要根据自己的网址来连接)
1.下载源码 官网,教室的服务器(先安装lftp包)
lftp 172.18.0.1
user thirty-three pass:thirty-three
get files/httpd-2.4.27.tar.bz2
exit
tar xvf httpd-2.4.27.tar.bz2
2.安装Development Tools
yum groupinstall "Development Tools"
3.查看README INSTALL
4../configure --help
./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24
dnf|yum install -y apr-devel apr-util-devel pcre-devel(缺啥装啥就对了)
5.make -j 4
6.make install
7.export PATH=$PATH:/app/apache24/bin 可把这行写入/etc/profile.d/*.sh 之后,再source该文件
8.apachectl start 启动服务
9.vim /app/apache24/htdocs/index.html
10.iptables -F
11.浏览器访问