一.软件包的分类?
rpm包:
原名:Red Hat Package manager(红帽软件管理器),由red hat公司提出,已经被很多linux发行版所采用,也称二进制包(0001010000010像没有字母这种,)。 优点:无需编译可以直接使用。 缺点:无法调试,进行个人设置。 软件包示例 ? ? wget -1.14-15.el7.x86_64.rpm 认识rpm包:前半部分是软件包名 wget ? ? ? ? ? ? ? ? ? ? 软件版本号(version)1.14-15 ? ? ? ? ? ? ? ? ? ? 发布版本:e17 指enterprise linux7(企业版的linux7版本) ? ? ? ? ? ? ? ? ? ? 系统平台:x86_64 ? ? ? ? ? ? ? ? ? ? 文件后缀:rpm
源码包:
概述:源代码,需要经过C++等编译工具编译才能使用(因为就像一个if......else计算机肯定读不懂这是啥意思,所以用C++等编译工具将他编译成二进制代码0010001100010这种由0和1组成的数字计算机才能读懂) 优点:可以进行个人设置,比如选择一些安装位置等。 缺点:配置操作复杂。 软件包实例:nginx-1.8.1.tar.gz 认识源码包:nginx软件名 1.8.1版本名 tar.gz压缩的格式
二.rpm包管理
1.yum工具 简介:一个软件包管理器 特点:基于rpm包安装,能够从指定服务器,(自动下载)rpm包并且安装。(重要) ? ? ? ? ? 可以自动处理依赖关系,并且一次性安装所有依赖包,无需一次次的下载安装。(重要) 使用两步:第一步:设置yum源 (指定去哪下载) ? ? ? ? ? ? ? ? ? 第二步:yum执行命令去下载 /etc/yum.repos.d 是yum源的核心配置目录,配置的所有yum源都要在此目录下。 [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo ?CentOS-CR.repo ?CentOS-Debuginfo.repo ?CentOS-fasttrack.repo ?CentOS-Media.repo ?CentOS-Sources.repo ?CentOS-Vault.repo 这是几个国外的下载地址,由官方提供,我们随便打开一个文件,看地址,是centos....可以知道这是国外的源。(下载速度慢) vim CentOS-Base.repo name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra 因为国外的源太远,所以我们把官方源删掉。(下载速度慢) mv /etc/yum.repos.d/* ? ?/tmp [root@localhost tmp]# cd /etc/yum.repos.d [root@localhost yum.repos.d]# ls [root@localhost yum.repos.d]#? 然后编写本地yum配置文件,制造一个本地yum源,就可以不从国外下载。 vim /etc/yum.repos.d/local.repo ? ? ? ? ? ? ? #:在yum源的核心目录下,写一个yum源, 后面的local指明yum源的名字,名字可以随意起,但是要以repo结尾。 [local] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #:[]里面写要配置yum源的名字。 name=localrepo ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#:name=... ? ? ?对名字的一个描述 baseurl=file:///mnt/ ? ? ? ? ? ? ? ? ? ? ? #:baseurl指明下载地址 ?file://意思是在本地下载 /mnt /软件包地址。 gpgcheck=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #:包的效验,0是默认关闭 ? ? ? 1表示打开 实例演示1配置本地源 第一步:准备一个目录,装载软件包 mkdir /mnt/cdrom ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#命名是随意的,但是最好容易识别 第二步:把软件包放进装载目录(注意要记得通电)
mount /dev/cdrom /mnt/cdrom ? ? ? ? ?#/dev/cdrom ?是系统光盘文件,里面的Packages有软件包 [root@localhost ~]# mount /dev/cdrom /mnt/cdrom ?#:光盘里面的东西放在挂载目录 #这是一个临时挂载的内容,下次开机就会消失 mount: /dev/sr0 写保护,将以只读方式挂载 ? ? ? 永久挂载:vim /root/.bashrc ? ? ?#:可以控制系开机自启动,把命令写入里面,开机就会自动执行。 mount /dev/cdrom /mnt/cdrom ? #:每次开机就会自动挂载。 [root@localhost yum.repos.d]# cd /mnt/cdrom [root@localhost cdrom]# ls CentOS_BuildTag ?EFI ?EULA ?GPL ?images ?isolinux ?LiveOS ?Packages ?repodata ?RPM-GPG-KEY-CentOS-7 ?RPM-GPG-KEY-CentOS-Testing-7 ?TRANS.TBL ? ? ? ? ? ? ? ? ? ?#显示 已经放入成功,Packages里面有我们需要的软件包,其他都是与linux系统装机有关的文件 cd Packages ls ..................... ...................
.................. zlib-1.2.7-18.el7.i686.rpm zlib-1.2.7-18.el7.x86_64.rpm zlib-devel-1.2.7-18.el7.i686.rpm zlib-devel-1.2.7-18.el7.x86_64.rpm zlib-static-1.2.7-18.el7.i686.rpm zlib-static-1.2.7-18.el7.x86_64.rpm zsh-5.0.2-31.el7.x86_64.rpm zsh-html-5.0.2-31.el7.x86_64.rpm zziplib-0.13.62-9.el7.i686.rpm zziplib-0.13.62-9.el7.x86_64.rpm zziplib-devel-0.13.62-9.el7.i686.rpm zziplib-devel-0.13.62-9.el7.x86_64.rpm ? ? ? ? ? ? ? ? ? zziplib-utils-0.13.62-9.el7.x86_64.rpm ........................................ ................................................... [root@localhost Packages]# ls |wc -l ? ? ? ? ? ? ? #我们可以看到一共有一万多个包 10020 第三步:写本地yum配置文件文件 vim /etc/yum.repos.d/local.repo ? ? ? ? ? ? ? #:在yum源的核心目录下,写一个yum源, 后面的local指明yum源的名字,名字可以随意起,但是要以repo结尾。 [local] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #:[]里面写要配置yum源的名字。 name=localrepo ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#:name=... ? ? ?对名字的一个描述 baseurl=file:///mnt/cdrom ? ? ? ? ? ? ? ? ? ? ? ? #:baseurl指明下载地址 ?file://意思是在本地下载 /mnt /软件包地址。 gpgcheck=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #:包的效验,0是默认关闭 ? ? ? 1表示打开 第四步验证: [root@localhost yum.repos.d]# yum install httpd ? ? ? ? ? ?(我们装一个httpd看到下面内容就表示我们配置yum源生效了) 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile local ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 3.6 kB ?00:00:00 ? ?? (1/2): local/group_gz ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 166 kB ?00:00:00 ? ?? (2/2): local/primary_db ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 6.0 MB ?00:00:02 ? ?? 正在解决依赖关系 --> 正在检查事务 ---> 软件包 httpd.x86_64.0.2.4.6-88.el7.centos 将被 安装 --> 正在处理依赖关系 httpd-tools = 2.4.6-88.el7.centos,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要 --> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要 --> 正在检查事务 ---> 软件包 httpd-tools.x86_64.0.2.4.6-88.el7.centos 将被 安装 ---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
实例2配置网络源
1.清理原有的yum源 2.下载阿里的yum源 3.更新yum仓库 4.执行安装 进入阿里巴巴开源镜像站,下载一个镜像,Centos7。 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 把镜像下载到我们的目录/etc/yum.repos.d/,这是一个基础包。 我们在下载一个扩展包。epel wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo ?(这个包红帽7和centos7都可以用) yum clean all ?清理缓存 yum makecache ? ?生成缓存 [root@localhost yum.repos.d]# ls CentOS-Base.repo ?epel.repo ?local 可以看到我们的目录下就是一个本地源和扩展源。 然后我们就可以下载软件了
yum的一些常用命令? 全新安装:yum install -y 软件名 重新安装:yum reinstall -y 软件名 升级: ? ? yum update -y 软件名 查询: ? ? ? yum ?list|grep 软件名 [root@localhost yum.repos.d]# yum list |grep httpd ? ? ? ? ? @ 表示已经安装 httpd.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.4.6-88.el7.centos ? ? ? ?@local ?? httpd-tools.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ?2.4.6-88.el7.centos ? ? ? ?@local ? 删除: ? ? ? ?yum install remove -y 软件名??
2.rpm工具
RedHat和Centos,基本软件包管理工具。 注意。rpm安装是要带.rpm的后缀 ? ? ? ? ? rpm安装软件一定要rpm包存在的那个目录下 缺点:rpm工具无法处理依赖问题,依赖需要一个个的装。 [root@localhost Packages]# rpm -ivh wget-1.14-18.el7.x86_64.rpm? 准备中... ? ? ? ? ? ? ? ? ? ? ? ? ?################################# [100%] ?? ?软件包 wget-1.14-18.el7.x86_64 已经安装 命令: rpm -q 软件名 #(查询)是否有此软件包。 rpm -ivh ?软件名 ?#安装软件 ?i安装(install) v显示详细信息 h显示安装进度百分比 rpm -evh 软件名 #(e参数卸载)卸载软件
三.源码包管理
1.获得源码包 一般去官方网站下载相应的软件包。 实战示例: wget 加链接地址进行下载tengine(一个web服务器) wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz [root@localhost ~]# ls 33.xz ?anaconda-ks.cfg ?initial-setup-ks.cfg ?tengine-2.3.2.tar.gz ?公共 ?模板 ?视频 ?图片 ?文档 ?下载 ?音乐 ?桌面 准备环境(下载常见的编译工具) yum install gcc make zlib-devel pcre pcre-devel openssl-devel -y 第一步:解压 先创建一个www的用户(不是必要的根据需求决定) [root@localhost ~]# useradd www 对下载的源码包进行解压 [root@localhost ~]# tar xf tengine-2.3.2.tar.gz? [root@localhost ~]# ls 33.xz ?anaconda-ks.cfg ?initial-setup-ks.cfg ?tengine-2.3.2 ?tengine-2.3.2.tar.gz ?公共 ?模板 ?视频 ?图片 ?文档 ?下载 ?音乐 ?桌面 进入解压后的软件包目录 [root@localhost ~]# cd tengine-2.3.2/ [root@localhost tengine-2.3.2]# ls AUTHORS.te ?CHANGES ? ? CHANGES.te ?configure ?docs ?LICENSE ?modules ? README.markdown ?tests auto ? ? ? ?CHANGES.cn ?conf ? ? ? ?contrib ? ?html ?man ? ? ?packages ?src ? ? ? ? ? ? ?THANKS.te 第二步:配置 ./configure --user=www --group=www ?--prefix=/usr/local/nginx ? ? ? ? ? ? ? #./configure 指明要加什么 ,必须要记住 ?#:--prefix指明路径 注意:如果配置发生错误,就删掉解压目录,(重新解压,重新在新的解压目录下,进行配置。 第三步:编译(翻译成计算机可以看懂的二进制) make? ? ? ? ? ? ?#如果没有报错就说明编译正常 第四步:安装 make install 到此源码包安装结束 四.扩展内容:软件包怎么管理(条件虚拟机可以上网,就是可以ping通百度) 1.清理原有的yum源 2.下载阿里的yum源 3.更新yum仓库 4.执行安装 进入阿里巴巴开源镜像站,下载一个镜像,Centos7。 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 把镜像下载到我们的目录/etc/yum.repos.d/,这是一个基础包。 我们在下载一个扩展包。epel wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo ?(这个包红帽7和centos7都可以用) yum clean all ?清理缓存 yum makecache ? ?生成缓存 [root@localhost yum.repos.d]# ls CentOS-Base.repo ?epel.repo ?local 可以看到我们的目录下就是一个本地源和扩展源。 然后我们就可以下载软件了
|