一、程序
1、应用程序:程序=指令+数据,Architecture(平台架构),heap(堆),库,Stack(栈);
2、C语言:源代码-->(编译)二进制格式
脚本:解释器(二进制程序)
3、源代码转化为二进制的程序流:
源代码-->编译-->链接-->运行
4、程序开发需要:库
静态库
动态库
5、程序运行加载配置文件:
dir=/path/to/somewhere
6、程序组成部分:
二进制程序 /bin, /sbin
库 /lib
配置文件 /etc
帮助文件 /usr/share/man
二、Linux文件系统目录
1、/etc, /bin, /sbin, /lib,
系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上;
2、/usr/
bin
sbin
lib
这些目录是操作系统核心功能,可以单独分区;
3、/usr/local
bin
sbin
lib
etc
man
独立的运行程序,独立完整的体系;一般安装第三方软件;可以单独分区;
4、/opt
最初系统认为的第三方软件的安装目录;
5、/proc
/sys
伪文件,不能单独分区,默认为空;
6、/dev
设备,不能单独分区;
7、/home
用户存放数据的地方,单独分区;
8、/root: 不能单独分区
9、/var
外围文件系统,如:存放系统运行日志、邮件等,建议单独分区
10、/boot
内核,initrd(initramfs),建议单独分区
11、系统启动过程:
a)POST-->BIOS(HD)-->(MBR)bootloader(文件系统结构,ext2, ext3, xfs)-->内核
b)BIOS(ROM)-->MBR(bootloader)-->展开读取内核-->挂载内核
三、软件包管理器的核心功能
1、制作软件包:把二进制程序、库文件、配置文件、帮助文件打包成一个包,生成数据库,追踪所安装的每一个文件;
2、安装、卸载、升级、查询、校验;
3、不同操作系统的软件包管理工具
a)Redhat, SUSE: RPM(Redhat Package Manager后改名为PRM is Package Manager)
b)Debian: dpt
4、软件包依赖关系:
X-->Y-->Z
X-->Y-->Z
5、自行解决依赖关系
前端工具:yum(Yellowdog Update Modifier), apt-get
后端工具:RPM, dpt 。
转载于:https://blog.51cto.com/zkhylt/1409807