3.17内存,进程,rpm和yum,python编译安装
一、内存
前面说过内存有寄存器、高速缓存和内存条
但在实际情况中有些文件比较大,内存不足以读取其内容,并且大部分内容不是被立即使用,所以有了交换分区,即用硬盘空间临时存储相关部分,当作缓存,这部分就是交换问去(swap),一般是内存的2倍。
buff是还没有被写入磁盘的缓存,cache是已经写入磁盘并在稍后有可能呗清除的缓存。
swap则是交换分区。
交换分区、buff和cache存在的机制,也是解决内存和硬盘的速度差,一方面可以读写大文件,另一方面可以把多次读写数据临时缓存起来打包读写,大幅度降低单个包读写所浪费的时间。
二、进程管理
1.进程:进程是程序的一次动态执行。
2.守护进程:守护进程是后台运行并提供系统服务的进程。
3.父子进程:当一个进程创建另一个进程,则这两个进程成为父子进程,其中1进程是父进程,2是子进程。
ps-aux可以显示所有进程,也可以通过grep命令组合只查看相关进程。
在实际情况中有一些进程已经不工作但没有释放其资源,这类程序就是所谓的僵尸进程。可以使用kill -9 id或进程名来杀死僵尸进程。
pstree以树状结构查询进程,能直观化的看到进程之间的关系。
三、软件包管理。
两种主要的安装方式即rpm和yum。
rpm最早是红帽的软件,由于长时间使用后来成为行业的安装包。由于计算机的快速发展,rpm安装方式有一定的限制,安装1个软件可能需要N个依赖包,子依赖包可能还有更多的依赖包,都需要一个一个的安装,影响效率,所以又出现的yum安装。
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
yum安装可以自动解析依赖包并且打包安装。
yum安装首先需要配置yum源,系统一般会有默认的yum源,yum源一般有本地镜像源,网络源和自定义源。
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
三、编译安装
python底层是使用c语言写的,C语言是编译语言,我们执行c语言前需要安装gcc编译器才能正常编译python程序成二进制程序。
在python文件内执行./configure --prefix=目标路径
make
编译完成后执行make install即可完成安装。