一,RPM包管理(rpm软件包管理 rpm ivh Uvh qa qpl qpi)。
两种包管理各有用处,其中主要区别是:YUM使用简单但有时需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作精度比较细,需要我们做的事情比较多。
rpm软件包管理:
全称: Redhat Package Manager
挂载光盘
[root@localhost ~]# umount /dev/sr0 卸载
[root@localhost ~]# mount /dev/sr0 /mnt/ 挂载
挂载光盘
rpm包名字结构
zsh-5.0.2-14.el7.x86_64.rpm
rpm包名字结构
zsh -5 .0 .2 -el7 x86 64
软件名 主版本号 次版本号 修订号 RHEL7 CPU架构平台 支持系统位数
安装rpm软件
[root@JhouShuai ~]#
[root@JhouShuai ~]# rpm -ivh /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
[root@JhouShuai ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
安装rpm软件
依赖关系
[root@JhouShuai ~]# rpm -ivh /mnt/Packages/
Display all 3971 possibilities? (y or n)
[root@JhouShuai ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm
警告:/mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
mariadb(x86-64) = 1:5.5.56-2.el7 被 mariadb-server-1:5.5.56-2.el7.x86_64 需要
perl-DBD-MySQL 被 mariadb-server-1:5.5.56-2.el7.x86_64 需要
[root@JhouShuai ~]#
方便的解决方法:
[root@JhouShuai ~]# yum install mariadb-server.x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-server.x86_64.1.5.5.56-2.el7 将被 安装
--> 正在处理依赖关系 mariadb(x86-64) = 1:5.5.56-2.el7,它被软件包 1:mariadb-server-5.5.56-2.el7.x86_64 需要
--> 正在处理依赖关系 perl-DBD-MySQL,它被软件包 1:mariadb-server-5.5.56-2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.56-2.el7 将被 安装
---> 软件包 perl-DBD-MySQL.x86_64.0.4.023-6.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
====================================================================================
Package 架构 版本 源 大小
====================================================================================
正在安装:
mariadb-server x86_64 1:5.5.56-2.el7 CentOS7-source 11 M
为依赖而安装:
mariadb x86_64 1:5.5.56-2.el7 CentOS7-source 8.7 M
perl-DBD-MySQL x86_64 4.023-6.el7 CentOS7-source 140 k
事务概要
====================================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:20 M
安装大小:107 M
Is this ok [y/d/N]: n
Exiting on user command
您的事务已保存,请执行:
yum load-transaction /tmp/yum_save_tx.2019-03-05.10-56.OZQGs_.yumtx 重新执行该事务
[root@JhouShuai ~]#
Rpm包没有在光盘镜像里?
到rpm包相关的网站上去下载软件包
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
rpm查询功能
-f 查询文件所属软件包
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表
通常可以配合管道 | more 来使用,使得结果更易读。
[root@JhouShuai ~]# rpm -qa zsh #查询所有已安装的软件包
zsh-5.0.2-28.el7.x86_64
[root@JhouShuai ~]# which zsh #搜索某个系统命令的位置,并且返回第一个搜索结果。使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
/usr/bin/zsh
[root@JhouShuai ~]# rpm -qf /usr/bin/zsh #查询文件所属软件包
zsh-5.0.2-28.el7.x86_64
[root@JhouShuai ~]# rpm -qf `which zsh` #查询文件所属软件包
zsh-5.0.2-28.el7.x86_64
[root@JhouShuai ~]#
[root@JhouShuai ~]# rpm -qpi /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm #查询软件包信息(通常用来看下还未安装的软件包)
警告:/mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
Name : mariadb-server
Epoch : 1
Version : 5.5.56
Release : 2.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/Databases
Size : 61123160
License : GPLv2 with exceptions and LGPLv2 and BSD
Signature : RSA/SHA256, 2017年08月11日 星期五 02时18分54秒, Key ID 24c6a8a7f4a80eb5
Source RPM : mariadb-5.5.56-2.el7.src.rpm
Build Date : 2017年08月05日 星期六 05时01分21秒
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://mariadb.org
Summary : The MariaDB server and related files
Description :
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
the MariaDB server and some accompanying files and directories.
MariaDB is a community developed branch of MySQL.
[root@JhouShuai ~]#
rpm包 升级:
rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
[root@JhouShuai ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
警告:/mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
软件包 lrzsz-0.12.20-36.el7.x86_64 已经安装
[root@JhouShuai ~]#
rpm包 卸载: -e 建议不用
二,yum软件包管理(使用yum安装软件 yum repolist update clean all groupinstall check-update):
自动装软件包(软件包管理):
YUM
解决依赖关系问题、自动下载软件包。基于C/S架构。
C=client S=ftp , http,file
配置yum源的配置文件
[root@JhouShuai ~]# vim /etc/yum.repos.d/CentOS7.repo
[CentOS7-source] #yum源名称,唯一的,用来区分不同的yum源
name=CentOS7-server #对yum源描述信息
baseurl=file:///mnt #yum源的路径(repodata目录所在的目录)
enabled=1 #为1,表示启用yum源
gpgcheck=0 #为1,使用公钥检验rpm的正确性
YUM使用:
[root@JhouShuai ~]# yum clean all
[root@JhouShuai ~]# yum repolist
[root@JhouShuai ~]# yum list
[root@JhouShuai ~]# yum clean all #清空yum缓存
已加载插件:fastestmirror, langpacks
正在清理软件源: CentOS7-source
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@JhouShuai ~]#
[root@JhouShuai ~]# yum repolist ##显示yum源包的个数
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
CentOS7-source | 3.6 kB 00:00:00
(1/2): CentOS7-source/group_gz | 166 kB 00:00:00
(2/2): CentOS7-source/primary_db | 3.1 MB 00:00:00
源标识 源名称 状态
CentOS7-source CentOS7-server 3,971
repolist: 3,971
[root@JhouShuai ~]#
[root@JhouShuai ~]# yum list #生成列表
主要操作:
1、安装 yum install -y
2、检测升级 yum check-update
3、升级 yum update 升级内核
4、软件包查询 yum list
5、软件包信息 yum info
6、卸载 yum remove
[root@JhouShuai yum.repos.d]# yum info httpd #软件包信息
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
可安装的软件包
名称 :httpd
架构 :x86_64
版本 :2.4.6
发布 :88.el7.centos
大小 :2.7 M
源 :base/7/x86_64
简介 : Apache HTTP Server
网址 :http://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
[root@JhouShuai yum.repos.d]#
[root@JhouShuai ~]# yum remove httpd -y
安装一组软件包:
[root@JhouShuai ~]# yum grouplist 查看包组
[root@JhouShuai ~]# yum groupinstall "Security Tools"
或
[root@JhouShuai ~]# yum groupinstall "安全性工具" -y
三、源码编译安装软件包(源码安装软件 ./configure make make install):
源代码包的安装
优点: 可以安装最新版本,灵活自己定义安装参数,比如指定安装目录或支持某些库
源码包安装过程:
1)解压解包
tar -xzvf 源代码包
[解包]
x为解包、z为压缩(仅适合gzip,j 适合bz2)、v显示过程、f指定被解压包名
2)配置
进入解压后的目录,用 ./configure [--prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)
3)编译 : 把源代码编译可以执行的二进制文件
make -j 4
注: -j 4 表示以4个进程同时编译,速度快! -j 后的数字和你的CPU核数一样
4)安装
make install
添加运行用户
建议添加用户 nginx
添加用户 nginx
参数解释
-M 不创建宿主目录
-s 指定登陆的shell环境 /sbin/nologin 禁止登陆
编译安装Nginx
编译安装
参数解释:
--prefix 指定安装的位置
--user 指定运行的用户
--group 指定运行的组
tar解压./configure配置编译生成makefile文件make install 安装
[root@JhouShuai src]# cd /usr/src/
[root@JhouShuai src]# ls
[root@JhouShuai src]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
/usr/local/src/: 地址缺少协议类型.
--2019-03-05 14:07:26-- http://nginx.org/download/nginx-1.14.2.tar.gz
正在解析主机 nginx.org (nginx.org)... 95.211.80.227, 62.210.92.35, 2001:1af8:4060:a004:21::e3
正在连接 nginx.org (nginx.org)|95.211.80.227|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1015384 (992K) [application/octet-stream]
正在保存至: “nginx-1.14.2.tar.gz”
100%[==========================================>] 1,015,384 43.4KB/s 用时 10s
2019-03-05 14:07:37 (96.0 KB/s) - 已保存 “nginx-1.14.2.tar.gz” [1015384/1015384])
FINISHED --2019-03-05 14:07:37--
Total wall clock time: 11s
Downloaded: 1 files, 992K in 10s (96.0 KB/s)
[root@JhouShuai src]# ll
总用量 992
-rw-r--r-- 1 root root 1015384 12月 4 22:58 nginx-1.14.2.tar.gz
[root@JhouShuai src]#
[root@JhouShuai src]# ls
nginx-1.14.2.tar.gz
[root@JhouShuai src]# tar -zvxf nginx-1.14.2.tar.gz
[root@JhouShuai src]# ll
总用量 992
drwxr-xr-x 8 1001 1001 158 12月 4 22:52 nginx-1.14.2
-rw-r--r-- 1 root root 1015384 12月 4 22:58 nginx-1.14.2.tar.gz
[root@JhouShuai src]#
[root@JhouShuai src]# cd /usr/src/nginx-1.14.2/
[root@JhouShuai nginx-1.14.2]# yum -y install pcre-devel
[root@JhouShuai nginx-1.14.2]# yum -y install zlib-devel
[root@JhouShuai nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@JhouShuai nginx-1.14.2]# echo $?
0
[root@JhouShuai nginx-1.14.2]# make -j 4
[root@JhouShuai nginx-1.14.2]# echo $?
0
[root@JhouShuai nginx-1.14.2]# make install
[root@JhouShuai nginx-1.14.2]# ls /usr/local/nginx/
conf html logs sbin
[root@JhouShuai nginx-1.14.2]# /usr/local/nginx/sbin/nginx
[root@JhouShuai nginx-1.14.2]# ps -aux | grep nginx
root 11817 0.0 0.0 20544 608 ? Ss 14:33 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 11819 0.0 0.0 23072 1388 ? S 14:33 0:00 nginx: worker process
root 11834 0.0 0.0 112720 968 pts/0 S+ 14:33 0:00 grep --color=auto nginx
[root@JhouShuai nginx-1.14.2]#
安装成功
网友评论