安装软件包的三种方法
(安装与卸载)
rpm工具
yum工具 (支持自动安装依赖的包)
源码包 安装源码包,需要我们把源代码编译成可执行的二进制文件
rpm包介绍
挂载一下光驱看一下rpm包
mount /dev/cdrom /mnt 挂在到/mnt下
ls /Packages 查看一下里面的rpm包
画圈的依次为:rpm包格式
包名、版本号、发布版本号、平台
rpm工具使用
rpm -ivh rpm包文件 //安装
-i:表示安装
-v:表示可视化
-h:表示显示安装进度
如:安装一个rpm包(在/mnt/Packages/下)
升级一个rpm包
rpm -Uvh rpm包文件 //升级
卸载rpm包
rpm -e 包名 (zsh-5.0.2-28.el7.x86_64.rpm 包名为zsh(以“-”分隔))
卸载时没有提示算正常卸载 (卸载一个包时首先要把它的依赖包先卸载才行)
查询
rpm -qa //查询安装了的包
rpm -q 包名 //查询一个包是否安装
rpm -qi 包名 //获取一个已经安装了的rpm包的相关信息
rpm -ql 包名 //列出一个rpm包的安装文件
rpm -qf 文件的绝对路径 //可以知道该文件是属于哪个rpm包的
rpm -qf `which cd` 这样也可以实现查看一个文件所属的rpm包 (这里的cd是无别名,有别名的话不可以)
yum工具用法
yum 可以自动帮我们安装所需安装包的依赖包(优胜于rpm工具)
yum list //列出可用rpm包
ls /ect/yum.repos.d
搜索rpm包
1.yum search [相关关键词]
2.使用grep过滤出想要的包名
yum list |grep 'vim'
yum install [-y] [rpm包名] //安装rpm包
yum grouplist //查看可用的组
yum remove [-y][rpm包名] //卸载同时把依赖包卸载
yum update [-y][包名]
不加包名整个系统都会更新
yum provides "/*/vim"
使用这种通配的格式查找到底vim是使用哪个包
yum搭建本地仓库
有时候我们的linux没联网yum不能用,此时我们做了yum的本地仓库就可以实现我们使用yum下载了
做这些的前提是我们得有一个光驱,然后挂载这个光驱,能让我们能访问到rpm包。
(1)挂载光驱(挂载到/mnt)
mount /dev/cdrom /mnt
(2)删除/etc/yum.repos.d 目录下的所有repo文件
(删除前先备份)
cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
rm -rf /etc/yum.repos.d/*
(3)创建新文件dvd.repo
vi /etc/yum.repos.d/dvd.repo
加入以下内容保存
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpcheck=0
(4)清除一下以前的缓存
yum clean all (yum makecache)
然后 yum list |less 可以看到最右边有出血dvd库的,这些包就是还没安装的
(5)安装
yum install [-y] GConf2
yum更换国内源
自带的yum 安装源是国外的,下载时会比较慢
删除刚创建的文件dvd 恢复备份
rm -f dvd.repo
cp /etc/yum.repos.d.bak/* /etc/yum.repos.d
(mv /etc/yum.repos.d.bak /etc/yum.repos.d)
然后 yum list (必须执行,生成缓存,方便使用)
安装国内源:
1.
2.输入命令安装国内源地址
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
(因为删了centos-base.repo 且wget命令不存在,选用下面的那条命令 或者先安装wget)
或者
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
3.再yum list
yum下载rpm包
安装扩展源epel
yum install -y epel-release
yum list
yum下载rpm包
如果我们下载的包已经下载过了会提示我们包已经安装
下载以后到底有没有安装呢?使用 rpm -q 包名查看
如何查看包被下载到何处?
为什么是在epel/package?可以查看下载时依赖的源
指定下载的路径
yum install [-y] 包名 --downloadonly --downloaddir=路径
yum install -y zstd --downloadonly --downloaddir=/tmp/
如果目录下已经下载了rpm包,我们可以
yum reinstall [-y] 包名 --downloadonly
源码包
(源码包尽量放在/usr/local/src目录下)
1.先进入到/usr/local/src目录下 //cd /usr/local/src
2.使用wget下载源码包(如果没有wget工具:yum install -y wget)
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz
(源码包根据自己需求具体下载。我这里使用阿铭老师提供的地址:https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md)
3.解压源码包(这里是tar.gz)
tar -zxvf httpd-2.2.34.tar.gz
说明文档 README 安装文档 INSTALL
说明文档 README (介绍该源码包)
安装文档INSTALL(有安装步骤命令)
安装过程 (.configure --help 可以看到该包的功能)
1. ./configure --prefix=路径 (指定安装路径,首先要进入到安装源文件目录下;./表示当前)
./configure --prefix=/usr/local/apache2
.判断命令是否执行成功
如果看不懂这些英文指示
使用 echo $? (验证上一条命令是否成功,0:成功 ;1:失败)
如果看到 gcc no gcc不存在 安装 yum install -y gcc
返回值为1 安装gcc后再执行上一条命令
./configure --prefix=/usr/local/apache2
正常执行 echo $? 返回0 后就是成功生成Makefile
2.执行命令 make 进行编译
执行完命令make 后 然后查看一下是否执行成功 echo $?
返回0 成功继续下一步
3.make install
执行成功
要删除这个包直接把该目录(apache2)删除
安装源码包一定要到官方下载