第九章:安装RPM包或源码包课后习题

第九章:安装RPM包或源码包课后习题

1.区分rpm与-qi、-qf、-ql和-qa这4个不同选项组合的作用。

  • rpm -qi 【rpm包名】:查看已安装的RPM包的相关信息。
  • rpm -qf 【文件的绝对路径】:列出某个文件属于哪个RPM包。
  • rpm -ql 【rpm包名】:列出一个RPM包的安装文件。
  • rpm -qa :查看系统中安装了那些包。

2.rpm -qi后面如果跟一个未安装的包名,会显示什么信息?

[root@zl_cloud ~]# rpm -e vim-enhanced   //我先卸载
[root@zl_cloud ~]# rpm -qi vim-enhanced
未安装软件包 vim-enhanced 
[root@zl_cloud ~]# 

3.vim命令是由哪个RPM包安装来的?

[root@zl_cloud ~]# which vim     //先查看vim的绝对路径
/usr/bin/vim
[root@zl_cloud ~]# rpm -qf /usr/bin/vim  //此命令可看出它是由哪个RPM包安装来的
vim-enhanced-7.4.629-6.el7.x86_64
[root@zl_cloud ~]# 

4.使用RPM工具安装和卸载某个包的命令是什么?
安装:# rpm -ivh filename
卸载:# rpm -e filename

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

6.如何使用RPM 工具升级包?
#rpm -Uvh filename

7.请使用yum工具搜索包含关键词tidy的RPM包并安装.安装后再使用yum工具将其卸载。
# yum list | grep tidy 或者 # yum search tidy //搜索
# yum install -y tidy //安装
# yum remove tidy //卸载

8.如何使用yum工具来下载RPM包?
# yum install -y 【包名】

9.请到PHP的官方网站(https://www.php.net/ )下载PHP的源码包,并动手试试编译安装它。
我下载这个:php-7.4.3.tar.bz2

[root@zl_cloud src]# ll
总用量 19768
drwxr-xr-x. 12  500  500     4096 3月   8 06:48 httpd-2.2.29
-rw-r--r--.  1 root root  7537230 9月   2 2014 httpd-2.2.29.tar.gz
-rw-r--r--.  1 root root 12695760 3月  13 2020 php-7.4.3.tar.bz2
[root@zl_cloud src]# tar -jxvf php-7.4.3.tar.bz2    //解压源码包
[root@zl_cloud src]# cd php-7.4.3
[root@zl_cloud php-7.4.3]# ./configure --prefix=/usr/local/php

然后我又遇到了这样的问题:

configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met:

No package 'libxml-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBXML_CFLAGS
and LIBXML_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
[root@zl_cloud php-7.4.3]# 

解决上面说的要安装一下libxml这个包:

[root@zl_cloud src]# cd php-7.4.3
[root@zl_cloud php-7.4.3]# yum list | grep xml2
libxml2.x86_64                              2.9.1-5.el7_1.2            @anaconda
libxml2.i686                                2.9.1-6.el7_2.3            base     
libxml2.x86_64                              2.9.1-6.el7_2.3            base     
libxml2-devel.i686                          2.9.1-6.el7_2.3            base     
libxml2-devel.x86_64                        2.9.1-6.el7_2.3            base     
libxml2-python.x86_64                       2.9.1-6.el7_2.3            base     
libxml2-static.i686                         2.9.1-6.el7_2.3            base     
libxml2-static.x86_64                       2.9.1-6.el7_2.3            base     
[root@zl_cloud php-7.4.3]# yum install -y libxml2*

再尝试:

[root@zl_cloud php-7.4.3]# ./configure --prefix=/usr/local/php
......   //省略
checking for sqlite3 > 3.7.4... no
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:

No package 'sqlite3' found

还是出错,按照libxml的解决办法在进行一次安装即可。

安装完成之后再尝试:

[root@zl_cloud php-7.4.3]# ./configure --prefix=/usr/local/php
[root@zl_cloud php-7.4.3]# echo $?
0    //0代表配置成功
[root@zl_cloud php-7.4.3]# make  //编译
[root@zl_cloud php-7.4.3]# make install
[root@zl_cloud php-7.4.3]# echo $? //最后再查看一下
0  

完成。。

10.査资料指出yum upgrade与yum update的区别,它们在什么情况下使用?
update:更新系统中的一个或多个软件包
upgrade:更新软件包同时考虑软件包取代关系
yum upgrade与yum update都能更新系统的所有软件包,不同的就是upgrade相当一次大规模的升级,连带了旧的要淘汰的包也升级。update 和 upgrade 的侧重点不一样,update主要是使软件达到最新,但upgrade更侧重的是软件功能得到一个很大的提升,区别于频繁的发布最新的补丁。upgrade不改变软件设置和系统设置,系统版本升级,内核不改变;update改变软件设置和系统设置,系统版本内核都升级。
① yum upgrade : 用于大规模的版本升级,更新Linux系统和整个软件版本。
② yum update : 用于安装补丁文件,更新内核和软件包到最新。

11.如何査看Linux系统中(CentOS )是否安装过某个包?

[root@zl_cloud ~]# yum list installed | grep vim-enhanced
vim-enhanced.x86_64                   2:7.4.629-6.el7                  @base    
[root@zl_cloud ~]# rpm -qa vim-enhanced
vim-enhanced-7.4.629-6.el7.x86_64
[root@zl_cloud ~]# 

12.在./configure完成后,我们并不知道有没有成功,用什么命令可以验证呢?

[root@zl_cloud php-7.4.3]# echo $?      //验证是否成功
0											//0为成功

13.如果在./configure这一步出现这样的错误:“configure: error: no acceptable C compiler found in $PATH”,我们该怎么办?

# yum install -y gcc //它表示环境变量$PATH中没有找到可用的C语言编辑器,安装解决就可以了

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

15.如何使用光盘构建yum仓库?
上一篇博客的第二点yum工具的第六小点中有具体步骤。

猜你喜欢

转载自blog.csdn.net/zhang_ZERO/article/details/104842315