Linux系统安装及管理程序(RPM软件包管理、搭建yum仓库和编译安装)

目录

一.Linux系统应用程序

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

2.常见软件包封装类型

二.RPM软件包管理

1.RPM是什么?

2.RPM一般命名格式

3.RPM安装包从哪里来?

4.挂载的定义

5.查询软件包是否已安装

5.1查看已安装的软件包

5.2 查看未安装的软件包

6.用RPM安装和卸载软件

6.1 安装

6.2 卸载

7.用yum安装和卸载软件

7.1 安装

7.2 卸载

三.搭建yum仓库

1.配置虚拟机

 2.所需命令(含解释)

 3.可能会出现的问题

四.编译安装

1.编译安装基本介绍

2.编译安装所需命令


一.Linux系统应用程序

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

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

2.常见软件包封装类型

文件类型保存目录
RPM软件包扩展名为“.rpm"
DEB软件包扩展名为“.deb"
源代码软件包一般为“.tar.gz"等格式的压缩包".tar.bz2"包含程序的原始代码
绿色免安装的软件包

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

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

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

如“子网掩码计算器”

二.RPM软件包管理

1.RPM是什么?

RPM(Red-Hat package Manager):

  • 由Red Hat公司提出, 被众多Linux发行版所采用
  • 建立统一的文件数据库
  • 详细记录软件包安装、卸载、升级等变化信息
  • 自动分析软件包依赖关系

2.RPM一般命名格式

bash-4.1.2-15.el6_4.x86_64.rpm

3.RPM安装包从哪里来?

  • 官网下载  或者  自研
  • 在安装光驱中 ,约4.7G 中,3个G 都是安装包。
  • 4.挂载的定义

系统内部的 一个文件夹 和  硬件设备关联,只要访问文件夹 等于访问硬件设备上的空间。(把硬盘  变成文件  让系统识别并使用   硬盘的空间)

外来的硬件设备需要连接在 linux系统 上使用, 必须挂载!

挂载格式:

mount   硬件设备     文件夹

硬件文件:

/dev/sr0      或者 /dev/cdrom     光驱   硬盘         

解挂载格式:

umount    挂载的文件夹

5.查询软件包是否已安装

5.1查看已安装的软件包

查看已安装的软件包格式

rpm  -q  软件名

选项功能
-q查询已安装的软件都要加q
-qi查看指定软件详细信息
-ql显示指定软件包的所有文件列表
-qc显示指定软件包的配置文件
-qa显示当前系统中以 RPM 方式安装的所有软件列表

5.2 查看未安装的软件包

查看未安装的软件包格式

rpm  -qp  软件名

6.用RPM安装和卸载软件

6.1 安装

格式:

rpm -ivh   软件名

RPM软件包安装软件      注意依赖关系

-i安装
-v过程
-h人性化

6.2 卸载

格式:

rpm -e   软件名

7.用yum安装和卸载软件

7.1 安装

yum install 软件 -y
#安装软件

7.2 卸载

yum remove 软件
#卸载软件

三.搭建yum仓库

配置本地yum仓库过程如下:

1.配置虚拟机

 2.所需命令(含解释)

mount /dev/sr0 /mnt          #挂载提供安装包
cd /etc/yum.repos.d          #切换到固定目录
mkdir bak                    #建立备份文件夹
mv *.repo bak                #将所有网络源移走,减少干扰
vim zhuo.repo                #自建本地源的配置文件

[zhuo]                       #自定义仓库描述
name=zhuoer                  #自定义仓库名
baseurl=file:///mnt          #指明仓库位置
gpgcheck=0                   #不验证安全性(若为1则验证)

yum clean all                #清理缓存
yum makecache                #重新建立元数据
yum install bind -y          #下载软件bind进行验证

 进入vim编辑器后

 保存并退出vim编辑器后

 

 

 3.可能会出现的问题

/var/run/yum.pid 已被锁定,PID 为 2550 的另一个程序正在运行。

使用Ctrl+c停止后

 输入解决命令:rm  -f  /var/run/yum.pid  或者 kill -9 2550(PID号)

即可解决,继续如上输入命令

四.编译安装

1.编译安装基本介绍

大部分是c语言开发的,更方便的使用

  1. 软件版本比较新,新功能,修复bug

  2. 可以自行定义配置文件的路径

  3. 源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50

程序包编译安装:

源代码-->预处理-->编译-->汇编-->链接-->执行

多文件:文件中的代码之间,很可能存在跨文件依赖关系

虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具,可以大大减少编译过程的复杂度。

2.编译安装所需命令

预先安装软件

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre apr*

开始编译安装

[root@localhost ~]# mkdir /bianyi
[root@localhost ~]# cd /bianyi/
[root@localhost bianyi]# wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.48.tar.bz2
--2021-07-01 22:39:47--  https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.48.tar.bz2
正在解析主机 mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)... 39.155.141.16, 2001:da8:20f:4435:4adf:37ff:fe55:2840
正在连接 mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)|39.155.141.16|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:7194385 (6.9M) [application/octet-stream]
正在保存至: “httpd-2.4.48.tar.bz2”

100%[=========================================================>] 7,194,385   4.45MB/s 用时 1.5s   

2021-07-01 22:39:49 (4.45 MB/s) - 已保存 “httpd-2.4.48.tar.bz2” [7194385/7194385])
[root@localhost bianyi]tar xvf httpd-2.4.48.tar.bz2
[root@localhost bianyi]# ls
httpd-2.4.48  httpd-2.4.48.tar.bz2
[root@localhost bianyi]# cd httpd-2.4.48/
[root@localhost httpd-2.4.48]# ./configure \
--prefix=/usr/local/apache \


./configure --prefix=/usr/local/apache 

中间省略
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.
无apr包安装即可
[root@localhost httpd-2.4.48]# yum install apr* -y
中间省略
作为依赖被升级:
  cyrus-sasl.x86_64 0:2.1.26-23.el7               cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7        
  cyrus-sasl-lib.x86_64 0:2.1.26-23.el7           cyrus-sasl-md5.x86_64 0:2.1.26-23.el7           
  cyrus-sasl-plain.x86_64 0:2.1.26-23.el7         cyrus-sasl-scram.x86_64 0:2.1.26-23.el7         
  expat.x86_64 0:2.1.0-12.el7                     libdb.x86_64 0:5.3.21-25.el7                    
  libdb-utils.x86_64 0:5.3.21-25.el7              openldap.x86_64 0:2.4.44-23.el7_9               

完毕!
[root@localhost httpd-2.4.48]# ./configure \
> --prefix=/usr/local/apache \

checking for APR-util... yes
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/bianyi/httpd-2.4.48':
configure: error: C compiler cannot create executables
See `config.log' for more details
提示gcc 没有安装,安装即可
[root@localhost httpd-2.4.48]# yum install gcc* -y
中间省略
作为依赖被升级:
  glibc.x86_64 0:2.17-324.el7_9 glibc-common.x86_64 0:2.17-324.el7_9 libgcc.x86_64 0:4.8.5-44.el7
  libgomp.x86_64 0:4.8.5-44.el7 libstdc++.x86_64 0:4.8.5-44.el7
[root@localhost httpd-2.4.48]# ./configure \
> --prefix=/usr/local/apache \

checking for gcc option to accept ISO C99... -std=gnu99
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
pcre没装安装即可
[root@localhost httpd-2.4.48]# yum install pcre* -y
中间省略
已安装:
  pcre-devel.x86_64 0:8.32-17.el7                  pcre-static.x86_64 0:8.32-17.el7               
  pcre-tools.x86_64 0:8.32-17.el7                  pcre2-devel.x86_64 0:10.23-2.el7               
  pcre2-static.x86_64 0:10.23-2.el7                pcre2-tools.x86_64 0:10.23-2.el7               
  pcre2-utf16.x86_64 0:10.23-2.el7                 pcre2-utf32.x86_64 0:10.23-2.el7               

完毕!
[root@localhost httpd-2.4.48]# ./configure \
> --prefix=/usr/local/apache \

中间省略
 Server Version: 2.4.48
    Install prefix: /usr/local/apache
    C compiler:     gcc -std=gnu99
    CFLAGS:           -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE  
    LDFLAGS:           
    LIBS:             
    C preprocessor: gcc -E
[root@localhost httpd-2.4.48]# make
等待编译完成
/modules/lua -I/bianyi/httpd-2.4.48/modules/proxy -I/bianyi/httpd-2.4.48/modules/http2 -I/bianyi/httpd-2.4.48/modules/session -I/bianyi/httpd-2.4.48/modules/ssl -I/bianyi/httpd-2.4.48/modules/test -I/bianyi/httpd-2.4.48/server -I/bianyi/httpd-2.4.48/modules/md -I/bianyi/httpd-2.4.48/modules/arch/unix -I/bianyi/httpd-2.4.48/modules/dav/main -I/bianyi/httpd-2.4.48/modules/generators -I/bianyi/httpd-2.4.48/modules/mappers -prefer-pic -c mod_rewrite.c && touch mod_rewrite.slo
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -std=gnu99  -pthread           -o mod_rewrite.la -rpath /usr/local/apache/modules -module -avoid-version  mod_rewrite.lo 
make[4]: 离开目录“/bianyi/httpd-2.4.48/modules/mappers”
make[3]: 离开目录“/bianyi/httpd-2.4.48/modules/mappers”
make[2]: 离开目录“/bianyi/httpd-2.4.48/modules”
make[2]: 进入目录“/bianyi/httpd-2.4.48/support”
make[2]: 离开目录“/bianyi/httpd-2.4.48/support”

make[1]: 离开目录“/bianyi/httpd-2.4.48”
[root@localhost httpd-2.4.48]# make install
等待编译完成
Installing man pages and online manual
mkdir /usr/local/apache/man
mkdir /usr/local/apache/man/man1
mkdir /usr/local/apache/man/man8
mkdir /usr/local/apache/manual
make[1]: 离开目录“/bianyi/httpd-2.4.48”
[root@localhost bin]# /usr/local/apache/bin/apachectl
#启动服务
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost bin]# netstat -ntap |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      56463/httpd 
[root@localhost bin]# systemctl stop firewalld.service 
[root@localhost bin]# setenforce 0
[root@localhost bin]# netstat -ntap |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      56463/httpd

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小啄学习日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值