linux的软件管理的rpm包和yum配置加tar解压包和安装编译./configuer
软件管理 rpm包 和yum
1.软件形式
Linux系统的第三方软件,无论是应用软件还是工具软件,大多以以下两种形式之一发行:
源代码形式 预编译形式
获取的源代码形式的软件,需要对其进行编译,因此费时耗力,但可以自行调整编译项,便于针对性地精简和优化。
获取的预编译形式的软件,安装过程相对简单。该形式通常具有以下特点:已经编译过,只需将其复制到系统中即可将软件按功能分类,相关且相似的封装成一个软件包包名包含了功能描述、版本、发行号、硬件架构,以及包类别。
预编译包是开源系统的服务方式。
2.linux两大阵营
redhat .rpm (redhat package managment) debian (ubuntu) .deb
用于RedHat、SUSE 等Linux 系统的软件包,文件以.RPM 结尾。
RPM最初全称是Redhat Package Manager,意为“RedHat 包管理器”,是由RedHat公司提出的软件包管理标准,现已成为Linux中公认的软件包管理标准。
3.rpm包的来源和结构
系统盘--发行介质
网上
<包名>-<类型>-<Linux 核心>-<Linux 发行号>-<包版本>-<架构>.rpm
随发行介质的包文件名,一般没有<Linux 核心>和<Linux 发行号>。
包名中的<Linux 核心>、<Linux 发行号>及<架构>一定要和所安装Linux 系统相符,否则不能使用。若包名无相应的Linux 核心和Linux 发行号,则适用所有核心和发行版本。
架构:
i386/i686 针对于32位CPU
x86_64 针对于x86结构的64位CPU
el7.ARM.rpm 针对于arm的cpu
el7.ppc64.rpm IBM公司的cpu
Noarch表示适用于所有架构的cpu
示例:
httpd-2.0.40-21.i386.rmp
xz-5.2.2-1.el7.x86_64.rpm
libffi-devel-3.0.5-3.2.el6.x86_64.rpm
4.查看本机Linux 核心信息
查看Linux 核心信息,可使用uname 命令。
例如:
#uname –a
Linux vbcent7a 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
5.光盘挂载
mount /dev/cdrom /mnt ---挂载命令
umount /mnt ---卸载命令
说明:/dev/cdrom实质上一个软连接,指向/dev/sr0,即真正光驱设备是/dev/sr0
mount /dev/sr0 /mnt ---挂载光驱
/mnt 目录是系统自带的专供媒体类设备挂载的挂载点
也可以手动创建挂载点,
如:mkdir /mnt/cdrom mount /dev/sr0 /mnt/cdrom
cd /media/Packages ---进入光盘中软件包的存放位置,里面全都是rpm安装包
注:不同的系统版本,安装包的位置可能不同,一般安装包目录名:Packaes、Server、RPMS等名
6.使用rpm命令管理rpm软件
1.查询 rpm -qa 查询安装的rpm包
对系统的查询:rpm -qa
软件包安装后的包名不带.rpm后缀。对已安装的包操作不能带.rpm后缀。
rpm -qa ---查询本机装过的所有包,
活用:
rpm -qa | grep mail ---抓取查看指定包是否安装过
rpm -qf 文件名 --查询指定的文件所属的包名
rpm -ql 包名 --查询指定包所包含的所有文件
对未安装包的查询:rpm -qpl
rpm -qpl 包名 --查询指定包所包含的所有文件
-p 参数要求指定的包名中有.rpm后缀。
2.安装 -i 安装 -v 冗余显示 -h 以#显示安装进度
rpm -i
rpm -ivh dhcp-XXX.rpm 软件安装,需要.rpm后缀 -i 安装 -v 冗余显示 -h 以#显示安装进度
有些软件安装时需要安装软件包的依赖软件包
3.删除 rpm -e
rpm -e 删除软件
1、删除时指定的软件包名字是已经被安装到系统上的,所以没有.rpm后缀。
2、有软件包依赖要删除的软件包时,要先删除依赖的软件包(也可以一起删除),不建议单独删除被依赖的软件包,这回导致依赖的软件包全部或部分功能不能使用。
rpm -e gcc 卸载
4.升级 rpm -Fvh dhcp-XXX.rpm
rpm -Fvh dhcp-XXX.rpm ---F FRESH 更新软件,若系统内未装过该包,则不安装
rpm -Uvh dhcp-XXX.rpm ---升级或安装,不管原先是否装过,都装包
注:只有在安装相关时才会使用包名,在查询、卸载等操作时,只用软件名即可
7.yum安装功能:
安装某个软件包时,可能会被提示,需要先安装多个前提包,称为依赖关系使用yum安装可以解决软件的依赖关系安装
8.yum配置文件.repo
1.库解释
每个文件中都有很多库,库和库的名字不能重复
1、[名字]
2、名字
3、库的镜像:去镜像网站下载
4、baseur*库的具体位置可以是网上(协议)也可以是本地(file)
5、校验码启不启用
6、*库是否激活(先查找激活的在查找未激活的,查找到第一个enable=1时如果没有直接报错不会在往下寻找)不加enable=0缺省等于1 处于激活状态
7、校验码
2.配置yum环境 挂载光盘 安装GCC等编译器
注意 需要联网下载yum包时 恢复原来配置即可 增加连网的网卡 网络适配器 下载
挂载光盘 配置yum
mkdir -p /media/cdiso
cd /etc/yum.repos.d/
cp CentOS-Base.repo CentOS-Base.repo.bak
vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=file:///media/cdiso
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
mount /dev/sr0 /media/cdiso/
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel--安装GCC编译器
####
目录下有许多.repo文件 需要将其他改名只留一个文件,对其进行配置。
cd /etc/yum.repos.d/ ---进入域名配置文件的固定路径
mkdir backup
mv CentOS-* backup ---备份原有文件
vi cdrom.repo ---创建自定义的配置文件,注:文件名自定义,但后缀必须是.repo
[cdrom] ---建立标签,自定义
name=local cdrom ---给本项起名,自定义
baseurl=file:///media ---指定所有包的存放位置,file协议是磁盘分区上查找文件的协议
enabled=1 ---启用本项,若=0 则是关闭本项
gpgcheck=0 ---关闭数字验证
yum -y install mysql-connector-java ---安装+软件包,自动解决依赖关系
yum list ---查看所有可用源中都有哪些安装包,可以配合grep抓取
yum search dhcp ---查看可用源中有无指定的包
yum remove mysql-connector-java ---卸载指定包,不会卸载依赖包
yum history ---查看yum安装历史日志
yum makecache ---重建缓存。有时做了yum配置更改后,未能生效,可能是原设置在内存缓存中未能更新
yum update ---升级所有已安装的包
yum update kernel ---升级系统内核
yum provides 文件名 --查找包含指定文件名的包
9.源码包软件的安装
一般软件开发公司,开发的Linux版的软件,制作的安装包并未制作成rpm格式的包,而是制作成源码格式
源码包,一般由众多的源码程序、文件、脚本组成
10.查看进程所访问的设备、文件lsof fuser
lsof ---显示所有正在访问设备、文件的进程
lsof -u zhang ---显示以指定用户启动的进程及访问的设备、文件
lsof -c vi ---查看指定进程正在访问的设备、文件
lsof -p 7207 ---查看指定PID的进程正在访问的设备、文件
lsof -i:22 ---查看指定端口正在被哪些进程监听、访问
fuser -au /tmp/.f1.swp ---查看指定文件、设备正在被哪个用户及其进程访问,编辑文件时的临时文件是 .文件名.swp
fuser -kau /tmp/.f1.swp ---杀死正在访问指定文件、设备的用户进程
1.tar解压源码包
wget 下载的url ---下载软件
一般下载到 .tar.gz 或 .tgz 后缀的的包,说明是源码包,且是一个压缩的包
1、.tar结尾的包:
tar -xvf 包名.tar --把包解开,文件放当前目录下。
2、.tar.gz结尾的包
tar -zxvf XXXX.tar.gz ---解压缩,解压后会创建新的文件夹,存放加压后的文件
3 、.tar.bz2结尾的文件
tar -jxvf 包名.tar.bz2 --把包解开,文件放当前目录下
4、 .tar.xz结尾的包
tar -Jxvf 包名.tar.xz
2.安装和编译 ./configure & mkae & make install
cd XXX ---进入解压后的目录
ls ---查看目录下内容
阅读说明文件: README INSTALL 之类的的文件,按照文件说明的方式去安装。
情况一:
会发现有一个叫 install.pl 的可执行程序,这就是安装脚本
./install.pl ---运行安装脚本,安装软件
情况二:
会发现有一个叫 configure 的可执行程序,说明这个源码包是一个未做编译过的包
步骤:
./configure ---运行程序,检查安装环境,即当前系统是否符合安装该软件的前提,报错会有Error或warning提示需要安装对应的开发软件包
make ---编译本包
make install ---安装软件
或者可以:./configure && make && make install ---把三个命令连接执行
源代码包安装后,缺省存放在/usr/local/bin目录下
作业:
源码安装rlwrap软件
1、使用rpm命令安装 numactl-2.0.9-7.el7.x86_64.rpm 软件包
2、配置yum使用OS盘,用yum安装gcc-c++-4.8.5-36.el7.x86_64.rpm 软件包
3、源代码安装Python3.7.2软件。
linux的软件管理的rpm包和yum配置加tar解压包和安装编译./configuer的更多相关文章
- tar解压包的时候出现错误 gzip: stdin: not in gzip format
在Linux环境下,通过tar -zxvf 命令解压文件时遇到”gzip: stdin: not in gzip format“等错误:如图所示 root@cmfchina:/usr/java# ta ...
- 使用secureCRT和Telnet将文件压缩导出到Ubuntu中,到Ubuntu中加压缩发现:tar解压包的时候出现错误gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
细节描述: 问题如题所示:查找博客园和CSDN上查找问题,得到问题解决方法大致如下: 1 修改解压缩命令: 由 tar zxvf software_package.tar.gz变为tar xvf so ...
- Linux离线包管理器RPM
Linux离线包管理器RPM RPM 是RedHat Package Manager(RedHat软件包管理工具). 1.rpm常用参数介绍 查看rpm是否安装 rpm -q rpm包名 [root@ ...
- 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...
- linux下安装rar解压包
直接解压时出现的问题如下 原因:使用rar命令需要安装WinRAR 1.在本机下载好解压,然后将解压包拖到linux上 2.进行安装,在rar目录想直接make
- Kali Linux解压包命令:
Kali Linux解压包命令: tar.gz格式压缩包: root@kali:~# tar -xzvf 压缩包.tar.gz -C /root/home/Desktop root@kali:~# c ...
- linux tar 解压命令总结
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
- MySQL解压包的安装教程
一.下载MySQL解压包 解压过的文件夹里面是没有 data 文件夹的. 二.创建文件 1.在根目录下创建 my.ini文件 内容如下: [mysqld] # 设置mysql的安装目录 basedir ...
- 转载:linux tar 解压命令总结
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
随机推荐
- 【Python】直接赋值,深拷贝和浅拷贝
直接赋值: 对象的引用,也就是给对象起别名 浅拷贝: 拷贝父对象,但是不会拷贝对象的内部的子对象. 深拷贝: 拷贝父对象. 以及其内部的子对象 在之前的文章中,提到可变对象和不可变对象,接下来也是以这 ...
- day71 django收尾
目录 一.Auth模块 1 简介 2 方法总结 3 如何扩展auth_user表 二.bbs表介绍 1 项目开发流程 2 bbs七张表关系 一.Auth模块 1 简介 在我们创建好一个django项目 ...
- Re5ilio 5ync:资源神器
文章目录 #0x0 简单的介绍 #0x1 安装使用 #0x10 下载 #0x11 安装 #0x12 升级pro权限 #0x13 开始添加资源 #0x14 后续 一定要小心哦!! #0x0 简单的介绍 ...
- 自定义类支持foreach
建议使用yield语句简化迭代 using System; using System.Collections; namespace 自定义类实现foreach { class A { int[] w; ...
- [Cordova-IOS]JavaScript与Swift交互
[Cordova-IOS]Swift调用JavaScript中的函数 概述 Cordova中,通过插件的形式可以实现JavaScript与Swift的交互,关于Cordova插件的定义以及Swfit如 ...
- Oracle数据库服务器更改计算机名称,导致监听服务打不开解决办法
1.修改listener.ora和tnsnames.ora文件 文件路径为:C:\Oracle\Instanclient_11_2\network\admin # listener.ora Netwo ...
- JAVA各种OOM代码样例及解决方法
周末了,觉得我还有很多作业没有写,针对目前大家对OOM的类型不太熟悉,那么我们来总结一下各种OOM出现的情况以及解决方法. 我们把各种OOM的情况列出来,然后逐一进行代码编写复现和提供解决方法. 1. ...
- Email正则表达式验证
在做邮箱验证的时候,进行简单的整理: string emailStr = @"/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3 ...
- Java中解决继承和接口默认方法冲突
1)超类优先.如果超类提供了一个具体方法,同名而且有相同参数类型发默认方法会被忽略. 2)接口冲突.如果一个超接口提供了一个默认方法,另一个接口提供了一个同名而且参数类型(不论是否是默认参数)相同的方 ...
- 用Python爬取双色球开奖信息,了解一下
1工具 2具体方法 1.使用python2.7编写爬取脚本 这里除了正常的爬取操作,还增加了独立的参数设定.如果没有参数,爬取的数据就在当前目录下:如果有参数,可以设定保存目录.保存文件名后缀 ...