linux源码编译rpm,Linux的RPM和源码包(CentOS)
Liunx的软件包有源码包和二进制(RPM)包,源码包即是包含全部的源代码,绝大部分是使用c语言开发,其未经过编译,所以安装时要经过一系列编译,将其变成机器语言才能安装。RPM包是事先经过编译,其安装速度较快,但不能观看到源代码。
Liunx可分为Redhat系列和debian系列,其采用的都是相同的Liunx内核,最大的不同点就是对RPM包的管理,使用的软件源不同。但相比之下debian系列的桌面端较好,Redhat其稳定性较好。所以笔者选择使用Redhat系列的CentOS。
本章实现CentOS的本地RPM包和yum云RPM包的相关命令介绍,及源码包的相关介绍和为CentOS安装Python3.7.1。
RPM包管理:
安装位置是系统默认的
RPM包直接安装会存在依赖包问题
命名规则:
python-2.7.5-76.el7.x86_64
名称-版本-发布次数-适用系统.位数
RPM包的命令管理:
本地管理,软件包已经下载或安装到本地
【rpm -ivh 包全名】安装,显示详细信息和进度
【rpm -Uvh 包全名】升级软件包
【rpm -e 包名】卸载
【rpm -q 包名】查看安装的软件包的版本,源码安装的包不可查
【rpm -qa 】查询所有安装的包
【rpm -qi 包名】查看包详细信息
【rpm -ql 包名】查看安装的软件包的所有安装位置
【rpm -qf 文件名】通过任意文件名,查看它所属的包全名
RPM包的yum管理:
云管理,软件包需要联网下载,也可更改配置使用本地yum源
yum安装会自动解决安装的依赖性问题,即安装时需要依赖包时会自动通过服务器下载并安装,不用用户手动安装。
【yum list】查看yum上所有可用软件包
【yum search 包名】通过部分包名查看可用可用软件包
【yum -y install 包名】安装,(-y)是安装时不询问
【yum update 包名】升级软件包,如果省略包名则升级所有,包括liunx内核
【yum remove 包名】卸载软件,但会卸载全部依赖,谨慎!
【yum grouplist】查看所有安装的组,比如桌面、输入法等
【yum groupinstall 软件组名】安装软件包组,卸载用groupremove
源码包管理:
安装位置是用户指定的
安装:
1、安装C语言编码器:gcc
yum -y install gcc
2、下载源码包
3、确定目录(系统单方面推荐存放和安装位置):
源码包保存位置:/usr/local/src
软件安装位置:/usr/local/
3、解压缩,并进入解压缩后的目录
4、软件的配置与检测,命令:./configure
确定安装目录:(./configure --prefix=/usr/local/python3)
检测系统环境是否支持安装,是否有缺省
将定义好的功能选项和环境信息写入Makefile文件
5、命令:make
编译,使用gcc将源码包翻译成机器语言
如果报错,可清空临时文件:make clean
6、命令:make install
编译安装,向configure指定的目录写入数据
卸载:
自接把configure指定的安装目录全部清空(r m -rf 目录名)即可
源码包安装python3.7.1练练手:
LIunx环境:
CentOS-7-x86_64-DVD-1810.iso 桌面版
该环境默认只有Python2.7,记得好像也没有pip,之前尝试过直接用yum命令安装,但是pip3的安装相对麻烦很多,但如果是使用源码包安装,安装好后就可以在安装目录里的bin下找到pip3,然后软连接到/usr/bin目录下,就可以自接使用pip3干你想干的事情了。源码包的安装就是卸载起来直接删目录就好了,不用太考虑一下残留文件,但安装是也必须考虑依赖性,不过可以等它报错后再一个个跟着提示补包。
1、下载源码包:
2、先安装必要依赖:
yum -y install zlib zlib-devel
yum -y install libffi-devel
yum -y install openssl-devel
3、安装步骤命令参考上面源码包管理
4、建立软连接
ln -s 安装目录/bin/python3.7 /usr/bin/python3
ln -s 安装目录/bin/pip3 /usr/bin/pip3
后续通过pip3安装的每一个系统命令行软件都需要重新在此建立软连接,因为pip3安装后的第三方包都会存在python3的bin目录下
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
linux源码编译rpm,Linux的RPM和源码包(CentOS)相关推荐
- Centos7 源码编译安装linux longterm 内核4.19.47
Centos7 源码编译安装linux longterm 内核4.19.47 首先去www.kernel.org下载新的内核,比如在我本次实际操作的时候 第4大版本的最新的longterm 版本为:4 ...
- docker保护python源码_Tensorflow在Docker中运行和源码编译
本文分享在在Docker中运行Tensorflow和进行源码编译的方法和步骤,包括:编译.构建docker镜像.创建和运行Docker容器.部署完的容器可以通过Jupyter Notebook进行访问 ...
- linux 网卡驱动编译,在linux系统下安装编译网卡驱动的方法
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- Linux系统怎么编译sin,linux下gcc编译sin函数出错的问题
linux下gcc编译sin函数出错的问题 收藏 Q: I keep getting errors due to library functions being undefined, but I'm ...
- 自己动手搭建 Linux 0.12 编译环境 — Linux主机
Hi,又见面了,这两天事情比较少,所以又快速构思这篇的内容. 上篇我用极简模式说完了关于Linux 0.12的模拟环境Bochs,这篇同样沿袭上篇的思路,不过主要内容是关于Linux主机.在搭建Lin ...
- java校验框架源码解析_Spring Boot原理剖析和源码分析
Spring Boot原理剖析和源码分析 依赖管理 问题一:为什么导入dependency时不需要指定版本? spring-boot-starter-parent依赖 org.springframew ...
- linux从源码编译软件,linux软件包管理——源码包编译安装
做为运维人员来讲,很多时候我们直接使用别人给我们提供的RPM包来安装程序时,总达不到自己理想的效果,第一,编译开启的功能并不是自己想要的:第二,用不上最新的源代码,因为RPM包的源代码总会滞后于最新的 ...
- 编译linux源码,linux源码树编译
写linux的网卡驱动,需要把arm版本迁移至x86版本测试,这就需要重新编译适应x86 PC的源码树.其实安装的系统已经有源码树,不需要像arm版本那样重新编译,位于/lib/modules/3.0 ...
- docker源码编译 linux_oracle linux 6 docker 安装(包括编译git源码)
在安装时请确保可以联网.安装步骤如下: 1. 更新班级yum配置(参见: http://public-yum.oracle.com/getting-started.html): # cd /etc/y ...
- go linux 源码编译环境,Linux 源码安装 GO 环境
Go 安装1.4以上的版本出现的问题 个人在安装 go1.9.2 的时候,一直 提醒的错误是: Building Go bootstrap tool. cmd/dist ERROR: Cannot f ...
最新文章
- 互联网协议 — DNS 域名协议
- 一友人昨夜接到电话,发生何事
- 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
- C++中WSAAsyncSelect模型的用法例程
- 软件:推荐五款超级好用的电脑小众软件,值得收藏!
- 如何扩展开发团队(转)
- 《RPA、AI、.NET Core 与未来》-中国.NET开发者峰会
- c#类中字段和方法中变量的声明问题
- 开博啦——半路出家做运维以来的一些杂感
- vnc改ip_怎么用VNC远程软件,怎么配制IP地址。?最好有教程
- OpenCV — Otsu 算法
- 计算机语言output,output是什么意思
- 「网络流 24 题」餐巾计划 【网络流】
- 帮你举例说明什么是Python鸭子类型
- Unity功能记录(七)------ UGUI获取UI在Canvas下的坐标/根据UI位置获取屏幕图片/二维码识别
- 【技术分享】Lombok!代码简洁神器还是代码“亚健康”元凶?
- mac os监听扬声器、麦克风的音量、静音
- mysql 小_mysql小脚本
- 【每日蓝桥】12、一三年省赛Java组真题“振兴中华”
- Codeforces-85D Sum of Medians
热门文章
- kibana. 登陆
- python 栈实现
- 用scikit-learn学习K-Means聚类
- Leetcode 剑指 Offer 58 - II. 左旋转字符串 (每日一题 20210830)
- pytorch 笔记:torch.distributions 概率分布相关(更新中)
- MySQL从入门到精通50讲(十一)-MySQL正则表达式及事务
- EXCEL中VLOOKUP做精确匹配匹配后日期显示为00-Jan-00,教你如何解决
- mysql 存储过程 显示控制_mysql存储过程之控制语句篇
- 基于外卖评论的舆情风控
- 机器学习实战读书笔记--logistic回归