• Linux九阴真经之无影剑残卷10(内核编译)


    /proc目录

    /proc目录:
    Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。


    /proc/sys
    (1) sysctl命令用于查看或设定此目录中诸多参数
    sysctl -w path.to.parameter=VALUE
    sysctl -w kernel.hostname=mail.magedu.com


    (2) echo命令通过重定向方式也可以修改大多数参数的值
    echo "VALUE" > /proc/sys/path/to/parameter
    echo “websrv” > /proc/sys/kernel/hostname

    echo  1 > /proc/sys/net/ipv4/ip_forward        禁ping指令

    常用选项

    查看 etc/sysctl.conf  ,修改属性

    vm.drop_caches = 0                                                         当值为1时,清除缓存。

    net.ipv4.tcp_syn_retries = 5                                            当syn(d三次握手无响应)同步失败时,重试的次数

    net.ipv4.tcp_fin_timeout = 60                                           tcp协议 分手超时时间(秒),可调短,可实现高并发,优化服务器性能。

    net.ipv4.tcp_syncookies = 1                                             syn为dos三次握手的攻击 第二次握手时客户端无响应,服务器只能傻等     建议启用,默认为1

    net.ipv4.tcp_max_tw_buckets = 65536                            四次挥手后,不会立马断开,而是进入timeout状态 此条可以调试timeout状态的个数

    net.ipv4.tcp_max_syn_backlog = 514                              tcp 最大svn 的等待队列 ,可调大,实现更高的并发量

    net.ipv4.ip_local_port_range = 32768 ----- 60999            客户端的端口范围,可调节大小

    编译安装新版内核

    1、打开linux内核官网,下载最新版内核文件,并上传至我们的linux7.4版本中

    2、建一个文件夹,将文件移到此文件夹内并解压,解压后查看包的大小为894m

    [root@centos7 abc]#du -sh linux-4.16.8
    894M    linux-4.16.8

    3、将系统自带的模板复制到当前目录下,并命名为.config的文件

    [root@centos7 linux-4.16.8]#cp /boot/config-3.10.0-693.el7.x86_64 .config

    4、安装编译工具 yum grouplistall "development tools" ,如已安装则开始安装 另外一个make  menucocnfig(配置内核选项)


    [root@centos7 linux-4.16.8]#yum install ncurses-devel
    Dependencies Resolved
    
    ===================================================================================
     Package              Arch          Version                      Repository   Size
    ===================================================================================
    Installing:
     ncurses-devel        x86_64        5.9-13.20130511.el7          base        713 k
    
    Transaction Summary
    ===================================================================================
    Running transaction
      Installing : ncurses-devel-5.9-13.20130511.el7.x86_64                        1/1 
      Verifying  : ncurses-devel-5.9-13.20130511.el7.x86_64                        1/1 
    
    Installed:
      ncurses-devel.x86_64 0:5.9-13.20130511.el7                                       
    
    Complete!

    再次执行 make menuconfig(*代表内核  M代表以模块的方式)


    5、选择General  setup ,再进行人为自定义编译

    6、定义支持NTFS系统 ,将NTFS write support 前面设置为* ,退出。

    7、执行make之前,需要安装 elfutils-libelf-devel

    [root@centos7 linux-4.16.8]#yum install elfutils-libelf-devel

    8、执行编译安装,等待半小时即可完成安装

    [root@centos7 linux-4.16.8]#make -j 8

     9、安装模块,(把编译完成的10多个G的文件复制到 lib/modules的目录下)

    [root@centos7 ~]#make modules_install

    10、安装内核相关文件(生成新版本的vm内核文件以及生成initramfs文件)


    11、重启linux系统,发现可选择启动的内核了

  • 相关阅读:
    我也要学C语言第十三章:复合数据类型—指针与指针变量(一)
    汇编语言程序设计学习笔记(第一遍学习)第1节:机器语言编程到汇编语言的产生
    汇编语言程序设计学习笔记(第一遍学习)第2节:寄存器
    我也要学C语言第十二章:编译预处理——带参数的宏
    PHP 清除HTML代码、空格、回车换行符的函数
    C#流程控制
    php引用(&)详解
    PHP defined() 函数
    PHP程序员最易犯10种错
    C# 函数
  • 原文地址:https://www.cnblogs.com/huxiaojun/p/9027007.html
Copyright © 2020-2023  润新知