rpm介绍
rpm软件包名称:
软件名称 版本号 (主版本、次版本、修订号) 操作系统 -----90%的规律
#有依赖关系,不能自动解决依赖关系。
举例:openssh-6.6.1p1-31.el7.x86_64.rpm
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。
noarch : 32位64位都支持
x86_64 : 64位
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;
============================================================================#用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系案例:
不同的操作系统,需要安装软件的版本,以及类型,肯定不相同;
Windows:httpd.exe
Linux:httpd.rpm下载httpd.rpm包,下载到虚拟机上,rpm -ivh httpd.rpm 进行安装;
考虑httpd.rpm是否依赖于其他rpm包;
如果有依赖其他rpm包,rpm -ivh httpd.rpm单独安装,安装失败;
httpd.rpm依赖于httpd-devel.rpm
httpd-devel.rpm依赖于httpd-openssl.rpmrpm -ivh httpd-openssl.rpm
rpm -ivh httpd-devel.rpm
rpm -ivh httpd.rpmrpm安装方式,只能用来安装没有依赖关系的rpm包;
yum -y install httpd.rpm
rpm安装
1、wget rpm包的链接地址
[root@localhost ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
2、rpm -ivh rpm包
[root@localhost ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm
或者直接rpm -ivh rpm包的链接地址
[root@localhost ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
rpm的常用命令
rpm -qa |grep 软件名 #查询软件是否安装
rpm -ql httpd #查询httpd安装的文件
rpm -qf /usr/share/httpd/noindex #查询该文件属于哪个软件包
rpm -qf /etc/passwd #查询某个文件是哪个软件产生的:只能查询已经安装好的软件包
rpm -e 软件名称 #卸载
rpm工具管理软件包总结:
1. 很难解决包依赖关系
2. 如果某个文件没有,很难知道它由哪个rpm包提供
yum方式管理
#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
分类:本地yum源和远程yum源
本地yum:
file://远程yum:
http://
ftp://yum源配置文件:/etc/yum.repos.d/
163 、阿里云、腾讯云、清华云、百度云
虚拟机安装好后有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源
yum的常用命令
yum -y install #下载
yum clean all 或者rm -rf /var/cache/yum #清除yum缓存
yum repolist #查看yum源信息
yum makecache #缓存软件包信息 (可以提高搜索/安装软件的速度)
yum search #查找软件 (此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用)
yum provides #查询命令属于哪个软件
yum list #查看系统已经安装好的软件和没有安装的软件(源里存在即可查到)
yum -y remove yum -y erase#卸载
[root@localhost ~]# yum -y remove `rpm -qa|grep httpd`
反引号起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。
更换yum源
1、找到yum源的连接地址
2、将之前的yum源备份,wget -o /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、下载扩展源wget -o etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
制作本地yum源
制作本地镜像yum源
1、将镜像上传的虚拟机,记住所在位置
2、将之前的yum源备份
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back
3、创建挂载目录,挂载镜像
[root@localhost yum.repos.d]# mkdir /jingxiang
[root@localhost yum.repos.d]# mount 镜像设备 /jingxiang
4、编辑yum源的配置文件
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///jingxiang
enabled=1
gpgcheck=0
5、查看yum源信息
[root@localhost yum.repos.d]# yum repolist
通过开启yum下载缓存功能制作自己的yum源(了解即可)
1、开启yum下载缓存功能(可以下载几个软件测试使用)
[root@localhost yum.repos.d]# vim /etc/yum.conf
......
keepcache=1
......
[root@localhost yum.repos.d]# yum -y install 测试使用的软件
2、创建一个目录,将所有缓存包拷贝到该目录中,将该目录作为yum仓库
[root@localhost ~]# mkdir /myyum
[root@localhost ~]# cp /var/cache/yum/x86_64/7/base/packages/* /myyum
3、下载制作repo工具,将yum仓库的目录制作为yum源
[root@localhost ~]# yum -y install createrepo
[root@localhost ~]# createrepo /myyum
4、编辑yum源的配置文件
[root@localhost ~]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///myyum
enabled=1
gpgcheck=0
5、将之前的yum源备份,只留下myyum.repo,将测试使用的软件卸载
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back (记得留下myyum.repo)
[root@localhost ~]# yum -y remove 测试软件
6、重新下载测试使用的软件,看能不能下载
[root@localhost ~]# yum -y install 测试软件
yum排错:
1.yum配置文件必须以.repo结尾
2.yum.conf里面8,9行的值设置成0
3.配置文件关键字错误
4.检查yum源是否存在
5.baseurl路径是否正确
6.镜像大小是否正确
7.当有Yum进程存在的时,无法同时再打开一个Yum进程
源码包管理
一个软件要在Linux上执行,必须是二进制命令文件,因此当我们拿到软件源码包后,需要将它编译成二进制命令文件才能在Linux上运行。
源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。
编译安装nginx
1、获取nginx的软件压缩包(在官网上可以找到),安装编译工具。
[root@localhost ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
[root@localhost ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
2、解压
[root@localhost ~]# tar zxvf nginx-1.18.0.tar.gz
3、编译并安装文件
[root@localhost ~]# cd nginx-1.18.0/
[root@localhost nginx-1.18.0]# ./configure --user=www --group=www --profix=/usr/local/nginx
[root@localhost ~]# make && make install
4、创建nginx用户
[root@localhost ~]# useradd www
5、关闭防火墙selinux,启动nginx
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# /usr/local/nginx/sbin/nginx
6、用Windows浏览器访问虚拟机ip地址
源码安装三步曲
# ./configure #相对路径执行安装
a. 指定安装路径,例如 --prefix=/usr/local/nginx
b. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求 最终生成:Makefile
c. 软件模块或者功能的启用禁用#make //按Makefile文件编译,产生可执行的文件。但是这个文件在当前目录中
#make install //按Makefile定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝
局域网远程yum源制作(企业案例)----扩展作业
准备两台虚拟机
服务端1192.168.242.133
客户端192.168.242.128
1、两台虚拟机互相ping一下对方,测试是否可以通信,关闭防火墙和selinux
服务端
[root@localhost ~]# ping 192.168.242.128
PING 192.168.242.128 (192.168.242.128) 56(84) bytes of data. #可以通信
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
客户端
[root@localhost ~]# ping 192.168.242.133
PING 192.168.242.133 (192.168.242.133) 56(84) bytes of data. #可以通信
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2、服务端制作本地镜像yum源
[root@localhost ~]# mkdir /mnt/centos7u4
[root@localhost ~]# mount 镜像设备 /mnt/centos7u4
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back
[root@localhost ~]# vim /etc/yum.repos.d/myyum.repo
[centos7u4]
name=centos7u4
baseurl=file:///mnt/centos7u4
enabled=1
gpgcheck=0
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum repolist
3、下载vsftpd,启动,把挂载目录中的文件全部拷贝到vsftpd的默认共享目录
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# cp /mnt/centos7u4/* /etc/ftp/pub/
4、下载createrepo工具,将pub/目录制作成yum源
[root@localhost ~]# yum -y install createrepo
[root@localhost ~]# createrepo /etc/ftp/pub
客户端上的操作:
5、将之前的yum源备份
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back
6、编写yum源的配置文件
[root@localhost ~]# vim /etc/yum.repos.d/ftp.repo
[ftp]
name=ftp
baseurl=:ftp://192.168.242.133:/pub
enabled=1
gpgcheck=0
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum repolist