Linux基础——安装及管理程序
1.查询RPM软件包信息
1.1 RPM概述
1.1.1 什么是RPM包?
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
1.1.2 RPM软件包的格式
bash-4.1.2_15.el6_4.x86_64.rpm
#bash 软件名称
#4.1.2版本号
#15.el6_4发布次数
#x86_64测试平台
#rpm rpm格式
1.2 使用RPM包管理命令——rpm
1.2.1 查询已经安装的RPM软件信息
rpm -q 【子选项】 【软件名】
用法:
-qa :查看已经安装的所有的RPM软件包列表
-qi :查看指定软件包详细信息
-ql :查询软件包的安装目录、文件列表
例1:查询 bash
[root@localhost opt]# rpm -q bash
bash-4.2.46-28.el7.x86_64
[root@localhost opt]# rpm -qa |grep bash
bash-4.2.46-28.el7.x86_64
bash-completion-2.1-6.el7.noarch
例2:查询postfix文件列表
[root@localhost opt]# rpm -ql postfix
例3:查询文件或目录属于哪个RPM软件
[root@localhost opt]# which vim
/usr/bin/vim
[root@localhost opt]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-2.el7.x86_64
1.2.2 查询未安装的RPM软件信息
rpm -qp 【子选项】【RPM包文件】
-qpi 查看该软件的详细信息
-qpl 查看包内所有包含的目录、文件列表
例:查看ethtool软件详细信息
cd /mnt/Packages
[root@localhost Packages]# rpm -qpi ethtool-4.8-1.el7.x86_64.rpm
1.2.3 查看包内所有文件列表
[root@localhost Packages]# rpm -qpl ethtool-4.8-1.el7.x86_64.rpm
2.安装、升级、卸载RPM包
2.1 安装,升级RPM包
-i 安装一个新的rpm软件 ## 常用
-U 升级、若未安装、则进行安装 ## 不是经常用 版本要更新的时候可能用
-h 以#号显示安装的进度 ## 常用
-v 显示安装过程的详细信息 ## 常用
-F 更新某个rpm软件,若未安装,则放弃安装
–force 强制安装所指定的rpm软件包
例:安装lynx软件包
root@localhost Packages]# rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
警告:/mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:lynx-2.8.8-0.3.dev15.el7 ################################# [100%]
2.2 卸载RPM包
rpm -e 【软件名】
辅助选项
–nodeps 安装、升级或卸载软件是、忽略关系。
[root@localhost Packages]# rpm -e lynx
2.3 解决软件包依赖关系
安装:被依赖的软件包需要先安装、可同时指定多个.rpm包软件进行安装
卸载:依赖其他程序的软件包需要先卸载、可同时指定多个软件名进行卸载
忽略依赖关系:结合–nodeps 选项,但可能会导致软件异常。#####一般不用###
2.4 维护RPM数据库
一般在非正常操作的情况下回丢失,所以我们要重建rpm数据库
rpm --rebuilddb
或
rpm --initdb
3.源代码编译安装
3.1 掌握从源码包编译安装程序
安装GCC gcc-c++
yum -y install gcc gcc-c++ make
上传http-2.4.25.tar.gz软件包到/opt目录下
[root@localhost ~]# cd /opt #####切换到 /opt目录下
[root@localhost opt]# tar xzvf httpd-2.4.25.tar.gz -C /opt #####解压压缩包
[root@localhost opt]# cd httpd-2.4.25/ #####进入httpd-2.4.25目录
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache #####./configure配置 这里添加了安装的路径
[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install
[root@localhost httpd-2.4.25]# cd /usr/local/apache/bin/ #####进入/usr/local/apache/bin/目录
[root@localhost bin]# ll
总用量 1124
-rwxr-xr-x 1 root root 51872 9月 21 22:57 ab
-rwxr-xr-x 1 root root 3434 9月 21 22:55 apachectl
-rwxr-xr-x 1 root root 23514 9月 21 22:55 apxs
-rwxr-xr-x 1 root root 8696 9月 21 22:57 checkgid
-rwxr-xr-x 1 root root 8925 9月 21 22:55 dbmmanage
-rw-r--r-- 1 root root 1071 9月 21 22:55 envvars
-rw-r--r-- 1 root root 1071 9月 21 22:55 envvars-std
-rwxr-xr-x 1 root root 13800 9月 21 22:57 fcgistarter
-rwxr-xr-x 1 root root 40936 9月 21 22:57 htcacheclean
-rwxr-xr-x 1 root root 28056 9月 21 22:57 htdbm
-rwxr-xr-x 1 root root 14072 9月 21 22:57 htdigest
-rwxr-xr-x 1 root root 23416 9月 21 22:57 htpasswd
-rwxr-xr-x 1 root root 851848 9月 21 22:57 httpd
-rwxr-xr-x 1 root root 13760 9月 21 22:57 httxt2dbm
-rwxr-xr-x 1 root root 14392 9月 21 22:57 logresolve
-rwxr-xr-x 1 root root 23048 9月 21 22:57 rotatelogs
[root@localhost bin]# vi /usr/local/apache/conf/httpd.conf ######在194行 # 号去掉
[root@localhost bin]# ./apachectl start
httpd (pid 19441) already running
[root@localhost bin]# rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm ####安装客户端浏览器##
警告:/mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:lynx-2.8.8-0.3.dev15.el7 ################################# [100%]
[root@localhost bin]# lynx 127.0.0.1 ####这个是客户端的浏览工具####
It works!