第九章练习题答案 
1. 区分 rpm -qi -qf -ql -qa四个不同选项组合的作用 
rpm -qi //查询已经安装的某个rpm软件包的信息 
rpm -qf //查询某个程序文件是由哪个rpm软件包安装的 
rpm -ql //查询某个rpm软件包的所有安装文件 
rpm -qa //查询所有已经安装的rpm软件包 

2. rpm -qi 后面如果跟一个未安装的包名,会显示什么信息 
会提示该软件包没有安装 

3. 请找出 vim 这个命令是由哪个rpm包安装来的 
rpm -qf `which vim` 

4. 使用rpm安装和卸载某个包的命令是什么 
rpm -ivh rpm包文件名 
rpm -e 包名 

5. rpm安装某个包有依赖关系时,如何忽略依赖关系,强制安装该包 
rpm -ivh --nodeps 

6. 如何使用rpm升级一个包 
rpm -uvh 

7. 使用yum搜索包含关键词 "tidy" 的rpm包,并安装,安装后再使用yum将其卸载。 
yum list |grep tidy 
yum install -y tidy tidy-devel 
yum remove -y tidy tidy-devel 

8. 如何使用yum来下载一个rpm包 
yum install -y --downloadonly --downloaddir=/usr/local/src 

9. 请到php的官方网站下载一个php的源码包,动手试试编译安装它(php官网地址 http://www.php.net/) 

10. 查资料搞明白 yum upgrade 以及 yum update 两者的区别它们在什么情况下使用 
yum upgrade与yum update都能更新系统的所有软件包,不同的就是upgrade相当一次大规模的升级,连带了旧的要淘汰的包也升级。update 和 upgrade 的侧重点不一样,update主要是使软件达到最新,但upgrade更侧重的是软件功能得到一个很大的提升,区别于频繁的发布最新的补丁。upgrade不改变软件设置和系统设置,系统版本升级,内核不改变;update改变软件设置和系统设置,系统版本内核都升级。 
yum upgrade : 用于大规模的版本升级,更新linux系统和整个软件版本 
yum update : 用于安装补丁文件,更新内核和软件包到最新 

11. 如何查看linux系统中(centos)是否安装过某个包 
rpm -qa | grep 包名 

12. ./configure 完成后,并不知道到底有没有成功,用什么命令可以验证呢 
echo $ 

13. 如果在./configure 这一步出现这样的错误"configure: error: no acceptable c compiler found in $path" 我们该怎么办 
yum install -y gcc 

14. 有时,你忘记某个编译参数是如何写的,你怎么办 
./configure --help 

15. 如何使用光盘构建yum仓库 
a)挂载光盘 mount /dev/cdrom /mnt 
b)删除/etc/yum.repos.d目录所有的repo文件 rm -rf /etc/yum.repos.d/* 
c) 创建新文件dvd.repo 
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo 
加入以下内容: 
[dvd] 
name=install dvd 
baseurl=file:///mnt 
enabled=1 
gpgcheck=0 
d) 刷新 repos 生成缓存 # yum makecache