linux的软件包是独立的,Linux系统下软件包的安装
(以下内容是云课堂Linux课程的笔记,个人纯手工记录,课程以RedHat系列为主)
Linux系统下软件包的安装方式包括:源代码安装、本地二进制包安装(rpm命令手工安装)、在线二进制包安装(yum命令在线自动安装)。
第1节
1、软件包分为两种:
(1)源码包:使用C、或C++写的源代码,未编译成为计算机语言(tar.gz格式)
(2)二进制包(系统默认包):源代码经过编译之后的0101这样的计算机语言包
(Debian系列为deb格式;Redhat系列为rpm格式。两种格式的命令、配置文件保存位置基本都是一致的)
编译:把源代码翻译成为计算机可识别的二进制计算机语言。
2、源码包:
优点:开源,源代码可见;可以自由选择所需功能;编译安装,更适合自己的系统(源码包比二进制包可以提高5%的效率);卸载方便(把源码包安装目录直接删除即可彻底卸载)。
缺点:安装步骤较多,容易出现拼写错误;编译时间长;编译安装,若过程报错,新手很难解决。
3、二进制包:
优点:包管理简单,只需要几个命令行就可以实现安装、升级、查询、卸载;安装速度比源码包要快。
缺点:不可见源代码;功能选择不灵活;包的依赖性(由于依赖性,需要先装依赖包,才可以安装需要包)
第2节
2.1节 rpm命令管理
1、包全名(包文件全称)与包名(包文件简称)
包全名:操作的包时没有安装的软件包时,使用包全名。而且注意路径。
包名:操作已安装软件包,使用包名。是搜索/var/lib/rpm中的数据库。
2、RPM包具有依赖性,必须按照依赖性安装,较为麻烦
2.2节 rpm命令管理-安装、升级、卸载
(rpm命令用于安装下载到本地的rpm包、或者光盘内的rpm包,但是各个包的依赖性,使得安装非常复杂。俗称手工rpm包安装)
1、rpm安装
rpm -ivh 包全名
选项: -i 安装(install) -v 显示详细信息(verbose)
-h 显示进度(hash)
2、rpm升级
rpm -Uvh 包全名
选项:-U 升级(upgrade)
3、rpm卸载
rpm -e 包名
选项:-e 卸载(erase)
2.3节 rpm命令管理-查询
1、查询是否已经安装
rpm -q 包名
选项:-q 查询(query)
2、查询所有已安装包
rpm -qa
选项:-a 所有(all)
3、查询软件包详细信息
rpm -qi 包名
选项:-i 查询软件信息
4、查询未安装包中文件安装位置
rpm -qlp 包全名
选项:-p 查询未安装包的信息(package)包括文件的安装位置
5、查询系统文件属于哪个包
rpm -qf 系统文件名
选项:-f 查询系统文件属于哪个软件包(file)
第3节 yum在线管理程序包
3.1节 网络yum源
1、打开网络yum源(Ubuntu中是source.list)
$ vim /etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称,一定放于[ ]之中。一般不改。
name 容器说明,可以自己随便写
mirrorlist 镜像站点,可以注释掉
baseurl 是yum源服务器地址。与镜像地址选择其一就可以。
enabled 此容器是否生效。不写或等于1,则生效。设为0,则不生效。
gpgcheck 数字证书,设为1生效
gpgkey 公钥文件保存位置。不用修改
(网络yum源,就是所有rpm包所在的位置,提供下载;这个文件基本是不需要修改的。当然也可以使用光盘作为yum源,即光盘内装有所有rpm包)
3.2节 yum命令
1、查询所有可用软件包列表(到网络yum源服务器去查询)
yum list
2、搜索服务器上所有和关键字相关的包
yum search 关键字(包名)
注意:对于yum命令没有包全名的概念,只对于手工安装rpm包,才有包全名的概念。
3、安装
yum -y install 包名
选项:install 安装 -y 自动回答yes
(yum命令自动到远程服务器下载并安装依赖的rpm包,自动完成)
4、升级
yun -y update 包名
(注意:如果不加包名,默认将所有软件包升级,包括Linux系统内核也可能会升级)
5、卸载
yum -y remove 包名
第4节 源码包安装
4.1节 源码包与rpm包安装后的区别
1、rpm包默认安装路径
/etc 配置文件安装目录
/usr/bin 可执行命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件手册保存位置
/usr/share/man 帮助文件保存位置
2、源码包安装位置
安装在指定位置中,一般是 /usr/local/软件包 (类似于Windows系统的C盘progragm
files)
3、安装位置不同带来的影响
(1)rpm包安装的服务可以使用系统服务管理命令(service)来管理。
例如rpm包安装的Apache的启动方法是:
/etc/rc.d/init.d/httpd start (绝对路径 + 服务命令)
或者
service httpd start
(系统服务命令启动)
(service 不能启动源码包安装的软件,只适用rpm命令)
(2)源码包安装的服务,必须使用 绝对路径 + 服务命令 进行管理。
4.2 源码包的安装
安装准备:安装C语言编辑器gcc;下载源码包。
1、源码包保存位置: /usr/local/src/
软件安装位置: /usr/loacl
如何确定安装过程报错:安装过程停止,并出现error 、warning的提示
2、源码包安装过程
(1)下载到Linux系统,一般是tar.gz格式;
(2)解压;
(3)必须进入解压目录,才可以继续后续操作安装;(两个文件INSTALL、README必须先阅读了解)
(4)./configure(定义需要的功能、检测安装环境、把定义好的选项写入Makefile文件,用于后续编辑)
选项:--prefix=/usr/local/安装目录
用这个选项指定安装目录
(5)make 编译
如果编译报错,可以使用make clean
清空编译产生临时文件
(6)make install 编译安装(这一步才真正想系统中写入文件)
(启动命令可以在INSTALL、或者 README 文件中查看)
3、源码包的卸载
只需要在安装位置(一般是usr/local/目录 相当于C盘的Program files)删除(rm)即可卸载。
附录:
脚本安装包:不是独立的软件包类型,只是执行安装脚本,执行源码包的安装。类似于Windows系统的如啊你按安装方式。只适用于较难的的硬件驱动。
linux的软件包是独立的,Linux系统下软件包的安装相关推荐
- linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- linux安装多版本php_Linux系统下为Nginx安装多版本PHP
我们在安装配置服务器LNPM环境时应该考虑到PHP多版本并存的问题,下面是实现Linux系统下为Nginx安装多版本PHP的实现方法 linux版本:64位CentOS 6.4 Nginx版本:ngi ...
- Linux/Unix系统下nginx+php安装简明教程
本文转载自Linux/Unix系统下nginx+php安装简明教程,请保留转载信息~ 一.安装nginx: 1. 安装pcre库,nginx的rewrite模板需用到pcre库: mkdir -p / ...
- linux最小系统 安装教程,Linux 学习笔记 1 使用最小的系统,从分区安装系统开始,...
Linux 学习笔记 1 使用最小的系统,从分区安装系统开始, 我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不 ...
- Linux系统下adb驱动安装步骤 及 问题总结
Linux系统下adb驱动安装步骤 及 问题总结 一.安装ADB工具 sudo apt-get update sudo apt-get install android-tools-adb 二.adb驱 ...
- LINUX系统下ORACLE19C客户端安装步骤
LINUX系统下ORACLE19C客户端安装步骤 服务器系统版本:CentOS 7.4 Oracle客户端安装包(19C版本)下载地址: Instant Client for Linux x86-64 ...
- Linux系统下禅道的安装以及配置教程
Linux系统下禅道的安装以及配置教程 首先查看Linux安装的版本,64的还是32的! 查看Linux版本:[root@localhost ~]# getconf LONG_BIT 1.Linux中 ...
- windows 7编辑启动菜单 bcdedit linux,windows7系统下删除wubi安装的ubuntu启动项使用命令bcdedit解决...
windows7系统下删除wubi安装的ubuntu启动项使用命令bcdedit解决 发布时间:2013-05-28 15:19:31 作者:佚名 我要评论 前不久用笔记本通过wubi安装Ub ...
最新文章
- 如何使用 Arthas 定位 Spring Boot 接口超时 ?
- matlab中如何输出,将文本信息显示到屏幕上的输出流
- mysql触发器 while循环_mysql触发器跳出当前循环方法
- ubuntu开启端口_RChain节点运行无门槛教程(二)--Windows-Ubuntu
- 在 C++ 中使用 PPL 进行异步编程
- Ubuntu虚拟机磁盘扩容+VM虚拟机开机多出1分30秒的解决方案(终极教程)
- iframe嵌套改变url地址
- php自定义商品属性,php – 可变产品属性:自定义每个显示的单选按钮文本值
- 变频电源启动不了的原因是什么
- 删除出现次数最少字符串JAVA_牛客网——华为机试(题23:删除字符串中出现次数最少的字符)(Java)...
- python中的ord,chr函数
- xadmin可能是帮助我完成django网站的一大助力
- ubuntu安装cuda驱动
- 漫画:面试过程的神回复
- if条件句有大括号和没有大括号的区别
- Linux下rpm软件包rpm命令的安装及卸载
- 赵小楼《天道》《遥远的救世主》深度解析(80)强者用逻辑支配行为,弱者用情绪支配行为
- 安装黑苹果目前最详细教程
- 速记TCP/IP五层模型
- 前端适配不同型号手机分辨率,100%还原UI设计稿的方案实践
热门文章
- 实体链接(Entity Linking)、依存句法分析、成分句法树、词袋模型、文本向量空间模型(TF-IDF)、
- 数据库中的索引技术——哈希索引
- padans的DataFrame
- 统计学原理----描述性统计
- python 加密和解密
- 10.LeetCode第九题--有效的数独--哈希表的经典应用
- AlexNet- ImageNet Classification with Deep Convolutional Neural Networks
- LeetCode 动态规划(Dynamic programming)系列题目--C++,Python解法
- angular 定义对象_angular – 使用对象定义定义FomGroup
- 高品质摄影作图台式计算机推荐,浅谈高质量摄影照片后期输出的打印机选择