Linux 系统管理03-安装及管理程序

一、rpm 包安装

1.RPM Package Manger

由 Red Hat 公司提供,被众多 Linux 发行版本所采用。 建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包 依赖关系。

2.RPM 软件包

一般命名格式:

3.查询已安装的 RPM 软件信息

(1)格式:rpm -q [子选项] [软件名]

(2)用法:结合不同的子选项完成不同的查询

-qa:查看已安装的所有 RPM 软件包列表
-qi:查看指定软件的详细信息
-ql:查询软件包安装的目录、文件列表

(3)示例:

【查询是否安装 bash 软件包】

[root@huyouba1 ~]# rpm -q bash
bash-4.2.46-31.el7.x86_64

[root@huyouba1 ~]# rpm -qa |grep bash
bash-completion-2.1-6.el7.noarch
bash-4.2.46-31.el7.x86_64

【查询 postfix 软件包安装的文件列表】

[root@huyouba1 ~]# rpm -ql postfix
/etc/pam.d/smtp
/etc/pam.d/smtp.postfix
/etc/postfix
/etc/postfix/access
.......

4.查询文件或目录属于哪个 RPM 软件

(1)格式:rpm -qf 文件或目录名

(2)示例:

[root@huyouba1 ~]# which  vim
/usr/bin/vim

[root@huyouba1 ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-5.el7.x86_64

5.查询未安装的 RPM 包文件

(1)格式:rpm -qp [子选项] RPM 包文件

(2)用法:结合不同子选项完成不同的查询

-qpi:查看该软件的详细信息

-qpl:查看包内所含的目录、文件列表

(3)示例

[root@huyouba1 Packages]# rpm -qpi ethtool-4.8-9.el7.x86_64.rpm

[root@huyouba1 Packages]# rpm -qpl ethtool-4.8-9.el7.x86_64.rpm 

6.安装、升级 RPM 软件

(1)格式:rpm [选项] RPM 包文件

(2)用法:不同选项适用于不同的情况

-i:安装一个新的 rpm 软件包

-U:升级,若未安装,则进行安装

-h:以 “#” 号显示安装的进度

-v:显示安装过程中的详细信息

-F:更新某个 rpm 软件,若未安装,则放弃安装

(3)辅助选项:

–force:强制安装所指定的 rpm 包(一般不用)

(4)示例:安装光盘中的 lynx 软件包

[root@huyouba1 Packages]# rpm -q lynx
未安装软件包 lynx 

[root@huyouba1 Packages]# rpm -ivh lynx-2.8.8-0.3.dev15.el7.x86_64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
1:lynx-2.8.8-0.3.dev15.el7         ################################# [100%]

注意:rpm 方法安装不能自动解决依赖关系,所以在安装对应的软件之前需要先解除对应的依赖关系

7.卸载 RPM 软件

(1)格式:rpm -e 软件名

(2)辅助选项:

–nodeps:安装、升级或卸载软件时,忽略依赖关系(一般不用)

(3)示例:

[root@huyouba1 ~]# rpm -e lynx

[root@huyouba1 ~]# rpm -q lynx
未安装软件包 lynx 

8.重建 RPM 数据库

[root@huyouba1 ~]# rpm --rebuilddb 

[root@huyouba1 ~]# rpm --initdb 

二、构建本地 yum 仓库

1.挂载光盘

[root@huyouba1 ~]# umount  /dev/cdrom     【推出原来挂载的光盘】

[root@huyouba1 ~]# mkdir /media/cdrom    【创建挂载目录】
    
[root@huyouba1 ~]# mount /dev/cdrom  /media/cdrom/    【挂载光盘】
 mount: /dev/sr0 写保护,将以只读方式挂载

2.修改本 yum 仓库客户端配置文件

[root@huyouba1 ~]# cd /etc/yum.repos.d/

[root@huyouba1 yum.repos.d]# mkdir bak

[root@huyouba1 yum.repos.d]# mv *.r* bak/

[root@huyouba1 yum.repos.d]# cp bak/*M* ./

[root@huyouba1 yum.repos.d]# vim CentOS-Media.repo 
.......

enable=0 改为1

:wq

[root@huyouba1 yum.repos.d]# cd /media/cdrom/

[root@huyouba1 cdrom]# rpm --import  *K*    【导出 gpg KEY 文件到当前系统】

[root@huyouba1 cdrom]# yum -y clean all    【清除本地 yum 缓存】
已加载插件:fastestmirror
正在清理软件源: c7-media
Cleaning up list of fastest mirrors
Other repos take up 81 M of disk space (use --verbose for details)

[root@huyouba1 cdrom]# yum makecache     【重建本地 yum 缓存】

3.yum 安装、卸载、升级 RPM 包软件

(1)安装:yum -y install 软件名

(2)卸载:yum -y remove (或erase) 软件名

(3)升级:yum -y update 软件名

说明:-y 不进行交互

三、源代码编译安装

1.inux命令与应用程序的关系

(1)文件位置

1>系统命令:一般在/bin和/sbin 目录中,或为Shell 内部命令。

2>应用程序:通常在/usr/bin 和/usr/sbin 目录中

(2)主要用途

1>系统命令:完成对系统的基本管理工作,例如 IP 配置工具。

2>应用程序:完成相对独立的其他辅助任务,例如网页浏览器。

(3)使用环境

1>系统命令:一般只在字符操作界面中运行

2>应用程序:根据实际需求,有些程序可在图形界面中运行。

(4)运行格式:

1>系统命令:一般包括命令字、命令选项和命令参数

2>应用程序:通常没有固定格式

null 系统命令 应用程序
文件位置 /bin 和 /sbin /usr 和 /usr/sbin  
主要用途 针对系统 相对独立
适用环境 字符界面 字符界面或图形界面
运行格式 命令字、选项、参数 无固定格式

2.典型应用程序目录结构

文件类型 保存目录
普通执行程序文件 /usr/bin
服务器执行程序文件和管理程序文件 /usr/sbin
应用程序配置文件 /etc
日志文件 /var/log
应用程序文档文件 /usr/share/doc
应用程序手册页文件 /usr/share/man

3.常见的软件包封装类型

封装类型 说明
rpm 软件包 扩展名为“.rpm”
deb 软件包 扩展名为“.deb”
源代码软件包 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包,包含程序的原始 代码
附带安装程序的软件包 在压缩包内提供 install.sh、setup 等安装程序或以“.bin”格式 的单个执行文件提供
绿色免安装的软件包 一般解压后即可使用

4.源代码编译概述

(1)使用源代码的优点:

  • 获得最新的软件版本,及时修复 bug
  • 根据用户需要,灵活制定软件功能

(2)应用场合举例

  • 安装较新版本的应用程序时
  • 当前安装的程序无法满足需要时
  • 需要为应用程序添加新的功能时

(3)Tarball 封包

  • .tar.gz 和.tar.bz2 格式居多
  • 软件素材参考:http://sourceforge.net

(4)完整性校验

  • 计算 MD5 校验和,并与官方提供的值相比较,判断是否一致。若不一致,可能 源码包破损或被人植入程序,需谨慎。
[root@huyouba1 Packages]# md5sum lynx-2.8.8-0.3.dev15.el7.x86_64.rpm 
8d43949720c99fe0dafbcd35d451a05a  lynx-2.8.8-0.3.dev15.el7.x86_64.rpm

5.确认源代码编译环境

  • 需要支持 C/C++程序语言的编译器,
  • 如:

gcc-4.4.7-4.el6

gcc-c++-4.4.7-4.el6

make-3.81-20.el6……

  • 示例:
[root@huyouba1 ~]# gcc --version

[root@huyouba1 ~]# make --version

6.编译安装流程

(1)解包

  • 习惯上将软件包释放到/usr/src/目录
  • 解包后的源码位置:/usr/src/软件名-版本号/
  • 示例
[root@huyouba1 ~]# tar xf httpd-2.2.17.tar.gz -C /usr/src/

(2)预配置

  • 使用源码目录中的 configure 脚本
  • 执行 “./configure –help” 可查看帮助
  • 典型的配置选项: –prefix=软件安装目录
  • 示例:
[root@huyouba1 ~]# cd /usr/src/httpd-2.2.17/

[root@huyouba1 httpd-2.2.17]# ./configure --prefix=/usr/local/apache

(3)编译

  • 执行 make 命令
  • 示例:
[root@huyouba1 httpd-2.2.17]# make

(4)安装

  • 执行 make install 命令
  • 示例:
    [root@huyouba1 httpd-2.2.17]# make install 
    

(5)编译安装步骤

1>备份后,修改配置文件

[root@huyouba1 httpd-2.2.17]# cd /usr/local/apache/conf/

[root@huyouba1 conf]# cp httpd.conf  httpd.conf.bak

[root@huyouba1 conf]# vim /usr/local/apache/conf/httpd.conf
......
#ServerName www.example.com:80
ServerName www.example.com:80
......

2>启动 Apache

[root@huyouba1 ~]# /usr/local/apache/bin/apachectl start

3>运行 lynx 127.0.0.1

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦