一、软件包介绍
1、软件类型
二进制软件(rpm -ivh、yum)
.rpm
源码软件(先解压再使用)
.tar.gz、.tar.bz2
2、获取rpm安装包
大多数的安装包都存在系统的镜像文件中,进入光盘挂载点查看
yum-plugin-changelog-1.1.31-52.el7.noarch.rpm
zlib-1.2.7-18.el7.x86_64.rpm
软件名-版本号-操作系统平台-操作系统架构.rpm
操作系统有三种
noarch //不区分架构
x86_64 //64位操作系统
i686 //32位操作系统
[root@localhost Packages]# uname -srm Linux 3.10.0-1062.el7.x86_64 x86_64
二、rpm管理操作
1、安装软件
rpm -ivh 软件包所在路径
-i:安装
-v:显示
-h:以#号显示进度
-
以安装ftp和httpd为例
[root@localhost ~]# rpm -ivh 软件安装包名称 [root@localhost ~]# rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/ftp-0.17-67.el7.x86_64.rpm 正在升级/安装... 1:ftp-0.17-67.el7 ################################# [100%] [root@localhost ~]# rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/httpd-2.4.6-90.el7.centos.x86_64.rpm 警告:/run/media/root/CentOS 7 x86_64/Packages/httpd-2.4.6-90.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 错误:依赖检测失败: /etc/mime.types 被 httpd-2.4.6-90.el7.centos.x86_64 需要 httpd-tools = 2.4.6-90.el7.centos 被 httpd-2.4.6-90.el7.centos.x86_64 需要 libapr-1.so.0()(64bit) 被 httpd-2.4.6-90.el7.centos.x86_64 需要 libaprutil-1.so.0()(64bit) 被 httpd-2.4.6-90.el7.centos.x86_64 需要 //需要安装依赖, error: Failed dependencies: 软件依赖关系报错
2、软件查询、删除
rpm -q 软件名
-
查询软件是否安装
[root@localhost ~]# rpm -q ftp ftp-0.17-67.el7.x86_64
rpm -qa //查询机器里安装的所有软件
rpm -qi 包名 查看一个包的详细信息
rpm -qf 文件名 查看一个文件是由哪个包安装的
rpm -ql 包名 查看一个包安装了哪些文件
rpm -qa 查看系统中安装了哪些包
[root@localhost ~]# rpm -qa | wc -l 1355
-
查询文件对应的软件安装包
which vim //查询vim这个命令所在文件的路径
rpm -qf 路径 //查询vim这个文件的安装包
[root@localhost ~]# which vim /usr/bin/vim [root@localhost ~]# rpm -qf /usr/bin/vim vim-enhanced-7.4.629-6.el7.x86_64
-
卸载软件包
rpm -e +软件包名字 //删除软件包
[root@localhost ~]# rpm -e vim-enhanced [root@localhost ~]# vim /etc/fstab -bash: /usr/bin/vim: 没有那个文件或目录
-
查询软件生成的文件
rpm -ql +软件名字
[root@hosta ~]# rpm -ql coreutils | less
三、基于yum工具管理rpm软件
1、yum工具介绍
作用
管理rpm软件安装、卸载、更新、查询
优势
自动解决软件依赖关系
前提
配置合适的yum源/yum软件仓库
指定软件安装包的存放位置
yum仓库类型
本地仓库
FTP仓库
HTTP仓库
配置yum仓库
/etc/yum.repos.d/*.repo
2、 利用Centos自带的yum仓库安装软件
-
查看自带的软件仓库
[root@hosta ~]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
-
安装httpd软件
[root@hosta ~]# yum install httpd [root@hosta ~]# yum install vim-enhanced [root@hosta ~]# rpm -q httpd httpd-2.4.6-97.el7.centos.2.x86_64 [root@hosta ~]# rpm -q vim-enhanced vim-enhanced-7.4.629-8.el7_9.x86_64
-
替换Centos自带的base仓库
[root@hosta ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
四、配置本地自带yum仓库
1、备份现有的7个仓库
[root@localhost yum.repos.d]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/^C
2、新建软件仓库并编写本地仓库
[root@localhost yum.repos.d]# mkdir Centos.repo [root@localhost yum.repos.d]# vim Centos.repo [root@localhost yum.repos.d]# cat Centos7.repo [centos7] name=centos7 baseurl=file:///mnt enabled=1 gpgcheck=0
3、清空缓存、新建缓存、查看仓库是否配置成功
[root@localhost ~]# yum clean all 已加载插件:fastestmirror, langpacks 正在清理软件源: centos7 Cleaning up list of fastest mirrors Other repos take up 279 M of disk space (use --verbose for details) [root@localhost ~]# yum makecache 已加载插件:fastestmirror, langpacks Determining fastest mirrors centos7 | 3.6 kB 00:00 (1/4): centos7/group_gz | 165 kB 00:00 (2/4): centos7/primary_db | 3.2 MB 00:00 (3/4): centos7/filelists_db | 3.3 MB 00:00 (4/4): centos7/other_db | 1.3 MB 00:00 元数据缓存已建立 [root@localhost ~]# yum repolist 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 源标识 源名称 状态 centos7 centos7 4,067 repolist: 4,067
4、验证软件仓库
[root@localhost ~]# yum -y install httpd 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 正在解决依赖关系 --> 正在检查事务 ---> 软件包 httpd.x86_64.0.2.4.6-90.el7.centos 将被 安装 --> 正在处理依赖关系 httpd-tools = 2.4.6-90.el7.centos,它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要 --> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要 --> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要 --> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-90.el7.centos.x86_64 需要 --> 正在检查事务 ---> 软件包 apr.x86_64.0.1.4.8-5.el7 将被 安装 ---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装 ---> 软件包 httpd-tools.x86_64.0.2.4.6-90.el7.centos 将被 安装 ---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ====================================================================================================================================== Package 架构 版本 源 大小 ====================================================================================================================================== 正在安装: httpd x86_64 2.4.6-90.el7.centos centos7 2.7 M 为依赖而安装: apr x86_64 1.4.8-5.el7 centos7 103 k apr-util x86_64 1.5.2-6.el7 centos7 92 k httpd-tools x86_64 2.4.6-90.el7.centos centos7 91 k mailcap noarch 2.1.41-2.el7 centos7 31 k 事务概要 ====================================================================================================================================== 安装 1 软件包 (+4 依赖软件包) 总下载量:3.0 M 安装大小:10 M Downloading packages: -------------------------------------------------------------------------------------------------------------------------------------- 总计 11 MB/s | 3.0 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 警告:RPM 数据库已被非 yum 程序修改。 正在安装 : apr-1.4.8-5.el7.x86_64 1/5 正在安装 : apr-util-1.5.2-6.el7.x86_64 2/5 正在安装 : httpd-tools-2.4.6-90.el7.centos.x86_64 3/5 正在安装 : mailcap-2.1.41-2.el7.noarch 4/5 正在安装 : httpd-2.4.6-90.el7.centos.x86_64 5/5 验证中 : apr-1.4.8-5.el7.x86_64 1/5 验证中 : mailcap-2.1.41-2.el7.noarch 2/5 验证中 : httpd-tools-2.4.6-90.el7.centos.x86_64 3/5 验证中 : apr-util-1.5.2-6.el7.x86_64 4/5 验证中 : httpd-2.4.6-90.el7.centos.x86_64 5/5 已安装: httpd.x86_64 0:2.4.6-90.el7.centos 作为依赖被安装: apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-90.el7.centos mailcap.noarch 0:2.1.41-2.el7 完毕!
五、配置yum源安装ceph
-
因为自带的7个yum源没有ceph所以要新建一个源,并添加配置信息
[root@hosta ~]# vim /etc/yum.repos.d/ceph.repo [ceph] name=ceph baseurl=https://mirrors.aliyun.com/centos/7.9.2009/storage/x86_64/ceph-jewel/ enabled=1 gpgcheck=0 [root@hosta ~]# yum install ceph [root@hosta ~]# rpm -q ceph ceph-10.2.10-0.el7.x86_64
-
主机存在多个yum源文件,确保每个文件的正确,否则会影响yum工具正常使用
六、yum工具常用功能
1、安装软件
# yum install 软件名称 软件名称 软件名称
2、卸载软件
# yum remove 软件名称 软件名称 [root@hosta ~]# yum remove ceph
3、更新软件
# yum update 软件名称 //新建一个更新的源,编辑配置信息 [root@hosta ~]# vim /etc/yum.repos.d/ceph14.repo [ceph14] name=ceph14 baseurl=https://mirrors.aliyun.com/centos/7.9.2009/storage/x86_64/ceph-nautilus/ enabled=1 gpgcheck=0 [root@hosta ~]# yum update ceph
4、查看所有可用源
[root@hosta ~]# yum repolist [root@hosta ~]#
5、查看所有软件
[root@hosta ~]# yum list all
6、查询文件对应的软件
[root@hosta ~]# yum provides iotop [root@hosta ~]# yum provides "*bin/sar"
七、yum缓存功能
1、yum缓存功能介绍
默认没有启用
安装软件的同时,会自动缓存相关的软件包
2、启用缓存功能
[root@localhost ~]# vim /etc/yum.conf [main] cachedir=/var/cache/yum #yum下载的RPM包的缓存目录 keepcache=1 #缓存是否保存,1保存,0不保存。要使用离线模式的yum,这里改为1
3、验证yum缓存功能,并制作普通文件夹yum仓库
//在安装软件时会生成yum缓存 //如果服务器不联网,又想要安装一个yum源中不存在的软件,可以使用yum缓存在联网的虚拟机中安装下来,然后复制到服务其上,制作本地yum源即可 [root@hosta ~]# vim /etc/yum.repos.d/openstack.repo [openstack] name=openstack baseurl=https://mirrors.aliyun.com/centos/7.9.2009/cloud/x86_64/openstack-train/ enabled=1 gpgcheck=0 [root@hosta ~]# vim /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=1 //将这里的0改为1,开启yum缓存功能,安装软件时,对应软件相关的rpm包会生成缓存放在/var/cache/yum/这个目录下,想再次在别的服务器上使用软件可以将查找到的rpm包复制走即可 [root@hosta ~]# yum install openstack-keystone [root@hosta ~]# mkdir /opt/openstack [root@hosta ~]# find /var/cache/yum/ -name "*.rpm" -exec cp {} /opt/openstack/ \; //先将之前安装的openstack软件卸载,删除openstack.repo源, [root@hosta ~]# cat /etc/yum.repos.d/openstack.repo [openstack] name=openstack baseurl=file:///opt/openstack //在这里将路径指定为要制作的文件夹 enabled=1 gpgcheck=0 [root@hosta ~]# yum clean all //清空之前的缓存 [root@hosta ~]# yum install openstack-keystone //此时安装不成会成功,因为目录不是正确的yum源 [root@hosta ~]# createrepo /opt/openstack/ //制作yum、仓库 Spawning worker 0 with 28 pkgs Spawning worker 1 with 28 pkgs Spawning worker 2 with 28 pkgs Spawning worker 3 with 27 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@hosta ~]# yum install openstack-keystone //此时再次安装openstack-keystone即可 [root@hosta ~]# rpm -q openstack-keystone openstack-keystone-16.0.2-1.el7.noarch
八、源码软件管理操作
1、源码软件介绍
.tar.gz .tar.bz2
优势
灵活
自定义软件的安装位置
支持自定义软件的功能
2、原码软件的安装流程(C语言开发的软件、更新也是同样的操作)
-
解压缩
-
配置软件的安装路径和功能特性
-
编译(将软件代码翻译成计算机识别的语言)
-
安装、生成软件相关的文件
-
卸载用rm -rf 命令即可删除
3、源码编译安装htop软件
//利用rz命令将windows下的.tar.gz 上传到虚拟机,如果没有先安装,并且需要Xshell等远程连接软件 [root@hosta ~]# yum -y install lrzsz [root@hosta ~]# tar xf htop-2.2.0.tar.gz //解压缩 [root@hosta ~]# cd htop-2.2.0/ [root@hosta htop-2.2.0]# ./configure --prefix=/usr/local/htop //--prefix=目录名称,指定配置软件的安装路径、功能特性 //大部分的出错都在后几行,仔细看看有没有报错,缺少依赖,看不懂就去百度 [root@hosta htop-2.2.0]# make && make install //编译并安装 [root@hosta htop]# /usr/local/htop/bin/htop //运行htop软件
4、新建5G逻辑卷、源码安装nginx在这个新磁盘上
[root@hosta ~]# pvcreate /dev/sdb [root@hosta ~]# vgcreate vg0 /dev/sdb [root@hosta ~]# lvcreate -L 5G -n lv0 vg0 [root@hosta ~]# mkfs.xfs /dev/vg0/lv0 [root@hosta ~]# mkdir /nginx [root@hosta ~]# vim /etc/fstab [root@hosta ~]# mount -a [root@hosta ~]# df -Th [root@hosta ~]# rz [root@hosta ~]# tar xf nginx-1.18.0.tar.gz [root@hosta ~]# cd nginx-1.18.0/ [root@hosta ~]# ls [root@hosta ~]# ./configure --prefix=/nginx [root@hosta ~]# yum -y install pcre-devel [root@hosta ~]# yum -y install openssl openssl-devel [root@hosta ~]# ./configure --prefix=/nginx //要在nginx-1.18.0目录下 [root@hosta ~]# cd /nginx/ [root@hosta ~]# make && make install //要在nginx-1.18.0目录下make [root@hosta ~]# cd nginx-1.18.0/ [root@hosta ~]# sbin/nginx [root@hosta ~]# netstat -anplt //查看nginx的80端口是否开启,或者打开浏览器输入虚拟机IP地址是否有欢迎界面
九、环境变量
1、环境变量PATH(Windows相同原理)
保存了一些命令的路径
不同路径用冒号隔开
作用
让系统在PATH变量中存放的路径中查找命令
-
利用之前安装的htop来测试,将htop加入到环境变量中(临时生效)
[root@localhost htop]# bin/htop [root@localhost bin]# pwd /usr/local/htop/bin [root@localhost bin]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/nginx/sbin:/root/bin:/nginx/sbin:/usr/local/htop [root@localhost bin]# htop bash: htop: 未找到命令... 相似命令是: 'top' [root@localhost bin]# export PATH=$PATH:/usr/local/htop/bin/ [root@localhost bin]# htop
-
永久生效:修改/etc/profile文件
[root@localhost bin]# vim /etc/profile //在末尾添加命令,保存退出 export PATH=$PATH:/nginx/sbin [root@localhost bin]# source /etc/profile //重新加载该配置文件