首页 > 其他分享 >day19_软件包管理

day19_软件包管理

时间:2024-02-13 19:23:38浏览次数:26  
标签:管理 python day19 编译 编译器 nginx 软件包 rpm hello

Linux软件包管理

image-20220325085730751

什么是软件,代码

image-20220325092006094

软件包顾名思义就是将应用程序、配置文件和数据打包的产物=======nginx_v.10.rpm

yum install nginx -y =============  先下载 nginx.rpm 软件包 ,然后yum自动帮你去安装了这个包


/usr/bin/nginx
/etc/nginx/nginc.conf 配置文件,写了用于控制该软件不同功能的参数


centos,redhat =================  nginx-1.10.rpm
ubutnu ============nginx-1.10.deb





所有的linux发行版都采用了某种形式的软件包系统,这使得linux软件管理和在windows下一样方便,
suse、red hat、fedora,centos等发行版都是用rpm包
Debian和Ubuntu则使用nginx.deb格式的软件包。

mysql-5-3-4.rpm
redis-3-4-3.rpm
nginx2-3-2.rpm



关于源代码,编译的过程理解

1. 程序员写的代码,如 下代码,计算机是不认识的,只认识010101
print('hello world')

2.因此代码都是经过系统的一个编译器,进行,编译成机器语言,计算机才能执行的
比如有哪些编译器
c语言用的gcc编译器
golang语言用的golang编译器
上面这俩特点是,代码写完,需要用户,手动的进行 build ,将源码编译成一个二进制的命令(机器可识别的)
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx

编译型语言,是吧上述所有代码,全部检测完毕后,生成另一个正确的二进制命令
代码写完后,编译器,自动可以检测出所有的语法问题,因此编译型语言不易出错

golang ,c c++ ,适用于开发系统级工具,比如 docker  k8s
比如linux操作系统


python 语言解释型语言(python编译器)
python一遍翻译程序员写的代码,一遍编译成机器认识的机器与语言

xxxxxxxxxxxxx ===============
xxxxxxxxxxxxx ===============
xxxxxxxxxxxxx ====代码出错了,程序直接崩溃
xxxxxxxxxxxxx



脚本型语言,如python很容易出错,代码自上而下,一行一行的去翻译
用在快速开发上,比如测试开发,运维开发,自动化开发
比如网站开发




体验下,编译过程,和解释过程

编译过程,体验hello world

1. 下载编译器,入门golang写代码,写golang,先得有编译器
golang.xx.rpm安装包

yum install golang -y 


# 程序源码如下
[root@167 test_go]# cat hello.go 
package main

import "fmt"

func main() {
	fmt.Println("hello world")
}


# 可以用2种方式去运行这个代码
# 如果你不编译,就必须要求机器上,得存在,对应的编译器
go run  hello.go  # 不生成二进制命令,直接底层编译后执行,看到效果


go build hello.go  # 生成二进制命令,源代码以及被写入到这个文件中了.

编译的好处,在于,该二进制命令,现在可以任意的丢到一个linux 统一是64位架构的机器上,可以直接运行
一次编译,到处运行(这也是docker的理念)



解释型过程,体验hello world

用2个语言
bash语言

python3语言


yum install python3 python3-devel -y


[root@167 test_go]# cat hello.py 
print ("你好 世界")


python想运行程序,必须要解释器存在机器上,然后才能执行



# python3是可以处理中文的
[root@167 test_go]# python3 hello.py
你好 世界


# python2是不能处理中文的
[root@yuchao-linux01 tmp]# python
python     python2    python2.7  
[root@yuchao-linux01 tmp]# python  hello.py
  File "hello.py", line 1
SyntaxError: Non-ASCII character '\xe4' in file hello.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
[root@yuchao-linux01 tmp]# 



用python的公司,必须要求你,在linux机器上,安装好这个环境,程序员写的python代码,才能运行。





编译和rpm包的区别

image-20220325101710213

如何去下载mysql的rpm包

image-20220325101917121

用本地光盘的形式,获取rpm包安装nginx

1.插入光驱

image-20220325103242761

2.确认光驱,选择了本地镜像文件

image-20220325103336085

3.在linux中找到该光驱,然后挂载即可

image-20220325103641341

尝试解决rpm依赖报错的问题

image-20220325111708369

rpm包升级软件

image-20220325112516928

1.升级软件,获取新版的软件包
如何找到firewfox的rpm包,官网找,本地光盘找,去搜索引擎找


2.去官网中找新版本
如果软件升级的版本过大,里面会涉及很多的功能更新,说白了就是要再装一堆rpm包,无法手动管理
如果是小版本的升级 52.7  54.8 ,涉及依赖就会少很多
# 4.获取一个新版本,是52.7.3版本,只有一点点的升级,不会牵扯太多依赖关系
下载链接
http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.2/x86_64/updates/security/firefox-52.7.3-1.el7_5.x86_64.rpm

# 5.在linux中下载
wget http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.2/x86_64/updates/security/firefox-52.7.3-1.el7_5.x86_64.rpm





rpm查询文件的文件信息

image-20220325113831264

源代码编译(编译三部曲)

yum

注意环境冲突

安装软件有3种方式,搞清楚他们

./configure  --prefix=/opt/my_nginx0224/  --with-http_ssl_module 

yum命令学习

image-20220325161217374

标签:管理,python,day19,编译,编译器,nginx,软件包,rpm,hello
From: https://www.cnblogs.com/fuminer/p/18014751

相关文章

  • day18_系统资源管理
    今日内容英文单词的认识,需要大家自己逐步锻炼了,以后适当的加在考试题中作为练习关于作业,昨日知识,以后大家就把不会的作业题,发在各自小组,我来课下解决关于后台符&,如何用,才是真的实现,安全,可靠的后台运行。可以理解为,无论是用户正常注销登录如logout,如exit。-还是异常的......
  • day24_磁盘管理
    磁盘管理学习磁盘管理的背景数据存储也是网站架构中的一大重点,关于存储方案,我们需要考虑到,硬件、软件硬件角度存储的读写性能固态硬盘、机械磁盘的抉择存储的数据备份,数据安全性raid磁盘阵列技术存储的数据扩容,合理的磁盘容量管理,磁盘满了怎么办软件角度系......
  • day25磁盘管理二
    mount挂载实践mount-l显示挂载情况mount-a读取/etc/fstab所有的挂载设置mount-o练习,读写,只读,允许二进制执行的三个参数[yuchao-linux01root~]$mount-oro/dev/sdc/test1[yuchao-linux01root~]$[yuchao-linux01root~]$[yuchao-linux01root~]$mount-l|gr......
  • day14_系统服务管理
    day13作业1.如何查看系统所有环境变量,且过滤出与root相关的变量。系统全局的,本身内置的变量+用户的变量===系统全局的变量set2.如何查看⽤户个⼈的环境变量,且过滤出与root相关的变量。3.解释下PS1变量,以及如何修改使⽤PS1。请注意,linux是区分大小写的,PS1set设置变量......
  • 使用AgileConfig统一管理多项目配置
    使用AgileConfig统一管理多项目配置 背景一个设备的数字化管理软件系统,需要涵盖来料检验,部件装配,自动检验,装机激活,日常运营,维修保养,退役更换等生命周期流程,应用于生产车间,装机现场,客服运营等应用场景,业务复杂,角色众多,涉及的时间和空间范围都比较大,需要开发一系列的软件去解决......
  • 团队管理--程序员值班
    值班项目组每天都会面临一些生产问题/咨询问题,需要研发人员去定位处理,要安排人员值班。由谁对接用户并不是说研发值班,就一定要由研发去对接用户。不要让研发直接跟用户对接!!!否则研发人员的工作效率会受到极大的影响,研发每天都会因此浪费大量的时间。解答一个问题,可能又会问多......
  • 17.Jenkins的Git版本管理
    Git的集成 在Jenkins上构建从Git源码仓库拉取代码的任务时需要使用到Git插件在执行job的机器上安装好Git yuminstallgit-y下载Git插件 进入菜单Dashboard->系统管理(ManageJenkins)->插件管理(ManagePlugins)在可选插件搜索Git找到Git......
  • 09.Jenkins凭据管理
    Jenkins凭据管理 凭据管理的作用:管理ssh、邮箱、git等认证信息凭据管理入口 Dashboard->系统管理(ManageJenkins)->ManageCredentials凭据的新增 Dashboard->系统管理(ManageJenkins)->ManageCredentials->StoresscopedtoJenkins->添加凭据......
  • Service Control Manager (SCM):Windows 自带的服务控制管理器(SCM)是一个命令行工具,用于
    ServiceControlManager(SCM):Windows自带的服务控制管理器(SCM)是一个命令行工具,用于安装、启动、停止、删除和查询系统中的服务。您可以使用sc命令来执行这些操作,以及查看服务的状态和配置。描述:    SC是用来与服务控制管理器和服务进行通信    的命令行程......
  • Win10用资源管理器打开ftp站点跳转IE浏览器解决方法
    WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\ftp]@="URL:FileTransferProtocol""EditFlags"=dword:00000002"ShellFolder"="{63da6ec0-2e98-11cf-8d82-444553540000}""SourceFilter"="{......