Linux安装软件包的三种方法
rpm工具:预先在Linux机器上编译并打包安装的文件,安装迅速。(缺点:安装程序包时,有可能因为依赖另外一个程序包而无法安装) yum工具:可以使用工具安装时,同时将依赖的另外的程序包同时安装好;(CentOS中免费,Red Hat里需要付费) 源码包:一般源码包都是通过C语言开发出来的,Linux机器必须安装gcc才能编译;
检测命令
echo $? 检查上一条命令是否错误 0为正确 非0为错误
RPM工具
rpm包格式:包名、版本号、发布版本号、平台 举例:libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm 包名为:libjpeg-turbo-devel 版本号:1.2.90 发布版本号:5.el7 平台:x86_64 准备工作: 光驱设置好系统安装盘镜像,将光驱挂载到/mnt目录下:
[root@jinkai01 yum.repos.d]# mount /dev/cdrom /mnt/ mount: /dev/sr0 is write-protected, mounting read-only [root@jinkai01 yum.repos.d]# df -h | grep mnt /dev/sr0 4.3G 4.3G 0 100% /mnt [root@jinkai01 yum.repos.d]# cd /mnt/ [root@jinkai01 mnt]# ls CentOS_BuildTag EULA LiveOS RPM-GPG-KEY-CentOS-7 TRANS.TBL isolinux EFI GPL Packages RPM-GPG-KEY-CentOS-Testing-7 images repodata
安装RPM包 格式:
rpm -ivh [rpm包文件]
升级RPM包 格式:
rpm -Uvh [rpm包文件]
卸载RPM包 格式:
rpm -e [rpm包名]
查询 查询已安装的包 格式:
rpm -qa
查询指定包是否安装 格式:
rpm -q [包名]
查询指定包信息 格式:
rpm -qi [包名]
列出包安装的文件 格式:
rpm -ql [包名]
列出某个文件属于哪个RPM包 格式:
rpm -qf [文件绝对路径] [root@jinkai01 mnt]# rpm -qf /usr/bin/vim vim-enhanced-7.4.629-6.el7.x86_64
yum工具
yum工具最大的优势就是可以在联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包邮依赖关系,yum工具会帮我们依次安装所有相关的RPM包; 列出所有RPM包 格式:
yum list [root@jinkai01 mnt]# yum list
搜索RPM包 格式:
yum search [关键词]
这种方法不准确,只是搜索出包含vim字符的文件
[root@jinkai01 mnt]# yum search vim 输出结果太长已省略
使用管道符搜索
yum list | grep 'vim'
在所有rpm 包里面查找包含vim字符的包,但如果包名和所查询的命令字符不一样,但就查询不到了,例如:pstree 包名是psmisc
[root@jinkai01 mnt]# yum list | grep vim 输出结果太长已省略
根据命令来查询安装包 格式:
yum provides “[命令]” [root@jinkai01 mnt]# yum provides pstree
安装RPM包 格式:
yum install [-y] [包名]
卸载RPM包 格式:
yum remove [-y] [RPM包]
升级RPM包 格式:
yum update [-y] [RPM包]
搭建yum本地仓库
当系统无法联网时,就无法便捷实用yum工具了,此时我们可以实用光盘系统制作yum源; 挂载镜像到/mnt目录
mount /dev/cdrom /mnt
备份文件
cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
删除文件
[root@jinkai01 yum.repos.d]# rm -rf ./*
创建新文件
/etc/yum.repos.d/dvd.repo
以及文件内容
[root@jinkai01 yum.repos.d]# cat dvd.repo [dev] name=install dvd baseurl=file:///mnt enabled=1 gpgcheck=0
清除缓存 ** yum clean all**
[root@jinkai01 yum.repos.d]# yum clean all 已加载插件:fastestmirror 正在清理软件源: dvd Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors [root@jinkai01 yum.repos.d]#
刷新生成缓存 yum makecache
[root@jinkai01 yum.repos.d]# yum makecache
安装软件包 yum install -y 软件包名
[root@jinkai01 yum.repos.d]# yum install -y vim-enhanced
更换yum仓库源
yum联网下载源一般都是国外网络资源,我们为了更快安装可以更换为国内的资源下载; 进入目录**
cd /etc/yum.repos.d
备份文件
mv CentOS-Base.repo CentOS-Base.repo.bak
下载阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum下载rpm包
有时候我们需要下载RPM包但不安装,仅仅是复制给其他机器使用; 下载RPM包而不安装 默认RPM包保存路径为/var/cache/yum/x86_64/7/base/packages/ 格式:
yum install [包名] -y --downloadonly
[root@jinkai01 yum.repos.d]# yum install zsh --downloadonly 此处已省略过程 [root@jinkai01 yum.repos.d]# rpm -q zsh package zsh is not installed
新版本使用的是yumdownloader 包名,需要提前安装 yum-utils软件包 ** --resolve** 把下载包所依赖的包一起下载 --destdir 下载到指定目录
[root@jinkai01 yum.repos.d]# yum install -y yum-utils [root@jinkai01 yum.repos.d]# yumdownloader zsh [root@jinkai01 yum.repos.d]#yumdownloader zsh --resolve --destdir=/tmp/
指定下载RPM包的保存路径 格式: yum install [包名] --downloadonly --downloaddir=[路径]
[root@jinkai01 yum.repos.d]# yum install zsh --downloadonly --downloaddir=/tmp/ 此处已省略过程 [root@jinkai01 yum.repos.d]# ls /tmp/ 1.txt vmware-root_6331-1723602126 yum_save_tx.2020-08-12.17-46.i2lWPP.yumtx 1.zip yum_save_tx.2020-08-12.17-43.lKz1Z_.yumtx zsh-5.0.2-34.el7_8.2.x86_64.rpm
下载已安装的RPM包 格式: yum reinstall -y [包名] --downloadonly --downloaddir=[路径]
源码包安装
删除目录即可删除源码包; 源码包的编译必须通过GCC编译器,所以必须安装好gcc才能正常安装源码包; yum install -y gcc 进入下载目录
cd /usr/local/src
下载源码包
wget https://ftp.bit.nl/apache/httpd-2.2.29.tar.gz
解压源码包
tar -zxvf httpd-2.2.29.tar.gz
查看如何安装
more INSTALL 安装方法 $ ./configure --prefix=PREFIX $ make $ make install $ PREFIX/bin/apachectl start
指定安装路径
./configure --prefix=/usr/local/apache2
编译
make
安装源码包
make install
运行进程
/usr/local/apache2/bin/apachectl start
yum源服务端搭建 友情链接:https://cloud.tencent.com/developer/article/1473120