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)相关推荐

  1. Centos7 源码编译安装linux longterm 内核4.19.47

    Centos7 源码编译安装linux longterm 内核4.19.47 首先去www.kernel.org下载新的内核,比如在我本次实际操作的时候 第4大版本的最新的longterm 版本为:4 ...

  2. docker保护python源码_Tensorflow在Docker中运行和源码编译

    本文分享在在Docker中运行Tensorflow和进行源码编译的方法和步骤,包括:编译.构建docker镜像.创建和运行Docker容器.部署完的容器可以通过Jupyter Notebook进行访问 ...

  3. linux 网卡驱动编译,在linux系统下安装编译网卡驱动的方法

    安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...

  4. Linux系统怎么编译sin,linux下gcc编译sin函数出错的问题

    linux下gcc编译sin函数出错的问题 收藏 Q: I keep getting errors due to library functions being undefined, but I'm ...

  5. 自己动手搭建 Linux 0.12 编译环境 — Linux主机

    Hi,又见面了,这两天事情比较少,所以又快速构思这篇的内容. 上篇我用极简模式说完了关于Linux 0.12的模拟环境Bochs,这篇同样沿袭上篇的思路,不过主要内容是关于Linux主机.在搭建Lin ...

  6. java校验框架源码解析_Spring Boot原理剖析和源码分析

    Spring Boot原理剖析和源码分析 依赖管理 问题一:为什么导入dependency时不需要指定版本? spring-boot-starter-parent依赖 org.springframew ...

  7. linux从源码编译软件,linux软件包管理——源码包编译安装

    做为运维人员来讲,很多时候我们直接使用别人给我们提供的RPM包来安装程序时,总达不到自己理想的效果,第一,编译开启的功能并不是自己想要的:第二,用不上最新的源代码,因为RPM包的源代码总会滞后于最新的 ...

  8. 编译linux源码,linux源码树编译

    写linux的网卡驱动,需要把arm版本迁移至x86版本测试,这就需要重新编译适应x86 PC的源码树.其实安装的系统已经有源码树,不需要像arm版本那样重新编译,位于/lib/modules/3.0 ...

  9. docker源码编译 linux_oracle linux 6 docker 安装(包括编译git源码)

    在安装时请确保可以联网.安装步骤如下: 1. 更新班级yum配置(参见: http://public-yum.oracle.com/getting-started.html): # cd /etc/y ...

  10. go linux 源码编译环境,Linux 源码安装 GO 环境

    Go 安装1.4以上的版本出现的问题 个人在安装 go1.9.2 的时候,一直 提醒的错误是: Building Go bootstrap tool. cmd/dist ERROR: Cannot f ...

最新文章

  1. 互联网协议 — DNS 域名协议
  2. 一友人昨夜接到电话,发生何事
  3. 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
  4. C++中WSAAsyncSelect模型的用法例程
  5. 软件:推荐五款超级好用的电脑小众软件,值得收藏!
  6. 如何扩展开发团队(转)
  7. 《RPA、AI、.NET Core 与未来》-中国.NET开发者峰会
  8. c#类中字段和方法中变量的声明问题
  9. 开博啦——半路出家做运维以来的一些杂感
  10. vnc改ip_怎么用VNC远程软件,怎么配制IP地址。?最好有教程
  11. OpenCV — Otsu 算法
  12. 计算机语言output,output是什么意思
  13. 「网络流 24 题」餐巾计划 【网络流】
  14. 帮你举例说明什么是Python鸭子类型
  15. Unity功能记录(七)------ UGUI获取UI在Canvas下的坐标/根据UI位置获取屏幕图片/二维码识别
  16. 【技术分享】Lombok!代码简洁神器还是代码“亚健康”元凶?
  17. mac os监听扬声器、麦克风的音量、静音
  18. mysql 小_mysql小脚本
  19. 【每日蓝桥】12、一三年省赛Java组真题“振兴中华”
  20. Codeforces-85D Sum of Medians

热门文章

  1. kibana. 登陆
  2. python 栈实现
  3. 用scikit-learn学习K-Means聚类
  4. Leetcode 剑指 Offer 58 - II. 左旋转字符串 (每日一题 20210830)
  5. pytorch 笔记:torch.distributions 概率分布相关(更新中)
  6. MySQL从入门到精通50讲(十一)-MySQL正则表达式及事务
  7. EXCEL中VLOOKUP做精确匹配匹配后日期显示为00-Jan-00,教你如何解决
  8. mysql 存储过程 显示控制_mysql存储过程之控制语句篇
  9. 基于外卖评论的舆情风控
  10. 机器学习实战读书笔记--logistic回归