欢迎各位兄弟 发布技术文章
这里的技术是共享的
软件包管理
应用程序:
程序,Architecture
C语言:源代码-->(编译)二进制
脚本:解释器 (二进制程序)
源代码-->编译-->链接-->运行
程序:
库
静态
动态
静态链接
动态链接
共享库
配置文件:
dir=/path/to/somewhere
程序的组成部分:
二进制程序 (依赖于库)
库(共享库 ,自身的库) (自身的库也可以提供给别人)
配置文件
帮助文件
/boot
/etc/
/usr
/var 可以作为外围补充,可以存放php文件,锁文件,预备文件等,没有/var,固然可以; 有了/var 文件管理更加规范,刚开始小,后来越来越大,因为它会存放日志信息,及运行过程中的信息,好多文件是可以删除的,应该单独分区,(因为日志信息不希望被格掉)(/var 下可能有 tmp目录,它就是临时文件)
/dev
/lib
/tmp 可以单独分区,如果挺大的话,建议单独分区,一般情况下,最小不能小于400M (而我们建一个分区一般至少2G,所以够用了)
/bin
/sbin
/proc 伪文件系统 为了给用户提供调用接口 里面应该没有文件
/sys 伪文件系统 为了硬件给用户供调用接口 里面应该没有文件
/mnt
/media
/home 普通用户的家目录应该单独分区,防止格式化系统的时候,数据就没有了
/root 管理员的家目录,没有也没关系,为了安全,最好不要使用管理员登录,可以没有/root,但有的话,不应该单独分区,(因为分区的话,拿到其它地方,可以看到核心数据)
/misc 杂项基本用不到
/opt 可以单独分区
/srv 一般不能单独分区
usr 全局的共享的只读目录
/etc,配置文件
/bin,/sbin, 二进制文件
/lib, 库文件
/usr/share/man 帮助文件
/etc,/bin,/sbin,/lib 操作系统自身的启动所需要用到的程序都在这四个目录,,,,,,这些目录不能挂载额外的分区,必须在根文件系统的分区上
/usr/
bin
sbin
lib
操作系统核心功能(基本功能,基本服务),它是可以单独分区的,格式化操作系统自身启动的分区,重装后,它仍然可以正常运行,(这跟windows把软件,服务装在D盘,格式化C盘,D盘的软件,服务不能运行,但是linux与windows是不一样的)
启动用到的功能很少,核心功能很多,所以如果单独分区的话,根目录很小,/usr 很大
里面运行的各种软件都是完全独立的
/usr/local
bin
sbin
lib
etc
man
这个通常是安装的第三方软件,比如oracle,qq
尽量把它独立分区
/opt 早期第三方软件不是装在 /usr/local 下,是装在/opt下
/proc 伪文件系统 为了给用户提供调用接口 里面应该没有文件,默认是空的,不能单独分区 内核自我管理的时候使用的
/sys 伪文件系统 为了硬件给用户供调用接口 里面应该没有文件 默认是空的,不能单独分区 内核自我管理的时候使用的
/dev: 设备, 这个目录是必须的,(cpu,内核不需要驱动的,或者说驱动是在内部的,用户看不到的) 设备是核心功能,不能单独分区
udev,(内核启动的时候用到)2.6之后cpu自动识别硬件,信息输出出来,根据内置的数据库,创建设备文件(可以创建特别名字的文件,比如usb),内核识别设备不是靠设备文件,而是靠驱动程序,
2.4之前,没有udev,预先提供若干个文件(可能有2,,3万个文件),无法根据文件来识别硬件
/root: 不能单独分区
/var: 建议单独分区
/boot: 内核,initrd(红帽6上叫 initramfs) 一般情况下建议应该单独分区的(当然,可以不分区)
(因为根分区文件可能越来越大,磁盘可能不够用)(一般boot做成一个基本分区,而根放在 LVM上)
内核:
POST-->BIOS(HD)-->(MBR)bootloader(文件系统结构, ext2,ext3,xfs)-->内核
POST Power on and self testing 加电自检(上电自检)
程序:指令+数据
指令:芯片 chip (指令在生产时都是固化了的)
CPU:普通指令,特权指令
指令集
C语言
Powerpc: 二进制格式
x86:
编译:程序指令=>汇编指令=>芯片指令
x86:汇编
powerpc:汇编
高级语言:
C:
cpu 与 汇编应该是对应的
软件包管理器的核心功能:
1,制作软件包
2,安装,卸载,升级,查询,检验
Redhat ,SUSE, Debian
Redhat,SUSE:RPM (原来叫 redhat package manager,后来别人也用,叫 RPM is package manager,) (RPM 已经成了软件界的工业标准)
SUSE的RPM包,拿到红帽上不可以,它的组织文件路径的方式反正不一样
Debian:dpt (debian package tools)
依赖关系:
X-->Y-->Z
X--Y-->Z-->Y 让它们同时安装
前端工具: yum,apt-get update(分离器 管理器,当然有很多)
后端工具:RPM,dpt
yum: Yellowdog Update Modifier (黄狗升级修改器)针对红帽的二次发行版
根分区不一定是内核所在的分区
库是只读的 不包含数据 只包含指令,库是一堆功能模块
上图的这种库叫共享库
heap 堆是向上增长
stack 栈是向下增长
[root@ebs-22618 ~]# cat /proc/cpuinfo