linux下安装包的三种方法
rpm工具 yum工具 源码包
rpm安装遇到依赖程序时需要先安装依赖程序才能继续安装,而yum安装则会自动安装依赖包。
rpm卸载包时也会依赖,需卸载依赖包才能卸载目标包或者强制卸载目标包
[root@localhost]# mount /dev/cdrom /mnt/ 挂载光驱到mnt目录下
-i 安装文件
-v 可视化
-h 进度条
-U 升级程序
-e 卸载
-e --nodeps 包名 无视依赖强制卸载
rpm -qa 查询安装的包
rpm -q包名 查询指定包是否安装
rpm -qi包名 查询指定包信息
rpm -ql包名 列出包安装的文件
rpm -qf文件绝对路径 查看一个文件是由哪个包安装的
安装zsh包
[root@localhost Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
准备中… ################################# [100%]
正在升级/安装…
1:zsh-5.0.2-28.el7 ################################# [100%]
列出lrzsz的包信息
[root@localhost Packages]# rpm -qi lrzsz
Name : lrzsz
Version : 0.12.20
Release : 36.el7
Architecture: x86_64
Install Date: 2018年11月02日 星期五 00时12分24秒
Group : Applications/Communications
Size : 184846
License : GPLv2+
Signature : RSA/SHA256, 2014年07月04日 星期五 11时35分32秒, Key ID 24c6a8a7f4a80eb5
Source RPM : lrzsz-0.12.20-36.el7.src.rpm
Build Date : 2014年06月10日 星期二 07时29分11秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem http://bugs.centos.org
Vendor : CentOS
URL : http://www.ohse.de/uwe/software/lrzsz.html
Summary : The lrz and lsz modem communications programs
Description :
Lrzsz (consisting of lrz and lsz) is a cosmetically modified
zmodem/ymodem/xmodem package built from the public-domain version of
the rzsz package. Lrzsz was created to provide a working GNU
copylefted Zmodem solution for Linux systems.
列出lrzsz包安装的文件
[root@localhost Packages]# rpm -ql lrzsz
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz
查看/usr/bin/sz是由哪个包安装的
[root@localhost Packages]# rpm -qf /usr/bin/sz
lrzsz-0.12.20-36.el7.x86_64
指定包名查询是否安装
[root@localhost Packages]# rpm -qa lrzsz
lrzsz-0.12.20-36.el7.x86_64
卸载lrzsz包
[root@localhost Packages]# rpm -e lrzsz
yum工具
yum安装程序包时自动检测依赖并且安装依赖包
yum list 列出可用的安装包
yum search 包名 根据包名模糊搜索可用包
yum list |grep ‘包名’ 指定包名搜索包
yum grouplist 列出安装组信息
yum groupinstall 组名 安装组包
yum remove -y 包名 卸载包并且卸载依赖包 加“-y”时会卸载依赖包
yum update 包名
yum update 升级系统内核及所有包
yum provides “/*/vim” 根据命令所搜可用的包名
[root@localhost Packages]# yum list |grep ‘vim’
vim-common.x86_64 2:7.4.160-4.el7 @base
vim-enhanced.x86_64 2:7.4.160-4.el7 @base
vim-filesystem.x86_64 2:7.4.160-4.el7 @base
vim-minimal.x86_64 2:7.4.160-4.el7 @base
protobuf-vim.x86_64 2.5.0-8.el7 base
vim-X11.x86_64 2:7.4.160-4.el7 base
搜索安装组信息
[root@localhost Packages]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
yum搭建本地仓库
挂载系统镜像到/mnt目录
cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak 复制原文件夹并改名为.bak结尾
rm -rf /etc/yum.repos.d/* 删除/etc/yum.repos.d/下所有文件
vim /etc/yum.repos.d/dvd.repo 编辑dvd.repo文件
复制如下内容保存后退出
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpcheck=0
yum clean all 清除本地yum缓存
然后安装以及查询的文件为dvd下的rpm包
带@符号的表示为已经安装的包,显示为dvd仓库名的为未安装可安装的包
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
已安装的软件包
GeoIP.x86_64 1.5.0-11.el7 @anaconda
NetworkManager.x86_64 1:1.10.2-16.el7_5 @updates
NetworkManager-libnm.x86_64 1:1.10.2-16.el7_5 @updates
NetworkManager-team.x86_64 1:1.10.2-16.el7_5 @updates
NetworkManager-tui.x86_64 1:1.10.2-16.el7_5 @updates
NetworkManager-wifi.x86_64 1:1.10.2-16.el7_5 @updates
hunspell-grc.noarch 2.1.5-7.el7 dvd
hunspell-gu.noarch 20061015-11.el7 dvd
hunspell-gv.noarch 0.20040505-9.el7 dvd
更换yum仓库源
rm -rf /etc/yum.repos.d/CentOS-Sources.repo 删除原yum源
curl -0 http://mirrors.163.com/.help/CentOS7-Base.repo 写入新的yum源
安装拓展源epel
yum -y install epel-release 安装epel-release包
yum list |grep epel 查看epel仓库可安装的包
yum下载rpm包
yum install -y 包名 --downloadonly 下载指定的包名
ls /var/cache/yum/x86_64/7/base/packages/ 查找下载的包 packages/前面应选择对于的仓库源目录
yum install -y 包名 --downloadonly --downloaddir=路径 指定下载包到某个目录下
yum reinstall -y 包名 --downloadonly --downloaddir=路径 重新下载已经安装的包并指定下载路径
下载lrzsz rpm包
[root@localhost Packages]# yum install -y lrzsz --downloadonly
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
依赖关系解决
正在安装:
lrzsz x86_64 0.12.20-36.el7 base 78 k
安装 1 软件包
总下载量:78 k
安装大小:181 k
Background downloading packages, then exiting:
lrzsz-0.12.20-36.el7.x86_64.rpm | 78 kB 00:00:00
exiting because “Download Only” specified
因源是base,所以查找下载的rpm须在base目录下
[root@localhost Packages]# ls /var/cache/yum/x86_64/7/
base/ epel/ .gpgkeyschecked.yum timedhosts.txt
dvd/ extras/ timedhosts
查找到base下的lrzsz rpm包
[root@localhost Packages]# ls /var/cache/yum/x86_64/7/base/packages/
lrzsz-0.12.20-36.el7.x86_64.rpm
指定下载vim到home目录下
[root@localhost Packages]# yum install -y vim --downloadonly --downloaddir=/home/
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
依赖关系解决
正在安装:
vim-enhanced x86_64 2:7.4.160-4.el7 base 1.0 M
安装 1 软件包
总下载量:1.0 M
安装大小:2.2 M
Background downloading packages, then exiting:
vim-enhanced-7.4.160-4.el7.x86_64.rpm | 1.0 MB 00:00:02
exiting because “Download Only” specified
重新下载已暗转的net-toos rpm包到home目录下
[root@localhost Packages]# yum reinstall -y net-tools --downloadonly --downloaddir=/home/
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
依赖关系解决
重新安装:
net-tools x86_64 2.0-0.22.20131004git.el7 base 305 k
重新安装 1 软件包
总下载量:305 k
安装大小:917 k
Background downloading packages, then exiting:
net-tools-2.0-0.22.20131004git.el7.x86_64.rpm | 305 kB 00:00:01
exiting because “Download Only” specified
源码包安装
进入src目录
[root@localhost src]# cd /usr/local/src/
下载apache2.4.37包
[root@localhost src]# wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.37.tar.gz
解压源码包
[root@localhost src]# tar -zxvf httpd-2.4.37.tar.gz
进入解压目录
[root@localhost src]# cd httpd-2.4.37/
源码包文件介绍
README 介绍apache服务
INSTALL 介绍安装和启动方法
解压文件
root@localhost:src# tar -zxvf httpd-2.4.37.tar.gz
进入解压目录下
root@localhost:src# cd httpd-2.4.37/
安装程序
root@localhost:httpd-2.4.37# ./configure --prefix=/usr/local/httpd-2.4.37/
编译
root@localhost:httpd-2.4.37# make
安装编译
root@localhost:httpd-2.4.37# make install