linux基础

在GNU上边发布的都是源码,不可以直接拿来使用
源代码都是文本格式的,需要找个编译器编译成不同机器上使用的二进制,这样机器才可以运行的起来
英特儿的CPU有着x86,x64架构之分,x64又叫amd64,Debian的amd64版本说的就是x64,PC机上用的CPU都是X86兼容CPU,属于复杂指令级
Unix早期使用的CPU是摩托罗拉生产的m68000又叫m68k架构的CPU
现在安卓手机上使用的CPU架构是arm
IBM生产的power系列CPU很强大,常用于服务器,工作站,属于精简指令级,只能跑aix操作系统
SUN生产的ultrasparc系列CPU常用于工作站,只能跑solaris操作系统
HP生产的alpha系列CPU,只能跑hp-ux操作系统
MIPS科技公司生产的MIPS架构CPU,属于精简指令级

每种机器都有自己的机器语言,所以不同的操作系统不能在不同的机器上使用;在机器语言上层有汇编语言,汇编语言可以通过汇编器来和机器语言进行转换;利用汇编语言来写的操作系统其移植性很差,所以要获得好的移植性,需要使用更高的语言,高级语言可以利用编译器把高级语言转换成汇编语言,汇编语言再通过汇编器把汇编语言转换成机器语言。高级语言的可移植性要好

kernel提供了系统接口(system call),在系统接口上还提供了一层库(libraries call)

只要是遵循POSIX标准的源代码软件对于底层架构是兼容的,比如nginx即可以在linux上用,也可以在windows上用
Unix类的软件可以在unix和linux上通用

软件还分为闭源软件和开源软件,开源即可以提供源代码

开源协定:
GPL:General Public License
在旗下有一个组织FSF:Free Software Foundation
任何一个程序只要用了GPL协定的源代码,那么这个程序必须遵循GPL协定,必须开源

LGPL:Lesser GPL
仅使用GPL的库时,可以不用开源
GPLv2,GPLv3
BSD:
Apache:
Apache旗下有一组织ASF:Apache Software Foundation
对于BSD,Apache,如果只是更改了源代码的几行,可以进行商业活动,但是不能以原作者的名义进行商业活动,其它不管,这种宽松的协定大大促进了开源活动的进行

双线授权:
Community:通常遵循开源协定
Enterprise:商业授权,一般会提供额外的服务

程序管理:
程序的组成部分:
二进制程序:
配置文件:大多是文本文件,还有html文件
库文件:为支持二次研发,提供支持
帮助文件:

程序包管理器:
x:
打包:把程序的组成文件打包成一个或有限几个文件
安装:
卸载:
查询:

Debian:程序管理器为dpkg,前端管理工具为apt-get
RedHat:程序管理器为rpm,前端管理工具为yum,由于yum有些问题存在,学习到S.u.S.E的包管理使用经验后边升级为dnf
S.u.S.E:程序管理器为rpm,前端管理工具为zypper
ArchLinux:程序管理器为port
Gentoo:整个安装过程需要边编译边安装
LFS:Liux From Scratch 规格最高,从零构建自己的Linux
Kali:

安装Linux:
虚拟机:Linux
计算机:CPU,内存,I/O设备

虚拟镜像下载网址:
https://mirrors.aliyun.com
https://mirrors.163.com
https://mirrors.sohu.com

上一篇:鸟哥的linux基础学习实训教程


下一篇:MySQL支持不受GPL许可的Python