Linux/Centos7安装与管理程序

  1. Linux应用程序基础
  2. 查询RPM软件包信息
  3. 安装、升级、卸载、RPM软件包 /yum仓库
  4. 源代码编译

一、应用程序与系统命令的关系

  • 文件位置

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

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

  • 主要用途

  • 系统命令:完成对系统的基本管理操作

  • 应用程序:完成相对独立的其他辅助任务

  • 适用环境

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

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

  • 运行格式

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

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

二、典型应用程序的目录结构

  1. /usr/bin 普通执行程序文件
  2. /usr/sbin 服务器执行程序文件和管理程序文件
  3. /etc 应用程序配置文件 (--prefix='指定的路径')
  4. /var/log 日志文件
  5. /usr/share/doc 应用程序文档文件
  6. /usr/share/man 应用程序手页文件

三、常见的软件包封装类型

  1. rpm软件包 .rpm
  2. deb软件包 .deb
  3. 源代码软件包 一般为.tar.gz或者tar.bz2
  4. 绿色免安装的软件包
  • RPM包管理工具

  1. 建立统一的数据库文件
  2. 详细记录软件包安装、卸载等变化信息
  3. 自动分析软件包的依赖关系

一般命名格式:bash-4.1.2-15.el6_4.x86_64.rpm如下表介绍:

bash 软件名称
4.1.2 版本号
15.el6_4 发布次数
x86_64 硬件平台
rpm 扩展名
  • 查询RPM软件包信息

查询已安装的——rpm -q【子选项】[软件名]

  1. -qa: 查看系统已安装的软件包
  2. -qi: 查看软件包的详细信息
  3. -ql: 查看软件包安装的所有信息
  4. -qf: 根据指定文件查看所属软件包
  5. -qc: 查看此软件包所有的配置文件(conf cnf ini)
  6. -qd: 查看此软件包的文档

查询未安装的——rpm -qp【子选项】rpm包文件( i l c d)

  • rpm安装更新与卸载

rpm -ivh——详细安装过程

  1. -U更新
  2. -e卸载
  3. -i 安装
  4. --force 强制执行
  5. --nodeps 解决依赖性关系 (可能会造成软件出现问题)
  6. -h 友好显示(带#读条显示)
  7. -v 显示详细信息

重建RPM数据库命令

  1. rpm --rebuliddb
  2. rpm --initdb

导入验证公钥(默认情况在镜像文件中就有)

rpm --import

四、解决软件包依赖关系方法

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

  1. 被依赖的软件包需要先安装
  2. 可以同时指定多个.rpm包文件进行安装

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

  1. 依赖其他程序的软件包需要先卸载
  2. 可以同时指定多个软件名进行卸载

忽略依赖关系

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

五、源代码编译概述

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

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

源代码编译过程(手工编译安装)——首先安装编译器(gcc和gcc-c++)

  1. 下载源代码安装包文件
  2. tar解压
  3. ./configure配置
  4. make编译
  5. make install 安装
  6. 测试及应用、维护

编译器安装操作

[root@lokott ~]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y
....//中间过程省略,其中yum命令随后介绍
已安装:
  gcc.x86_64 0:4.8.5-39.el7                 gcc-c++.x86_64 0:4.8.5-39.el7                 pcre-devel.x86_64 0:8.32-17.el7                 zlib-devel.x86_64 0:1.2.7-18.el7                

作为依赖被安装:
  cpp.x86_64 0:4.8.5-39.el7              glibc-devel.x86_64 0:2.17-292.el7  glibc-headers.x86_64 0:2.17-292.el7  kernel-headers.x86_64 0:3.10.0-1062.4.1.el7  libmpc.x86_64 0:1.0.1-3.el7 
  libstdc++-devel.x86_64 0:4.8.5-39.el7 

作为依赖被升级:
  glibc.x86_64 0:2.17-292.el7  glibc-common.x86_64 0:2.17-292.el7  libgcc.x86_64 0:4.8.5-39.el7  libgomp.x86_64 0:4.8.5-39.el7  libstdc++.x86_64 0:4.8.5-39.el7  zlib.x86_64 0:1.2.7-18.el7 

完毕!

可以用./configure --help查看帮助

典型配置选项:--prefix=软件安装目录 例如:

[root@lokott ~]#cd  /usr/src/httd-2.2.15/
[root@lokott httpd-2.2.15]#./configure --prefix=/usr/local/apache

六、yum

yum的概念:(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

目的——为了解决依赖关系同时使用最新版本

yum仓库

(1)私网仓库

(2)公网仓库

  1. 自建仓库
  2. 官方仓库

七、总结

主要介绍了Linux的安装与管理程序,简述了Linux应用程序基础、查询RPM软件包信息以及安装、升级、卸载、RPM软件包 /yum仓库和源代码编译(手工编译安装)的相关要点