Linux 应用程序的安装和管理
在Linux
中,有三种安装软件的方式,分别是RPM
包安装、YUM
源安装、源代码编译安装。
常见应用程序目录结构
类型 | 路径 |
---|---|
普通用户可执行文件 | /usr/bin |
管理员可执行文件 | /usr/sbin |
配置文件 | /etc |
日志文件 | /var/log |
应用程序参考文档 | /usr/share/doc |
执行文件、配置文件的man 手册 |
/usr/share/man |
常见软件包封装类型
RPM
包
扩展名.rpm
,只能在使用rpm
机制的Linux
中安装,如RHEL
、CentOS
。
DEB
包
扩展名.deb
,只能在使用dpkg
机制的Linux
中安装,如Debian
、Ubuntu
。
- 源代码软件包
包含原始代码的.tar.gz
、.tar.bz2
的压缩包TarBall
,安装需要相应的编译工具,C
、C++
。
- 附带安装程序的软件包
软件包中提供install.sh
、setup
等,运行以根据向导程序的提示完成安装操作。
RPM包
查询 RPM 包信息
已安装
- rpm -q[子选项] [准确的软件名]
-qa
:显示所有以RPM
方式安装的软件
-qi
:查看指定软件包的名称、版本等详细信息(--info)
-ql
:显示指定软件包安装的所有目录、文件列表(--list)
-qf
:查看指定的文件或目录是由哪个软件包所安装的(--file)
[root@localhost ~]# rpm -qa
linux-firmware-20170606-56.gitc990aae.el7.noarch
centos-release-7-4.1708.el7.centos.x86_64
kbd-1.15.5-13.el7.x86_64
setup-2.8.71-7.el7.noarch
…… //省略
[root@localhost ~]# rpm -qa | wc -l
343
[root@localhost ~]# rpm -q vim-common
vim-common-7.4.160-6.el7_6.x86_64
[root@localhost ~]# rpm -qa | grep vim
vim-filesystem-7.4.160-6.el7_6.x86_64
vim-enhanced-7.4.160-6.el7_6.x86_64
vim-common-7.4.160-6.el7_6.x86_64
vim-minimal-7.4.160-2.el7.x86_64
[root@localhost ~]# rpm -qi vim-common
Name : vim-common
Epoch : 2
Version : 7.4.160
Release : 6.el7_6
Architecture: x86_64
Install Date: Tue 20 Aug 2019 03:18:40 PM CST
Group : Applications/Editors
Size : 22146036
License : Vim
Signature : RSA/SHA256, Mon 01 Jul 2019 09:34:28 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : vim-7.4.160-6.el7_6.src.rpm
Build Date : Fri 28 Jun 2019 09:59:48 PM CST
Build Host : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.vim.org/
Summary : The common files needed by any version of the VIM editor
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-common package contains files which every VIM binary will need in
order to run.
If you are installing vim-enhanced or vim-X11, you'll also need
to install the vim-common package.
[root@localhost ~]# rpm -ql vim-common
/etc/vimrc
/usr/bin/xxd
/usr/share/doc/vim-common-7.4.160
/usr/share/doc/vim-common-7.4.160/Changelog.rpm
/usr/share/doc/vim-common-7.4.160/LICENSE
…… //省略
[root@localhost ~]# which vim
/usr/bin/vim
[root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-6.el7_6.x86_64
未安装
- rpm -qp[子选项] 软件路径
-qpi
:查看指定软件包的名称、版本等详细信息
-qpl
:显示指定软件包准备安装的所有目标目录、文件列表
[root@localhost ~]# cd /mnt/cdrom/Packages/
[root@localhost Packages]# rpm -qpi vim-common-7.4.160-2.el7.x86_64.rpm
Name : vim-common
Epoch : 2
Version : 7.4.160
Release : 2.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/Editors
Size : 22146173
License : Vim
Signature : RSA/SHA256, Fri 11 Aug 2017 04:15:28 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : vim-7.4.160-2.el7.src.rpm
Build Date : Wed 02 Aug 2017 08:46:12 AM CST
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.vim.org/
Summary : The common files needed by any version of the VIM editor
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-common package contains files which every VIM binary will need in
order to run.
If you are installing vim-enhanced or vim-X11, you'll also need
to install the vim-common package.
[root@localhost Packages]# rpm -qpl vim-common-7.4.160-2.el7.x86_64.rpm
/etc/vimrc
/usr/bin/xxd
/usr/share/doc/vim-common-7.4.160
/usr/share/doc/vim-common-7.4.160/Changelog.rpm
/usr/share/doc/vim-common-7.4.160/LICENSE
…… //省略
安装、升级、卸载
-i
:安装
-e
:卸载
-U
:检查升级,未安装则安装
-F
:检查升级,未安装则不安装
--force
:强制安装
--nodeps
:安装、卸载、升级时,不检查与其他软件包的依赖问题。
-h
:安装、升级时,以#
显示进度。
-v
:显示安装过程详细信息。
rpm -ivh
:安装
[root@localhost Packages]# rpm -ivh wget-1.14-15.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:wget-1.14-15.el7 ################################# [100%]
rpm -evh
:卸载
[root@localhost Packages]# rpm -evh wget
Preparing... ################################# [100%]
Cleaning up / removing...
1:wget-1.14-18.el7_6.1 ################################# [100%]
rpm --rebuilddb
或rpm --initdb
:当RPM
数据库损坏时,重建。
[root@localhost Packages]# rpm --rebuilddb
[root@localhost Packages]# rpm --initdb
YUM源
- 安装、卸载
yum install 软件名
yum remove 软件名 / yum erase 软件名
- 搭建本地
YUM
源
1.挂载光盘
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1015M 16G 6% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt/cdrom
2.备份已有的YUM
源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv CentOS-* bak/
3.新建本地YUM
源
vi /etc/yum.repo.d/local.repo
[local]
name = centos7.4
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1
4.缓存重建
yum clean all
yum list
源代码
概述
- 需要使用源代码安装的情况:
1.安装较新版本的应用程序时
2.当前安装的程序无法满足应用需求
3.为应用程序添加新的功能
特点:源代码编译安装为使用者提供了更加灵活的程序功能定制途径,还能获得最新版本,及时修复BUG
。
- 完整性校验(考虑安全因素)
md5sum 压缩包名
- 开发环境(编译需要)
gcc
和make
时由GUN
项目所贡献的功能强大的C/C++
语言编译器。
gcc --version
make --version
编译安装过程
下载源代码安装包文件
解包、配置、编译、安装
序号 | 操作 | 用途 |
---|---|---|
1 | tar 解包 | 解压并释放源代码包到指定目录 |
2 | ./configure 配置 | 设置安装目录、安装模块等选项 |
3 | make 编译 | 生成可执行的二进制文件 |
4 | make install 安装 | 复制二进制文件到系统,配置应用环境 |
- 测试及应用、维护软件
以后会有关于源代码安装的例子,这里不做过多介绍。
Linux 应用程序的安装和管理的更多相关文章
- 细说Linux下软件包的安装与管理
一 源码安装方式 由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...
- Linux下软件的安装与管理
1.源码安装方式 2.RPM包方式安装 3.yum安装方式 4.二进制软件安装方式 1.源码安装方式 (1)下载.解压Apache源码: mkdir /apache #在根目录下创建一个apache目 ...
- -Linux下的虚拟机安装与管理
一.虚拟机安装 首先安转之前,要提前下载一个镜像,这里是:rhel-server-7.0-x86_64-dvd.iso 1)图形化方法 [1]在本机打开终端,切换到超级用户下.输入命令:virt-ma ...
- 『学了就忘』Linux软件包管理 — 49、拓展:Linux中通过脚本安装程序
目录 1.脚本程序简介 2.Webmin安装 (1)简介 (2)安装 (3)使用 1.脚本程序简介 脚本程序包并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于Windows下的程序安装,有 ...
- Linux命令(六)——软件包管理(安装应用程序)
与windows安装各种应用程序相似,在linux下也可以安装各种需要的应用程序,通常称为软件包.目前,在linux系统下常见的软件包格式主要有:RPM包.TAR包.bz2包.gz包.deb包.sh结 ...
- 运维笔记10 (Linux软件的安装与管理(rpm,yum))
概述:用rpm安装和管理软件(rpm解决依赖性),用yum安装与管理软件(yum解决依赖性). 1.linux的软件 linux能够说是一款改变时代的操作系统,可是一个操作系统再优秀假设没有好用的应用 ...
- 如何在Linux上安装服务器管理软件Cockpit
Cockpit 是一个自由开源的服务器管理软件,使得我们可以通过它好看的 Web 前端界面轻松地管理我们的 GNU/Linux 服务器,非常轻量级,Web 界面也非常简单易用. Cockpit 使得 ...
- Linux软件管理器(如何使用软件管理器来管理软件)2---安装及管理Linux应用程序
安装及管理Linux应用程序 Linux应用程序的组成1.普通的可执行程序文件,一般保存在/usr/bin目录中,普通用户即可执行.2.服务器程序.管理程序文件,一般保存在/usr/sbin目录中,需 ...
- Linux脚本程序包及安装
概述 脚本程序并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于 Windows 下的程序安装,有一个可执行的安装程序,只要运行安装程序,然后进行简单的功能定制选择(比如指定安装目录等),就 ...
随机推荐
- python万能消费框架,新增7种中间件(或操作mq的包)和三种并发模式。
新增的中间件和并发模式见注释. 消息队列中间件方面celery支持的,都要支持.并发模式,celery支持的都要支持. 从无限重复相似代码抽取框架,做成万能复用,是生产力的保障. 使用模板模式使加新中 ...
- SDN实验---Ryu的应用开发(四)北向接口RESTAPI
一:推文 软件定义网络基础---REST API概述 软件定义网络基础---REST API的设计规范 二:掌握Ryu基本RESTAPI使用方法 (一)Ryu的RESTAPI (二) REST应用样例 ...
- RAC升级后,一个节点无法连接数据库,报ORA-12537: TNS:connection closed
RAC从11.2.0.3升级到11.2.0.4后,一个节点的Public IP.VIP无法连接数据库 SQL> CONN SYS/oracle@192.168.122.101:1521/pplu ...
- shiro中anon配置不生效
再配置shiro的时候,如下代码要注意: 1.下述代码中必须是LinkedHashMap 而不能是HashMap. 2.anon定义必须在authc之前 否则anon定义不生效 @Bean ...
- rc.local添加tomcat服务启动命令,但是tomcat服务无法正常启动
遇到了一个特别坑的问题. 本来想着在rc.local文件里添加tomcat启动命令,使tomcat开机自启.之前在其他服务器上直接这样操作是没问题的,但很幸运的是,现在忽然就不行了. 开始排错: 1. ...
- 【Spring Cloud学习之六】断路器-Hystrix
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 Spring Cloud 1.2 一.服务雪崩1.什么是服务雪崩分布式系统中经常会出现某个基础服务不可用造成整个系统不 ...
- [数据结构 - 第6章] 树之二叉平衡树(C语言实现)
一.什么是平衡二叉树? 平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两 ...
- AngularJS 常见面试问题
ng-if 跟 ng-show/hide 的区别有哪些? 第一点区别是,ng-if 在后面表达式为 true 的时候才创建这个 dom 节点,ng-show 是初始时就创建了,用 display:bl ...
- Git 克隆
工作中大家分工协作,共同开发维护一个项目,git仓库放在公共的服务器上,如github.Gitee等. 在这种情况使用git,需要先克隆仓库到本地. 克隆非常简单,使用命令git clone 将远程仓 ...
- ClickHouse中的循环复制集群拓扑
关系型数据库,但千万级表关联数据库基本上不太可能做到秒出:考虑过Sharding,但数据量大, 各种成本都很高:热数据存储到ElasticSearch,但无法跨索引关联,导致不得不做宽表, 因为权限, ...