1.RPM
1.1 RPM软件包管理及概述
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便。
RPM 最早是由 Red Hat 公司提出的软件包管理标准,最初的全称是 Red Hat Package Manager。后来随着版本的升级又融入了许多其他的优秀特性, 成为了Linux中公认的软件包管理标准。被许多Linux发行使用,如:RHEL/CentOS/Fedora, SLES/openSUSE 等。如今RPM是RPM Package Manager的缩写,由RPM社区(http://www.rpm.org/)负责维护。
RPM的优点:
1.易于安装、升级便利;
2.丰富的软件包查询功能;
3.软件包内容校验功能;
4.支持多种硬件平台
1.2 RPM五大功能及组件介绍
五大功能为:
安装——将软件从包中解出来,并安装到硬盘。
卸载——将软件从硬盘清除。
升级——替换软件的旧版本。
查询——查询软件包的信息。
验证——检验系统中的软件与包中软件的区别。
RPM组件:
本地数据库
rpm及其相关的可执行文件
RPM 前端工具,如 yum
软件包文件
1.3 RPM命令的使用
rpm的常用选项:
i:安装应用程序(install)
e:卸载应用程序(erase)
vh:以####显示安装进度(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(query all)
1.4 RPM命令安装、升级和删除软件
1.4.1 输出选项:
-v:安装时显示软件名称
-h:使用“#”显示进度
1.4.2 rpm file 的URL支持
ftp://
http://
rpm -ivh https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.rpm
1.4.3 rpm包的安装
mkdir software
cd software
ls
java -version 查看jdk版本 错误没有找到命令
rpm -ivh jdk-8u151-linux-x64.rpm
java -version
rpm -qa | grep jdk
配置前:
echo $JAVA_HOME
配置环境变量:
查看软件安装位置:
rpm -ql jdk1.8-1.8.0_151-fcs.x86_64 | tail -1
/usr/java/jdk1.8.0_151/src.zip
默认装到了usr/java下
/etc/profile环境变量配置文件位置:
vim /etc/profile
环境变量配置:(路径为JDK 的解压路径)
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export ClASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
//让配置生效
source /etc/profile
//查看配置结果
echo $JAVA_HOME
1.4.4 rpm包的卸载
rpm -e jdk1.8-1.8.0_151-fcs.x86_64
java -version
1.4.5 RPM的基本查询
1.查询已安装的所有软件包
rpm -qa
2.查询软件包是否安装并查看软件包的版本
rpm -q <package_name>
rpm -qa | grep jdk
rpm -q jdk1.8-1.8.0_151-fcs.x86_64
3.查询软件包信息
rpm -qi <package_name>
rpm -qip <package_file_path_name>
rpm -qi jdk1.8-1.8.0_151-fcs.x86_64
4.查询软件包中所有文件的名称
rpm -ql <package_name>
rpm -qlp <package_file_path_name>
rpm -ql jdk1.8-1.8.0_151-fcs.x86_64
5.查询磁盘上的文件是从何软件包安装的
rpm -qf <path_name>
rpm -qf /usr/java/jdk1.8.0_151/
1.4.6 RPM校验
1.校验有已安装的所有软件包
rpm -Va
验证内容中的8个信息的具体内容如下:
S 文件大小是否改变
M 文件的类型或文件的权限(rwx)是否变改变
5 文件MD5校验和是否改变(可以看作文件内容是否改变)
D 装置的主/次代码已经改变
L Link路径已被改变
U 文件的所属人已被改变
G 文件的所属群组已被改变
T 文件的创建时间忆被改变
文件类型:
c 配置文件(config file)
d 普通文件(documentation)
g "鬼"文件(ghost file),很少发生,通常是指该文件不被软件包所包含
l 授权文件(license file)
r 描述文件(read me)
2.校验指定的软件包
rpm -V <package_name>
rpm -V jdk1.8-1.8.0_151-fcs.x86_64(删除安装目录下任意文件,再次检查)
rpm -V jdk1.8-1.8.0_151-fcs.x86_64(改变任意文件的权限,再次检查)
3.验证包含指定文件的软件包
rpm -Vf <path_name>
rpm -Vf /usr/java/jdk1.8.0_151/
2. yum
2.1 yum概述
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
RPM软件包一般分为两大类:1.yy-x.x.rpm 软件包(名称+版本+适用环境);2.yy-devel-x.x.rpm软件开发包,供别的软件包引用的库包。由此,RPM软件包安装时经常会出现缺少依赖库的现象,有时会产生连锁反应。yum就是为了解决软件依赖问题而生。它的原理是将所有的软件包和软件开发包都放到服务器上,当安装软件包时向服务器请求,由服务器分析出依赖关系,从而提供一整套安装包。
2.2 yum的功能介绍
1.安装——将软件从包中解出来,并安装到硬盘。
2.卸载——将软件从硬盘清除。
3.升级——替换软件的旧版本。
4.查询——查询软件包的信息。
2.3 yum源的配置文件
[root@localhost yum.repos.d]# vi /etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改
2.4 yum源的配置
2.4.1 配置本地yum源
1.列出配置源
yum repolist
2.配置本地源
第一步:
从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/CentOS-6.9-x86_64-bin-DVD1.iso
第二步:挂载这个iso文件到/media/CentOS
mkdir /media/vcdrom
mount -o loop /opt/tools/CentOS-6.9-x86_64-bin-DVD1.iso /media/vcdrom
安装时使用参数enablerepo=c6-media
yum --enablerepo=c6-media -y install mysql-server
2.4.2 配置阿里源
1) 安装wget
yum install -y wget
2) 备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
3) 下载阿里云的Centos-6.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4) 重新加载yum
yum clean all
yum makecache
2.5 yum的基本查询
1.查询jdk环境应该安装哪个具体的包名
yum search jdk
2.查询软件包的功能
yum search curl
3.查询服务器上所有的已经安装和可以安装的程序包
yum list
yum list rpm
yum list jdk1.8-1.8.0_151-fcs.x86_64
4.查询有哪些软件需要升级
yum list updates
2.6 yum的安装、卸载与升级
2.6.1.安装
centos6安装mysql:
yum install mysql-server #中间会提示输入y/n来确认安装
yum -y install mysql-server #不用提示,直接安装
centos7安装mysql5.7:
一、安装YUM Repo
1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。
下载命令:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2、然后进行repo的安装:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
二、具体安装和使用命令
1、安装命令:
yum install mysql-server
2、启动msyql:
systemctl start mysqld #启动MySQL
3、获取安装时的临时密码(在第一次登录时就是用这个密码):
grep 'temporary password' /var/log/mysqld.log
4、登录
mysql -u root -p 回车,复制临时密码
5、修改密码
set password=password('tigeradmin');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
6、查看密码策略,然后再修改
SHOW VARIABLES LIKE 'validate_password%';
7、或者修改为低等级验证
set global validate_password_policy=LOW;
set password=password('tiger1314');
8、开启远程可以访问:
连接服务器: mysql -u root -p
看当前所有数据库:show databases;
进入mysql数据库:use mysql;
查看mysql数据库中所有的表:show tables;
查看user表中的数据:select Host, User,Password from user;
修改user表中的Host: update user set Host='%' where User='root';
说明: % 代表任意的客户端,可替换成具体IP地址。
最后刷新一下:flush privileges;
2.6.2 卸载
yum remove pam-devel
2.6.3 升级
升级指定软件包
yum update kernel #升级内核,慎用。
全系统升级
yum update
2.7 软件组
2.7.1 概念
软件组就是一组相关的软件,比如gnome、比如gcc等,一个软件组名字会包含很多个软件。
2.7.2 常用命令
常用命令:
yum grouplist:查看软件组列表
yum groupinfo:查看软件组的说明信息
yum groupinstall:安装指定的软件组
yum groupupdate:升级软件组
yum groupremove:卸载软件组
例如:yum grouplist
可用环境组:
最小安装
计算节点
基础结构服务器
文件和打印服务器
基本Web服务器
虚拟化主机
带图形用户界面的服务器
GNOME桌面
KDE Plasma工作区
开发创意工作站
可用组:
兼容性库
控制台Internet工具
开发工具
图形管理工具
旧式UNIX兼容性
科学支持
安全工具
智能卡支持
系统管理工具
系统管理