ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

安装及管理程序

2021-12-22 19:06:22  阅读:133  来源: 互联网

标签:管理程序 安装 RPM yum 软件包 软件 rpm


一.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软件包管理工具

源代码编译安装基本过程

标签:管理程序,安装,RPM,yum,软件包,软件,rpm
来源: https://www.cnblogs.com/zb1729/p/15720706.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有