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