p44
应用程序:
程序:
C语言:源代码 —> (编译)二进制格式
脚本:解释权(二进制程序)
#系统启动级需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上
/bin 、/sbin、 /lib 、/etc
程序组成部分:
二进制程序 :/bin /sbin
库 : /lib
配置文件 :/etc
帮助文档: /usr/share/man
#操作系统核心功能,可以单独分区。
#可以把软件都安装在此目录里面,当操作系统崩溃后格式化跟文件系统【/bin 、/sbin、 /lib 、/etc】
#重装linux系统安装的程序在挂载后仍可使用
/usr
bin
sbin
lib
# 这也是一套完整的软件安装路径
#安装操作系统后安装的第三方软件
#建议独立分区
/usr/local
bin
sbin
lib
etc
man
#既不能单独分区,默认为空,是内核自我管理用的
/proc
/sys
#设备,不能单独分区
/dev
#用户使用的目录,要单独分区
/home
#管理员目录,不能单独分区
/root
#日志文件,应该单独分区
/var
#内核,建议单独分区
/boot
编译是指定软件需要加载的库称作动态库(shared object)
软件包管理器核心功能:
1、制作软件包
2、安装、卸载、升级、查询、校验
Redhat,SUSE系统的软件包管理器:RPM
前端工具:yum,apt-get
后端工具:RPM,dpt
yum:Yellowdong Update Modifier
P45
uname -a 查看当前操作系统平台版本
1rpm使用
p46 yum
yum是C/S架构:
XML,JSON:半结构化的数据
yum仓库中的元数据文件:
primary.xml.gz
所有RPM包的列表:
依赖关系:
每个RPM安装生成的文件列表:
filelists.xml.gz
当前仓库中所有RPM包的所有文件列表
other.xim.gz
额外信息,RPM包的修改日志
repomd.xml
记录的是上面三个文件的时间戳和校验和:
comps*.xml:RPM包分组信息
linux上以.conf结尾的大多是配置文件
p47
gcc开发工具用来编译c程序
g++开发工具编译c++程序
make:是项目管理工具,能把多个不同的项目作出一个项目
makefile 定义了make(gcc,g++)按何种次序去编译这些源文件中的源程序。
automake,—>makefile.in
autoconf, —> configure 【给用户提供了选择,指定怎么编译,然后通过makefile.in生成makefile,然后在通过make编译】
编译安装的三步骤:
前提准备开发环境(编译环境)
安装”Development Tools”和”Development Libraries” 【上一节课提到怎么装】
./configure
—help【提供帮助信息】
—prefix=/path/to/somewhere【指定编译后的程序安装目录】
—xyxconfdir=/path/to/confile_path【指定配置文件目录】
—without 禁用某个可能不需要的功能
功能:1、让用户选定编译特性;2、检查编译环境
make
make install
库就是函数,函数就可以接受参数,参数是有个类型的。
头文件包含了每个库的函数、函数类型、接受的参数