• 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即可完成安装。

  • 相关阅读:
    数据库连接字符串解析的正则表达式
    .NET 2.0 中的自定义配置处理
    一个三层架构的WinForms程序的完整范例(.NET 1.1/Northwind)
    office2013破解工具
    jQuery中的$extend()介绍
    再次复习数据结构:c语言链表的简单操作
    c语言单链表,冒泡排序
    c语言中双维数组与指针的那点事儿
    CodeDom.CodeArrayCreateExpression不能生成多维数组的创建表达式
    发现Maxthon(myIE2)浏览器处理javascript脚本时的奇怪现象
  • 原文地址:https://www.cnblogs.com/drchen/p/6580230.html
Copyright © 2020-2023  润新知