Linux 之 软件安装
单纯一个操作系统是没有办法满足我们的需求的,所以需要各种安装各种软件来满足我们日常工作、生活需求。一般情况下,Linux常用的安装方式有两种,以CentOS为例:
1.从源代码安装软件
将软件源代码编译安装适用于所有针对linux系统开发的软件,以及部分针对类unix系统开发的软件。
步骤为:
- 执行configure,它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。
在检查过程中,如果出现问题,会停止检查并提示错误,方便用户根据提示重新配置安装环境,再重新执行检查,检查完成之后,会生成一个config.log文档,记录一些运行配置用以帮助调试安装。检查通过之后,会生成用于编译的MakeFile文件,至此,就可以开始编译了。
- make,系统根据MakeFile的指示开始展开编译,利用gcc将原始码编译成为目标文件,这些目标文件通过函数库连接产生一个完整的可执行文件
- make install,开始安装,将编译完成的文件安装到预定的目录中去。一般情况下会有etc(配置文件)、bin(执行文件)、lib(函数库)、man(线上说明书)等目录
2.利用软件管理工具安装
RPM(Redhat Package Manager)是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
将rpm文件上传到系统中,可以对这个文件做一系列查询、卸载、升级等操作
- 安装软件:执行rpm -ivh rpm包名
- 列出所有被安装的rpm package :执行rpm -qa
- 查询一个包是否被安装 rpm -q 包名
- 卸载软件:rpm -e rpm包名。
其他rpm参数如下,转自:http://www.360doc.com/content/10/1115/22/2054285_69685576.shtml
- RPM命令详解(安装、升级、卸载)
- rpm 常用命令
- .安装一个包
- # rpm -ivh
- .升级一个包
- # rpm -Uvh
- .卸载一个包
- # rpm -e
- .安装参数
- --force 即使覆盖属于其它包的文件也强迫安装
- --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
- .查询一个包是否被安装
- # rpm -q < rpm package name>
- .得到被安装的包的信息
- # rpm -qi < rpm package name>
- .列出该包中有哪些文件
- # rpm -ql < rpm package name>
- .列出服务器上的一个文件属于哪一个RPM包
- #rpm -qf
- .可综合好几个参数一起用
- # rpm -qil < rpm package name>
- .列出所有被安装的rpm package
- # rpm -qa
- .列出一个未被安装进系统的RPM包文件中包含有哪些文件?
- # rpm -qilp < rpm package name>
- <>
- 一、安装
- 命令格式:
- rpm -i ( or --install) options file1.rpm ... fileN.rpm
- 参数:
- file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
- 详细选项:
- -h (or --hash) 安装时输出hash记号 (``#'')
- --test 只对安装进行测试,并不实际安装。
- --percent 以百分比的形式输出安装的进度。
- --excludedocs 不安装软件包中的文档文件
- --includedocs 安装文档
- --replacepkgs 强制重新安装已经安装的软件包
- --replacefiles 替换属于其它软件包的文件
- --force 忽略软件包及文件的冲突
- --noscripts 不运行预安装和后安装脚本
- --prefix 将软件包安装到由 指定的路径下
- --ignorearch 不校验软件包的结构
- --ignoreos 不检查软件包运行的操作系统
- --nodeps 不检查依赖性关系
- --ftpproxy 用 作为 FTP代理
- --ftpport 指定FTP的端口号为
- 通用选项
- -v 显示附加信息
- -vv 显示调试信息
- --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安
- 装程序都会安装到这个目录下
- --rcfile 设置rpmrc文件为
- --dbpath 设置RPM 资料库存所在的路径为
- 二、删除
- 命令格式:
- rpm -e ( or --erase) options pkg1 ... pkgN
- 参数
- pkg1 ... pkgN :要删除的软件包
- 详细选项
- --test 只执行删除的测试
- --noscripts 不运行预安装和后安装脚本程序
- --nodeps 不检查依赖性
- 通用选项
- -vv 显示调试信息
- --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装
- 程序都会安装到这个目录下
- --rcfile 设置rpmrc文件为
- --dbpath 设置RPM 资料库存所在的路径为
- 三、升级
- 命令格式
- rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
- 参数
- file1.rpm ... fileN.rpm 软件包的名字
- 详细选项
- -h (or --hash) 安装时输出hash记号 (``#'')
- --oldpackage 允许"升级"到一个老版本
- --test 只进行升级测试
- --excludedocs 不安装软件包中的文档文件
- --includedocs 安装文档
- --replacepkgs 强制重新安装已经安装的软件包
- --replacefiles 替换属于其它软件包的文件
- --force 忽略软件包及文件的冲突
- --percent 以百分比的形式输出安装的进度。
- --noscripts 不运行预安装和后安装脚本
- --prefix 将软件包安装到由 指定的路径下
- --ignorearch 不校验软件包的结构
- --ignoreos 不检查软件包运行的操作系统
- --nodeps 不检查依赖性关系
- --ftpproxy 用 作为 FTP代理
- --ftpport 指定FTP的端口号为
- 通用选项
- -v 显示附加信息
- -vv 显示调试信息
- --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
- --rcfile 设置rpmrc文件为
- --dbpath 设置RPM 资料库存所在的路径为
- 四、查询
- 命令格式:
- rpm -q ( or --query) options
- 参数:
- pkg1 ... pkgN :查询已安装的软件包
- 详细选项
- -p (or ``-'') 查询软件包的文件
- -f 查询属于哪个软件包
- -a 查询所有安装的软件包
- --whatprovides 查询提供了 功能的软件包
- -g 查询属于 组的软件包
- --whatrequires 查询所有需要 功能的软件包
- 信息选项
- 显示软件包的全部标识
- -i 显示软件包的概要信息
- -l 显示软件包中的文件列表
- -c 显示配置文件列表
- -d 显示文档文件列表
- -s 显示软件包中文件列表并显示每个文件的状态
- --scripts 显示安装、卸载、校验脚本
- --queryformat (or --qf) 以用户指定的方式显示查询信息
- --dump 显示每个文件的所有已校验信息
- --provides 显示软件包提供的功能
- --requires (or -R) 显示软件包所需的功能
- 通用选项
- -v 显示附加信息
- -vv 显示调试信息
- --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
- --rcfile 设置rpmrc文件为
- --dbpath 设置RPM 资料库存所在的路径为
- 五、校验已安装的软件包
- 命令格式:
- rpm -V ( or --verify, or -y) options
- 参数
- pkg1 ... pkgN 将要校验的软件包名
- 软件包选项
- -p Verify against package file
- -f 校验所属的软件包
- -a Verify 校验所有的软件包
- -g 校验所有属于组 的软件包
- 详细选项
- --noscripts 不运行校验脚本
- --nodeps 不校验依赖性
- --nofiles 不校验文件属性
- 通用选项
- -v 显示附加信息
- -vv 显示调试信息
- --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
- --rcfile 设置rpmrc文件为
- --dbpath 设置RPM 资料库存所在的路径为
- 六、校验软件包中的文件
- 语法:
- rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
- 参数:
- file1.rpm ... fileN.rpm 软件包的文件名
- Checksig--详细选项
- --nopgp 不校验PGP签名
- 通用选项
- -v 显示附加信息
- -vv 显示调试信息
- --rcfile 设置rpmrc文件为
- 七、其它RPM选项
- --rebuilddb 重建RPM资料库
- --initdb 创建一个新的RPM资料库
- --quiet 尽可能的减少输出
- --help 显示帮助文件
- --version 显示RPM的当前版本
3.YUM安装
有时候安装一个软件需要首先安装多个其他软件,手工解决时很复杂,使用yum可以解决这个问题
- 自动解决依赖关系
- 可以对RPM进行分组,并基于组织进行安装操作
- 引入仓库概念,支持多个仓库。
仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库。
yum使用仓库保存管理rpm软件,仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下:
- [仓库简写名称]
- name=仓库名称,一般为仓库描述
- baseurl=仓库路径,可以是互联网上,也可以是本地的
- enabled=是否启用(,启用;,禁用)
- gpgcheck=是否打开校验(,打开;,关闭)
仓库可以使用file、http、ftp、mfs方式
yum配置文件必须以.repo结尾
一个配置文件内可以保存多个仓库的配置信息
/etc/yum.repos.d/目录下可以存在多个配置文件
配置简单
安装软件
- yum install 软件名称
卸载软件
- yum remove 软件名称
升级软件
- yum update 软件名称
基于关键字搜索软件
- yum search 关键字
显示指定软件信息
- yum info 软件名称
清空缓存信息
- yum clean all
整理自:慕课网(www.imooc.com) LinuxCast(www.LinuxCast.net)
Linux 之 软件安装的更多相关文章
- Linux下软件安装方法即路径设置
Linux下软件安装方法即路径设置 http://www.cnblogs.com/edward259/archive/2010/07/02/1770066.html
- (大数据工程师学习路径)第一步 Linux 基础入门----Linux 下软件安装
介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二 ...
- linux下软件安装的几种方式
linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...
- Linux入门基础教程之Linux下软件安装
Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...
- Linux 下软件安装
Linux 下软件安装 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而 ...
- Linux 的软件安装目录
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32. / ...
- Linux课程---11、Linux中软件安装和调试
Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...
- linux中软件安装方式
通常Linux应用软件的安装包有三种: tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. rpm包,如software-1.2.3-1.i386 ...
- linux初学者-软件安装与管理篇
linux初学者-软件安装与管理篇 在linux的学习和工作中需要安装许多的软件.在redhat的linux操作系统下,软件一般都是rpm格式的.以下将介绍一些软件安装和管理的内容. 1.软件名称 在 ...
- 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记
Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...
随机推荐
- Sq常用操作
sql创建表实例: CREATE TABLE mytable( id varchar(40) NOT NULL default '', userId varchar(40) NOT NULL defa ...
- 报错:MetaException(message:Version information not found in metastore. )
报错背景: CDH安装完成hive后启动失败. 报错现象: [main]: Metastore Thrift Server threw an exception... MetaException(me ...
- composer autoload优化
为生产环境作准备 最后提醒一下,在部署代码到生产环境的时候,别忘了优化一下自动加载: composer dump-autoload --optimize 安装包的时候可以同样使用--optimize- ...
- http post 自动变成了options 怎么设置
- vue-cli3.0和element-ui及axios的安装使用
一.利用vue-cli3快速搭建vue项目 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令( ...
- 常见问题:MySQL/排序
MySQL的排序分为两种,通过排序操作和按索引扫描排序. 按索引顺序扫描是一种很高效的方式,但使用的条件较为严格,只有orderby语句使用索引最左前列,或where语句与orderby语句条件列组合 ...
- 第5课.linux进阶命令
1.find:查找符合条件的文件 格式: find 目录名 选项 查找条件 eg: find /work/001_linux_basic/dira/ -name "test1.txt&quo ...
- 怎么对10亿数据量级的mongoDB作高效的全表扫描
转自:http://quentinxxz.iteye.com/blog/2149440 一.正常情况下,不应该有这种需求 首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提 ...
- [转帖]Linux下主机间文件传输命令
Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs SCP命令: ...
- [C++] 非递归实现前中后序遍历二叉树
目录 前置技能 需求描述 binarytree.h 具体实现 binarytree.cpp main.cpp 网上代码一搜一大片,大同小异咯. 书上的函数实现代码甚至更胜一筹,而且抄一遍就能用,唯一问 ...