1 软件管理员 之 RPM
linux软件的中央仓库 --> 需要什么软件 联网 找就完事
RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。
RPM 是以一种数据库记录的方式(/var/lib/rpm/ 目录下)来将你所需要的软件安装到你的 Linux 系统的一套管理机制。目前 Fedora, CentOS, SuSE 等等知名的开发商都是用RPM。
优点:
1)RPM 内含已经编译过的程序与配置文件等数据,可以让使用者免除重新编译的困扰;
2)RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
3)RPM 文件本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含文件等信息,便于了解软件; maven --> 直接依赖与间接依赖 spring-context -->6个
4)由于软件的信息都已经记录在 Linux 主机的数据库上,很方便查询、升级与卸载; --> maven --> 中央仓库(阿里) --> settings.xml rpm软件也有自己的代理中央软件库(阿里)
缺点:
1) 软件文件安装的环境必须与打包时的环境需求一致或相当;
2) 需要满足软件的相依属性需求;
3)卸载时需要特别小心,最底层的软件不可先移除,否则可能造成整个系统的问题! lnmp --> rpm --> 你只提供软件的名字 到底人家安装了啥 其实你要不细心的话你都不知道
题外话 压缩包也是安装软件的方式 它就没有这么多内部细节 但是必须要配置环境变量
由于RPM只是记录依赖关系信息,但不是自动安装依赖软件的YUM 可以自动安装依赖软件。
yum 命令 来进行rpm包的安装 --> ****.rpm
本地的rpm --> rpm -ivh ****.rpm JDK
安装线上的rpm包 我们采用的是 yum命令来进行安装 yum是管理你的rpm的一个统一命令 --> 只要是网络的rpm yum 如果是本地 rpm -ivh
2 用yum安装常用软件
2.1 yum 简介
yum 是一个在Fedora 和RedHat 以及SUSE 中的Shell 前端软件包管理器。
基于RPM 包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
机制:
1)将RPM 里面的所有的软件信息都拽过去, 软件仓库。
2)根据提供的软件信息,配置好依赖关系,并将每个软件放库里
3)将要装的软件,生成个清单列表, 拿着清单列表去 软件库里拿安装文件,进行安装。
安装过程: D → B → C → A
yum命令格式:
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。
yum 常用命令:
1)列出所有可更新的软件清单命令:yum check-update
2)更新所有软件命令:yum update
3)仅安装指定的软件命令:yum install <package_name>
4)仅更新指定的软件命令:yum update <package_name>
5)列出所有可安裝的软件清单命令:yum list
6)删除(卸载)软件包命令:yum remove <package_name>
7)查找软件包 命令:yum search <keyword>
8)清除缓存命令:
yum clean all
2.2 配置阿里云 yum 源
1)安装sz rz工具,用于以后用rz sz上传下载文件
yum install -y lrzsz
2)下载 repo 文件
文件下载地址: http://mirrors.aliyun.com/repo/Centos-7.repo
3)用 rz 将下载的 Centos-7.repo 文件上传到Linux系统的某个目录下
4)备份并替换系统的repo文件
cp Centos-7.repo /etc/yum.repos.d/
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo
5)执行yum源更新命令
yum clean all #清空国外源的
yum makecache #缓存阿里云的
yum update -y #从阿里云更新
配置完毕。
2.3 安装常用软件
yum install -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd
openssh:SSH协议 --依赖--> openssl:加密软件
curl :利用URL语法在命令行方式下工作的开源文件传输工具
wget :下载工具
zlib、snappy-devel、unzip、zip:压缩工具
autoconf、automake、cmake、fuse-devel:源代码编译相关
libtool:动态库
如果安装失败,可以尝试用 yum -reinstall 覆盖安装
yum reinstall -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd