时间:2017.11.30
作者:李强
参考:man,info,magedu讲义,神奇的internet
声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。
Linux与Windows
1、名称不同
Linux下的程序我们一般称为软件包,因为它基本上都是以rpm后缀打包起来的,Debian上是以deb为后缀的。
Windows下的程序我们一般就安装包,因为他基本是以exe的后缀,操作方式一般是下一步下一的安装。
2、ABI不同,
Linux下的可执行二进制程序不是以后缀来区分的,而是以文件类型ELF 64-bit LSB executable
Windows下就比较容易区分一般可执行二进制程序为.exe为后缀的,程序都是根据其文件名去判断是否去编辑这个文件,比如office,当然会与一些文本文件就不会看那么多,即是你没有后缀一些软件也是打开编辑的。
3、重点来了,前端包管理器,一个系统上软件又许多,如何更好的管理这些软件。
Linux上有Redhat的yum 和Fedora的dnf,还有Debian的app-get,SUSE的zyppe等等。
Windows上有360的软件管家,腾讯的软件管家,百度的软件管家,金山的软件管家等等。
但是Linux下调用的是系统的rpm工具,Windows调用的是系统的程序工具,这些包管理器都是一个前置工具。
Android与Apple
Android上有什么系统自带的软件管理器,当然有第三方的比如360,百度,豌豆荚等等
Apple上官方的App Store,第三方的一些管理器等。
软件的编译
1、Linux下的编译工具有make,
编译步骤一般为以下几个步骤:
1、获取源代码,工具官网或者第三方托管。github.com code.google.com等
2、解压缩源代码,进入到解压缩后的目录
3、准备编译环境,yum grouplist “development tools”,安装make工具等
3、./configure --help 可以看到一些选项。用来定制功能和选项就好像window下的安装的next setup
,然后就点击安装,也就是下一步。不设置就是默认设置。编译的时候可能会出现错误因为会有一些相关组件的依赖性,我们这里以windows下的sql server 安装为例,需要,net等组件,如果你安装的时候它是会提前检查的,如果没有也是会提醒你去安装的。
4、make 根据目录下的makefile.in 来生成makefile。 make -j 4 多少线程来完成
5、make install 安装。
6、完善工具运行环境,不如添加变量啊,自启动啊,和widnows里装完jdk差不多。每个工具都有自己的编译的教程,可以参考实践。
2、Windows下的编译
这个不太清楚,没编过。
不过Windows下的exe安装过程和以上的很多过程其实是相似的,
比如./configure 就好比next setup ,我们可以设置选项当然也可以默认值,回去检查依赖性,会去检查组件是否有。
比如之后的设置path路径,服务启动啊,服务自启动啊就好比环境变量path的设置,window下的快捷方式,还有自启动的设置啊什么的一样。