Linux软件包安装和卸载

linux系统下安装软件包的三种方法:
1.rpm工具:下载软件rpm包安装,类似Windows的exe文件
2.yum工具:类似应用商店,相比rpm安装优势在于更方便快捷,会自动安装依赖包
3.源码包:下载源码包到linux系统中,需要编译器编译安装

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业安宁免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

rpm工具用法:
rpm包的格式如下图:(zsh为包名,5.0.2为版本号,-31.el7为发布版本号)

[root@localhost Packages]# zsh-5.0.2-31.el7.x86_64.rpm

安装rpm包命令:rpm -ivh 包名

[root@localhost Packages]# rpm -ivh zsh-5.0.2-31.el7.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:zsh-5.0.2-31.el7                 ################################# [100%]

升级rpm包命令:rpm -Uvh 包名

[root@localhost Packages]# rpm -Uvh zsh-5.0.2-31.el7.x86_64.rpm

*当系统中有高版本的zsh包的时候,可以使用rpm -Uvh 升级包

卸载rpm包:rpm -e 包名

[root@localhost Packages]# rpm -e zsh  #卸载不需要写包的全名

查询系统已安装的rpm包: rpm -qa

[root@localhost Packages]# rpm -qa

查询指定的包是否安装:rpm -q 包名

[root@localhost Packages]# rpm -q zsh   #前文安装zsh包后已卸载所以提示未安装
未安装软件包 zsh 
[root@localhost Packages]# rpm -q vim-enhanced  #已安装的包会列出包的信息
vim-enhanced-7.4.160-6.el7_6.x86_64

查询指定包的详细信息: rpm -qi 包名

[root@localhost Packages]# rpm -qi vim-enhanced
Name        : vim-enhanced
Epoch       : 2
Version     : 7.4.160
Release     : 6.el7_6
Architecture: x86_64
Install Date: 2019年08月28日 星期三 11时22分18秒
Group       : Applications/Editors
Size        : 2296674
License     : Vim
Signature   : RSA/SHA256, 2019年07月01日 星期一 21时34分29秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : vim-7.4.160-6.el7_6.src.rpm
Build Date  : 2019年06月28日 星期五 21时59分48秒
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem 
Vendor      : CentOS
URL         : http://www.vim.org/
Summary     : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.

Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages.  You'll also
need to install the vim-common package.

列出包的安装文件:rpm -ql 包名

[root@localhost Packages]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor

查看文件由什么包安装: rpm -qf 文件绝对路径

[root@localhost Packages]# rpm -qf /usr/bin/vimdiff
vim-enhanced-7.4.160-6.el7_6.x86_64

yum工具的用法:
yum list :列出yum仓库中可以安装的rpm包

[root@localhost ~]# yum list

*第三列表示仓库名,带@符号表示已安装

查看yum仓库配置文件:

[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo

yum search 包名:搜索yum仓库中的包

[root@localhost ~]# yum search tomcat
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
=========================================================================== N/S matched: tomcat ===========================================================================
tomcat-admin-webapps.noarch : The host-manager and manager web applications for Apache Tomcat
tomcat-docs-webapp.noarch : The docs web application for Apache Tomcat
tomcat-javadoc.noarch : Javadoc generated documentation for Apache Tomcat
tomcat-jsp-2.2-api.noarch : Apache Tomcat JSP API implementation classes
tomcat-jsvc.noarch : Apache jsvc wrapper for Apache Tomcat as separate service
tomcat-lib.noarch : Libraries needed to run the Tomcat Web container
tomcat-servlet-3.0-api.noarch : Apache Tomcat Servlet API implementation classes
tomcat-webapps.noarch : The ROOT and examples web applications for Apache Tomcat
tomcatjss.noarch : JSS Connector for Apache Tomcat, a JSSE module for Apache Tomcat that uses JSS
tomcat.noarch : Apache Servlet/JSP Engine, RI for Servlet 3.0/JSP 2.2 API
tomcat-el-2.2-api.noarch : Expression Language v2.2 API

yum list | grep 包名:第二种搜索包的方式,显示信息更简洁

[root@localhost ~]# yum list | grep tomcat
tomcat.noarch                               7.0.76-9.el7_6             updates  
tomcat-admin-webapps.noarch                 7.0.76-9.el7_6             updates  
tomcat-docs-webapp.noarch                   7.0.76-9.el7_6             updates  
tomcat-el-2.2-api.noarch                    7.0.76-9.el7_6             updates  
tomcat-javadoc.noarch                       7.0.76-9.el7_6             updates  
tomcat-jsp-2.2-api.noarch                   7.0.76-9.el7_6             updates  
tomcat-jsvc.noarch                          7.0.76-9.el7_6             updates  
tomcat-lib.noarch                           7.0.76-9.el7_6             updates  
tomcat-servlet-3.0-api.noarch               7.0.76-9.el7_6             updates  
tomcat-webapps.noarch                       7.0.76-9.el7_6             updates  
tomcatjss.noarch                            7.2.1-8.el7_6              updates 

yum -y install 包名:安装包

[root@localhost ~]# yum -y install vim-enhanced

yum grouplist:列出可以安装的环境分组和拓展组

[root@localhost ~]# yum grouplist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

yum -y groupinstall 分组名:安装分组 (分组名有多个单词的情况下加单引号)

[root@localhost ~]# yum -y groupinstall 'Basic Web Server'

yum -y remove 包名:卸载包

[root@localhost ~]# yum -y remove tomcat

yum -y update 包名:更新包

[root@localhost ~]# yum -y update vim-enhancde

yum provides "/*/命令":查看命令由什么包安装以及安装路径
*当遇到命令名称与包名不一样的情况时,使用yum list | grep 包名可能找不到具体信息,使用yum provides可以根据命令找到包名以及安装路径,比如:pstree命令,pstree命令的包名为psmisc

[root@localhost ~]# yum provides "/*/pstree"
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
psmisc-22.20-15.el7.x86_64 : Utilities for managing processes on your system
源    :base
匹配来源:
文件名    :/usr/bin/pstree

yum搭建本地仓库:
挂载带有centos镜像的光盘:

[root@localhost ~]# mount /dev/cdrom /mnt/gp/
mount: /dev/sr0 写保护,将以只读方式挂载

备份yum配置文件:

[root@localhost ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak

清空配置文件:

[root@localhost ~]# rm -rf /etc/yum.repos.d/*

新建本地yum仓库配置文件:

[root@localhost ~]# vim /etc/yum.repos.d/yumck.repo

添加以下内容:

[yumck]
name=install yumck  #自定义描述字符
baseurl=file:///mnt/gp/  #仓库中rpm包的路径
enable=1          #是否可用,改为0改仓库即变为不可用
gpgcheck=0      #是否检测

清除缓存:

[root@localhost ~]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: yumck
Cleaning up list of fastest mirrors
Other repos take up 197 M of disk space (use --verbose for details)

查看本地yum仓库中可安装的包:

[root@localhost ~]# yum list

安装测试:

[root@localhost ~]# yum -y install zsh
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-31.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

===========================================================================================================================================================================
 Package                              架构                                    版本                                            源                                      大小
===========================================================================================================================================================================
正在安装:
 zsh                                  x86_64                                  5.0.2-31.el7                                    yumck                                  2.4 M

事务概要
===========================================================================================================================================================================
安装  1 软件包

总下载量:2.4 M
安装大小:5.6 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zsh-5.0.2-31.el7.x86_64                                                                                                                                1/1 
  验证中      : zsh-5.0.2-31.el7.x86_64                                                                                                                                1/1 

已安装:
  zsh.x86_64 0:5.0.2-31.el7                                                                                                                                                

完毕!

查看已安装的包:
*第三列已显示该包来源于本地yum仓库

[root@localhost ~]# yum list |grep zsh
zsh.x86_64                                  5.0.2-31.el7               @yumck 

更换国内yum源:

*centos默认yum源是国外的,有时候安装软件速度很慢,可以更换网易yum源解决
备份系统自带的yum配置文件:/etc/yum.repos.d/CentOS-Base.repo

[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
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

wget下载对应版本的repo文件:http://mirrors.163.com/.help/CentOS7-Base-163.repo

[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

或使用curl -O:

[root@localhost yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

清除缓存:

[root@localhost yum.repos.d]# yum clean all

查看更换完成的yum仓库rpm包列表:

[root@localhost yum.repos.d]# yum list

安装拓展yum源:

*当更换的国内yum仓库或系统默认yum仓库包不够时,可以添加yum拓展源(由redhat官方提供的yum拓展仓库,包数量更多)
安装拓展源 epel-release:

[root@localhost yum.repos.d]# yum -y install epel-release

查看配置文件:
*安装完成后可以看到目录下增加了epel拓展源(epel.repo、epel-testing.repo)配置文件

[root@localhost yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo  epel.repo
CentOS-Base.repo.bak   CentOS-Debuginfo.repo  CentOS-Media.repo      CentOS-Vault.repo    epel-testing.repo

查看yum仓库rpm包列表即可显示新增拓展源的rpm包:

[root@localhost yum.repos.d]# yum list 

yum下载rpm包:

*使用yum命令安装软件包时,系统会直接将yum仓库的软件包安装到系统中

yumdownloader 命令:将yum仓库中的rpm包下载到本地不安装

[root@localhost ~]# yumdownloader zsh
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: hkg.mirror.rackspace.com

查看下载好的包:

[root@localhost ~]# ls       #该命令会直接把包下载到当前所在目录
mytest  zsh-5.0.2-31.el7.x86_64.rpm  

- -resolve 参数:自动下载相关依赖包
*加上 - - resolve参数在下载目标rpm包时,会检查包的依赖关系并下载先关依赖包

[root@localhost ~]# yumdownloader --resolve zsh
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: hkg.mirror.rackspace.com
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-31.el7 将被 安装
--> 解决依赖关系完成
zsh-5.0.2-31.el7.x86_64.rpm 

- -destdir 参数:指定下载rpm包的存放目录
*如不指定存放目录,rpm包会存放到当前所在目录

[root@localhost ~]# yumdownloader zsh --destdir /root/mytest/
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: hkg.mirror.rackspace.com
zsh-5.0.2-31.el7.x86_64.rpm                                                                                                                         | 2.4 MB  00:00:00     
[root@localhost ~]# ls /root/mytest/
zsh-5.0.2-31.el7.x86_64.rpm

源码包安装:

*以apache2.2为例,源码包存放路径/usr/local/src/,apache2.2安装路径/usr/local/apache

在安装源码包之前先安装gcc编译器:

*gcc是GNU编译器套件(GNU Compiler Collection),它包括了C、C++、Objective-C、Fortran、Java、Ada、Go语言和 D语言的前端,也包括了这些语言的库(如 libstdc++、libgcj等等)。

[root@localhost src]# yum -y install gcc

进入指定目录下载apache2.2源码包:

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget https://ftp.bit.nl/apache/httpd-2.2.29.tar.gz 

解压apache包:

[root@localhost src]# tar -zxvf httpd-2.2.29.tar.gz 

进入apache源码包目录执行如下命令:(指定安装目录生成makefile文件)

[root@localhost httpd-2.2.29]# ./configure --prefix=/usr/local/apache

查看上一条命令是否执行成功:(0代表成功,非0代表出错,源码安装要多查看命令执行结果避免出错)

[root@localhost httpd-2.2.29]# echo $?
0

编译:

[root@localhost httpd-2.2.29]# make
[root@localhost httpd-2.2.29]# echo $?
0

安装:

[root@localhost httpd-2.2.29]# make install
[root@localhost httpd-2.2.29]# echo $?
0

安装完成:

[root@localhost httpd-2.2.29]# cd /usr/local/apache/ | ls
ABOUT_APACHE  BuildBin.dsp   config.log     docs         httpd.mak       LAYOUT        Makefile      modules.lo     README            srclib
acinclude.m4  buildconf      config.nice    emacs-style  httpd.spec      libhttpd.dep  Makefile.in   modules.o      README.platforms  support
Apache.dsw    buildmark.o    config.status  httpd        include         libhttpd.dsp  Makefile.win  NOTICE         README-win32.txt  test
build         CHANGES        configure      httpd.dep    INSTALL         libhttpd.mak  modules       NWGNUmakefile  ROADMAP           VERSIONING
BuildAll.dsp  config.layout  configure.in   httpd.dsp    InstallBin.dsp  LICENSE       modules.c     os             server

分享名称:Linux软件包安装和卸载
转载来源:http://scyanting.com/article/jchshi.html