p44

应用程序:
程序:

C语言:源代码 —> (编译)二进制格式
脚本:解释权(二进制程序)

QQ截图20220310234224.png

  1. #系统启动级需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上
  2. /bin 、/sbin /lib 、/etc

程序组成部分:
二进制程序 :/bin /sbin
库 : /lib
配置文件 :/etc
帮助文档: /usr/share/man

  1. #操作系统核心功能,可以单独分区。
  2. #可以把软件都安装在此目录里面,当操作系统崩溃后格式化跟文件系统【/bin 、/sbin、 /lib 、/etc】
  3. #重装linux系统安装的程序在挂载后仍可使用
  4. /usr
  5. bin
  6. sbin
  7. lib
  1. # 这也是一套完整的软件安装路径
  2. #安装操作系统后安装的第三方软件
  3. #建议独立分区
  4. /usr/local
  5. bin
  6. sbin
  7. lib
  8. etc
  9. man
  1. #既不能单独分区,默认为空,是内核自我管理用的
  2. /proc
  3. /sys
  1. #设备,不能单独分区
  2. /dev
  1. #用户使用的目录,要单独分区
  2. /home
  3. #管理员目录,不能单独分区
  4. /root
  5. #日志文件,应该单独分区
  6. /var
  7. #内核,建议单独分区
  8. /boot

编译是指定软件需要加载的库称作动态库(shared object)
QQ截图20220310233727.png

软件包管理器核心功能:
1、制作软件包
2、安装、卸载、升级、查询、校验
Redhat,SUSE系统的软件包管理器:RPM

前端工具:yum,apt-get
后端工具:RPM,dpt

yum:Yellowdong Update Modifier

P45

uname -a 查看当前操作系统平台版本

QQ截图20220311134657.png

QQ截图20220311134539.png

1rpm使用

QQ截图20220311144000.png

QQ截图20220311145141.png

QQ截图20220311150903.png

QQ截图20220311151741.png

p46 yum

yum是C/S架构:

QQ截图20220314212557.png

XML,JSON:半结构化的数据

yum仓库中的元数据文件:
primary.xml.gz
所有RPM包的列表:
依赖关系:
每个RPM安装生成的文件列表:
filelists.xml.gz
当前仓库中所有RPM包的所有文件列表
other.xim.gz
额外信息,RPM包的修改日志

repomd.xml
记录的是上面三个文件的时间戳和校验和:

comps*.xml:RPM包分组信息

linux上以.conf结尾的大多是配置文件

QQ截图20220314214206.png

QQ截图20220314220126.png

QQ截图20220314222357.png

QQ截图20220314222414.png

QQ截图20220314223249.png

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

库就是函数,函数就可以接受参数,参数是有个类型的。
头文件包含了每个库的函数、函数类型、接受的参数

QQ截图20220315010531.png