Linux 软件包的安装与管理

本文详细介绍Linux环境下三种软件安装方式:rpm软件包管理、yum安装软件包及源码编译安装。涵盖rpm包管理器的基本操作如安装、查询、卸载等,通过yum简化依赖关系处理的方法,以及从源代码开始的编译安装流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标内容

rpm软件包管理
yum安装软件包
源码编译安装软件包


[b]1.rpm软件包管理[/b]
简称: Redhat Package Manager

主要有RPM和YUM这两种包管理。
两种包管理各有用处,其中主要区别是:
YUM使用简单,可以本地使用也可联网,网络YUM源,就是YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作精度比较细,需要我们做的事情比较多。

[u]挂载光盘[/u]
# umount /dev/sr0 卸载
# mount /dev/sr0 /media 挂载
查看包的个数
# cd /media/Packages
# ls|wc -l

[u]rpm包说明:[/u]
zsh-5.0.2-14.el7.x86_64.rpm

zsh -5 0 . 2 -e17 x86 64
软件名 主版本号 次版本号 修订号 RHEL7 CPU架构平台 支持系统位数
注:EL6 EL5

[u]安装rpm软件[/u]
命令:rpm [参数] 软件包
参数:
 -i, --install 安装软件包
 --nodeps 不验证软件包依赖
 -v, --verbose 提供更多的详细信息输出
 -h, --hash 软件包安装的时候列出哈希标记

[u]安装例子[/u]
# rpm -ivh mariadb-server-5.5.44-2.el7.x86_64.rpm
忽略依赖
# rpm -ivh mariadb-server-5.5.44-2.el7.x86_64.rpm --nodeps
第三种:到rpm包相关的网站上去下载软件包
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html

[u]rpm查询功能[/u]
用法:rpm –q 常与下面参数组合使用
 -a 查询所有已安装的软件包
 -f 查询 文件所属软件包
 -i 显示已经安装的rpm软件包信息
 -l 和p搭配使用显示未安装软件包的相关文件列表和信息
通常可以配合管道 | more 来使用,使得结果更易读

# rpm -q lrzsz #查找
# rpm -qi lrzsz #显示已经安装lrzsz的信息
# rpm -qf `which vim`
# rpm -ql zsh|more #查看zsh 安装了那些文件

[u]rpm包卸载[/u]
用法:rpm –e 包名
参数:
--nodeps 忽略依赖
# rpm -e mariadb-5.5.44.el7.x86_64 --nodeps

[u]签名验证[/u]
导入RPM-GPG-KEY后, 安装rpm包时,对rpm的签名进行验证
GPG在Linux上的应用主要是实现官方发布的包的签名机制。
GPG分为公钥及私钥。
公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据
例如:验证一个RPM包的签名
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# rpm -K lrzsz-0.12.20-36.el7.x86_64.rpm


[b]2.yum安装软件包[/b]
yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

YUM:解决依赖关系问题,自动下载软件包,它是基于C/S架构
C=client S=ftp\http\file

YUM源分本地源和网络源

[u]本地yum源配置[/u]
# rm -rf /etc/yum.repos.d/*
# vim rhel7.repo
[7-source] #yum源名称,唯一的,用来区分不同的yum源
name=rhel7-server #对yum源描述信息
baseurl=file:///media #yum源的路径(repodata目录所在的目录)
enabled=1 #为1,表示启用yum源
gpgcheck=0 #为1,使用公钥检验rpm的正确性

清空yum缓存
# yum clean all

生成列表
# yum list|more
注意的几个小问题:
 确定光盘是否链接
 光盘是否挂载
 配置文件中格式是否正确,字母,符号有没有少写

[u]yum 使用[/u]
1)安装 yum install -y
2) 检测升级 yum check-update
3) 升级 yum update
4) 软件包查询 yum list
5) 软件包信息 yum info
6) 卸载 yum remove
7) 帮助 yum -help、man yum
# yum -y install httpd

[u]安装一组软件包[/u]
查看有那些包组
# yum grouplist

安装一个包组
# yum –y groupinstall "Security Tools"

[b]3.源码编译安装软件包[/b]
源代码包的安装
1)解压解包
tar -xzvf 源代码包
[说明]
x为解包、z为解压(仅适合gzip,bz2[用j]则先解包再unzip解压)、v显示过程、f指定被解压包名
2)配置
进入解压后的目录,用 ./configure [--prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)
3)编译
make -j 4
4)安装
make install

[u]nginx安装[/u]
[i]安装依赖[/i]
看一下这两个包有没有:pcre-devel zlib-devel
# yum -y install zlib-devel
# yum -y install pcre-devel

[i]添加运行用户[/i]
# useradd -s /sbin/nologin -M nginx
参数解释
 -M 不创建宿主目录
 -s 指定登陆的shell环境 /sbin/nologin 禁止登陆

[i]解压 nginx [/i]
# tar -zxvf nginx-1.0.15.tar.gz
# tar -zxvf nginx-1.0.15.tar.gz -C /usr/local
# ls /usr/local
# cd /usr/local/nginx-1.0.15
# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

如果出现以上情况,是缺gcc包,安装一下
# yum install -y gcc # 在执行 ./configure

# make -j 4
# make install


[i]nginx路径优化[/i]
首先把主程序复制到etc下面
# cd /usr/local/nginx/sbin/
# ls
nginx
# cp nginx /etc/init.d/
验证有没有语法错误
# /etc/init.d/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx ,不加参数,验证

# /etc/init.d/nginx
# netstat -anput|grep nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值