系统相关
首页 > 系统相关> > Linux程序安装及管理详解

Linux程序安装及管理详解

作者:互联网

知识结构:

Linux应用程序基础

查询rpm软件包信息

安装,升级,卸载,rmp软件包

源代码编译安装


(一)Linux 应用程序基础

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

文件位置

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

  应用程序:通常在/usr/bin和/usr/sbin目录中  7.0版本存放应用程序/usr/local

主要用途

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

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

适用环境

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

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

运行格式

  系统命令:一般包括命令字,选项,参数

  应用程序:通常没有固定的执行格式

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

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

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

文件类型保存目录
rpm软件包扩展名“.rpm”
deb软件包扩展名“.deb”一般用于Debian,Ubuntu 安装命令dpkg
源代码软件包

一般为“.tar.gz”,“.tar.bz2”等格式的压缩

包包含程序的原始代码

绿色免安装的软件包

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

解开压缩包后的文件即可直接使用  (install.sh  setup)

(二)RPM包管理工具

 RPM Package Manager:

     由Red Hat公司提出,被众多Linux发行版所采用的

      建立统一的数据库文件

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

      自动分析软件包的依赖关系

 RPM软件包

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

     一般命名格式:

微信截图_20190814191409.png

补充:i386 i686是32位  x86_64 64位(现在基本都是64位)

1,查询RPM软件包信息

查询已安装的RPM软件信息

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

常用选项:

-qa:查看系统中所有安装的软件包

微信截图_20190814193647.png

-qi:查看版本信息

微信截图_20190814193647.png

-ql:RPM软件包在当前系统中安装的所有目录,文件

微信截图_20190814193647.png

-qf:查看指定文件或目录是由哪个软件包创建的

微信截图_20190814193647.png

-qc:软件包中的配置文件

微信截图_20190814193647.png

-qd:文档手册

微信截图_20190814193647.png

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

rpm -qp [子选项] [rpm包文件]

常用选项:-qpi,-qpl,-qpc,-qpd使用方法如上图所示

2,安装,升级,卸载RPM软件包

安装或升级RPM软件

rpm [选项] RPM包文件...

常用选项:

-i:在当前系统中安装一个新的RPM软件包

[root@localhost Packages]# rpm -ivh lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
警告: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%]

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

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


-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于-i选项

-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装

--force:强制执行

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

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

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


解决软件包依赖关系方法

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

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

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

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

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

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

忽略依赖关系

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

3,维护RPM数据库

重建RPM数据库

[root@localhost ~]# rpm --rebuilddb
或者
[root@localhost ~]# rpm --initdb

导入验证公钥

[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7

(三)源代码编译概述

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

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

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

应用场合举例

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

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

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


编译安装源代码包

Tarball封包

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

    软件素材参考:sourceforge.net

完整性校验

    md5sum校验工具

[root@localhost ~]# md5sum httpd-2.4.25.tar.gz 
24fb8b9e36cf131d78caae864fea0f6a httpd-2.4.25.tar.gz

确定源代码编译环境

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

        gcc-4.4.7-4.el6,gcc-c++-4.4.7-4.el6...


编译安装过程

微信截图_20190814224708.png


后语:

yum本地仓库的搭建请在下一篇详解

源代码安装具体操作在后续的博客中将具体展现

谢谢大家的阅读!!!

标签:程序安装,rpm,Linux,RPM,应用程序,详解,软件包,软件,安装
来源: https://blog.51cto.com/14080162/2429608