Linux/Centos7软件安装与管理程序
admin
2023-03-01 13:22:08
0

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仓库和源代码编译(手工编译安装)的相关要点,其中源代码安装中配置文件和make install程序error的概率比较高,所以解决这类问题的研究者都是有一定实力的!!!所以我们需要永远向优秀的人学习!

相关内容

热门资讯

学习机直播乱象调查:主播打北大... 极目新闻记者 刘闪 何佳仪打开短视频平台,各类学习机测评直播间随处可见。一些自诩自己是“老师”的主播...
即日起,郑州“错峰加油”有优惠... 进入5月,又到了郑州臭氧污染频发的季节,记者从郑州市生态环境局移动源污染监管处了解到,为减少臭氧污染...
汗水写热爱 篮球致青春 成人组1VS1比赛。河南日报全媒体记者 黄晖 摄“非常高兴能够参加这种全民赛事,也希望以后能够有更多...
荷兰六六民主党全国办公室遭爆炸... 荷兰警方7日说,荷兰执政党之一的六六民主党位于海牙的全国办公室当晚遭爆炸物袭击,造成建筑受损,无人受...
樱花树油烟机总是开不了怎么回事 电源问题。先检查电源是否未插上或是否电,若没有,将它重新插好,等待来电后测试,检查开不了机的问题是否...
燃气灶打火后一会就灭是什么原因 原因可能是电池没有电了,所以一开始能够打着火,但是燃烧了一会儿又熄灭了,这种情况下可以尝试更换一节新...
灶盘有气儿,就是高压不打火 这种情况是点火器出了问题,如果点火器无法产生火花,那炉灶盘自然也就不能产生火,通常来说,如果灶台的开...
迅达热水器水流小怎么办 当你发现迅达热水器水流小时,可能会感到烦恼。然而,这个问题通常是很容易解决的。以下是一些可能导致水流...
迅达燃气灶打不着火 1、打火时看一下会不会有火花出来,如果没有火花就是电池没有电导致的打不着火。2、也有可能是迅达燃气灶...