安装及管理程序

一.Linux应用程序基础

二.RPM软件包管理工具

三.yum

四.源代码编译安装

五.总结

 

 

一.Linux应用程序基础

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

角色

系统命令

应用程序

文件位置

一般在/bin和/sbin目录中,或为shell内部指令

通常在/usr/local/bin和/usr/local/sbin目录中

主要用途

完成对系统的基本管理工作,例如IP配置工具

完成相对独立的其他辅助任务,例如网页浏览器

使用环境

一般只在字符操作界面中运行

根据实际需要,有些程序可在图形界面中运行

运行格式

一般包括命令字.命令选项和命令参数

通常没有固定的执行格式

 

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

文件类型

保存目录

普通执行程序文件

/usr/bin

服务器执行程序文件和管理程序文件

/usr/sbin

应用程序配置文件

/etc

日志文件

/var/log

应用程序参考文档文件

/usr/share/doc

应用程序手册页文件

/usr/local/share/man

 

3.常见的软件封装类型

文件类型

保存目录

RPM软件包

扩展名为“.rp m”

DEB软件包

扩展名为“.deb”

源代码软件包

一般为“.tar.gz”.“.tar.bz2”等格式的压缩包 包含程序的原始代码

 

绿色免安装的软件包

软件包的扩展名不一,以TarBall格式的居多

在压缩包内提供已编译好的执行程序文件

解开压缩包后的文件即可直接使用

 

 

二.RPM包管理工具

1.Red-hat package manager

  由red hat公司提出,被众多Linux发行版所采用

  建立统一的数据库文件

  详细记录软件包安装.卸载等变化信息

  自动分析软件包依赖关系

 

2.RPM软件包

  软件素材参考:http://www.rpm.org

  一般命名格式:

     Bash(软件名称)-4.1.2(版本号)-15(发布次数).el6-4.x86(硬件平台)-64.rpm(扩展名)

 

3.rpm命令的格式

  rpm命令能够实现几乎所有对RPM软件包的管理功能

执行“man rpm”命令可以获得关于rpm命令的详细帮助信息

rpm命令功能

  查询.验证RPM软件包的相关信息

  安装.升级.卸载RPM软件包

  维护RPM数据库信息等综合管理操作

 

4.查询RPM软件包信息

 查询已安装的RPM软件信息

  rpm -q [子选项] [软件名]

 常用选项

命令

功能

rpm -q 软件名

rpm -q elinks lynx

查询指定软件是否已安装

rpm -qi 软件名

rpm -qi samba-clicet

显示已安装的指定软件的详细信息

rpm -ql 软件名

rpm -ql wget

显示已安装的指定软件的文件列表

rpm -qc 软件名

rpm -qc httpd

列出已安装的指定软件的配置文件

rpm -qd 软件名

rpm -qd httpd

列出已安装的指定软件的软件包文档所在位置

rpm -qR 软件名

rpm -qR wget

列出已安装的指定软件的依赖的软件包及文件

rpm -qF 文件或目录

rpm -qF yum

查询已安装的指定软件属于哪个安装包

rpm -qa

rpm -qa | grep -i postfix

显示当前系统中以rpm方式安装的所有软件列表

查询软件postfix是否安装

rpm -qf /usr/bin/passwd

查询指定的文件或目录是哪个软件包所安装的

 

 

查询未安装的RPM软件包文件中的信息

命令

功能

rpm -qpi RPM包文件名           查询指定软件包的详细信息

rpm -qpi /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

rpm -qpl RPM包文件名           查询指定软件包的文件列表

rpm -qpl /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

rpm -qpc RPM包文件名           查询指定软件包的配置文件

rpm -qpc /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

rpm -qpd RPM包文件名           查询指定软件包的软件包文档的位置

rpm -qpd /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

 

5.安装 升级 卸载 RPM软件包

格式 [选项] RPM包文件

rpm -ivh RPM包文件

常用选项:

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

-U:升级某个软件包,若未安装过,则进行安装。

-F:升级某个软件包,若未安装过,则放弃安装。

-h:在安装或升级软件包的过程中,以“#”号显示安装进度。

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

--force:强制安装某个软件包,比如要安装版本更旧的软件包

-e:卸载指定名称的软件包。

--nodeps:在安装或升级.卸载一个软件包时,不检查与其他软件包的依赖关系。

 

案例:

rpm -ivh /mnt/packages/lynx-2.8.8-3.dev15.e17.x86-64.rpm

rpm -e lynx 删除指定软件包

rpm -q lynx 查看安装情况

 

6.维护RPM数据库

1.重建 RPM 数据库

当RPM数据库发生损坏,可通过重建RPM数据库修复

rpm --rebuilddb 或者 rpm --initdb

 

2.导入验证公钥

在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件

mount /dev/sr0 /mnt/

rpm --import /mnt/RPM-GPG-KEY-CentOS-7

 

解决软件包依赖关系方法

安装有依赖关系的多个软件时

  被依赖的软件包需要先安装

  可同时指定多个.rpm包文件进行安装

卸载有依赖关系的多个软件时

  依赖其他程序的软件包需要先卸载

  可同时指定多个软件名进行卸载

忽略依赖关系

  结合“--nodeps”选项,但可以导致软件异常

 

 

三.yum

安装源代码软件包需要编译安装,需要安装支持c和c++程序语言的编译器,如gcc、gcc-c++、make

如果使用rpm方式安装,则需要先安装多个依赖包,这样会很繁琐。这里可以使用 yum方式进行一键安装。

 

先配置本地yum源仓库

mount /dev/cdrom   /mnt/  把光盘挂载到/mnt目录下

挂载    设备      目录或文件夹  

注:最好是空的 原来的数据将被隐藏

一个挂载点同一时只能挂载一个设备

 

cd /etc/yum.repos.d/

mkdir repos.bak

mv *.repo repos.bak

 

cd /etc/yum.repos.d/

vim local.repo

[local] 仓库类别

name=local 仓库名称

baseurl=file:///mnt     指定URL 访问路径为光盘挂载目录

enabled=1 开启此yum源,此为默认项,可省略

gpgcheck=0 不验证软件包的签名

 

yum clean all && yum makecache 删除yum缓存并更新

rpm -ivh /mnt/Packages/httpd

rum install httpd -y

Systemctl start httpd

lsof -i:80

systemctl stop fivrwalld 关闭防火墙

vim /etc/sysconfig/selinux

 

yum常用的操作命令:

命令

功能

yum -y install 软件名

安装、升级软件包,“-y”选项表示自动确认

yum -y remove 软件名

卸载软件包,可自动解决其依赖关系

yum -y update 软件名

升级软件包

查询命令

yum list

查询软件包列表

yum list installed

查询系统中已安装的软件包

yum list available

查询仓库中尚未安装的软件包

yum list updates

查询可以升级版本的软件包

yum info 软件名

yum info httpd

查询软件包的描述信息

yum search [all] 关键词

yum search all httpd

根据某个关键词来查找相关的软件包

yum whatprovides 命令

yum whatprovides netstat

查询命令属于哪个软件包

 

 

 yum install 包名 -y --downloadonly --downloaddir=/tmp/   #下载RPM包到指定目录

 

四.源代码编译概述

 使用源代码安装软件的优点

   获得最新的软件版本,及时修复bug

   根据用户需要,灵活定制软件功能

应用场合举例

  安装较新版本的应用程序时

  当前安装的程序无法满足需要时

  需要为应用程序添加新的功能时

源代码编译概述

  Tarball封包

      .tar.gz和.tar.bz2格式居多

      软件素材参考:http://sourceforge.net

  完整性校验

      Md5sum校验工具

      [root@localhost home]# md5sum httpd-2.4.29.tar.bz2

0c599404ef6b69eee95bcd9fcd094407  httpd-2.4.29.tar.bz2

确认源代码编译环境

      需安装支持C/C++程序语言的编译器,

      如:gcc  gcc-c++  make  ......

 

编译安装过程

安装及管理程序

 

 

Tar解包

习惯上将软件包释放到/usr/src/目录

解包后的源代码文件位置

  /usr/src/软件名-版本号/

示例:

[root@localhost~]# tar zxf httpd-2.4.25.tar.gz-C /usr/src/

解压源代码包,并指定释放目录

 

Make编译与安装

编译:执行make命令

安装:执行make install 命令

示例:[root@localhost httpd-2.4.25]#make

      [root@localhost httpd-2.4.25]#make install

 

测试.应用.维护软件

使用前:[root@localhost httpd-2.4.25]#vim /usr/local/apache/conf/httpd.conf

启动Apache:

[root@localhost httpd-2.4.25]# /usr/local/apache/bin/apachectl start

运行lynx127.0.0.1 查看本机Apache运行状态

 

五.总结

典型应用程序的命令结构

常见的软件包封装类型

使用rpm命令查询RPM软件信息的常用选项

使用rpm命令安装.升级.卸载RPM软件包的常用选项

软件包的封装类型

RPM软件包管理工具

源代码编译安装基本过程

上一篇:升级Centos6/7内核版本方法


下一篇:简单JDBC