设为首页 收藏本站
查看: 650|回复: 0

[经验分享] [root@RHEL7 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Change...

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-17 09:50:24 | 显示全部楼层 |阅读模式
Linux Kernel:
    单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制。
        内核组成部分:
            kernel: 内核核心,一般为bzImage,通常在/boot目录下,名称为vmlinuz-VERSION-RELEASE;
            kernel object: 内核对象,一般放置于/lib/modules/VERSION-RELEASE/
                [ ]: N
                [M]: M
               
  • : Y

                辅助文件:ramdisk
                    initrd
                    initramfs

        运行中的内核:

            uname命令:
                uname - print system information
                uname [OPTION]...
                    -n: 显示节点名称;
                    -r: 显示VERSION-RELEASE;

            模块:
                lsmod命令:
                    显示由核心已经装载的内核模块

                    显示的内容来自于: /proc/modules文件

                modinfo命令:
                    显示模块的详细描述信息

                    modinfo [ -k kernel ]  [ modulename|filename... ]
                        -n: 只显示模块文件路径
                        -p: 显示模块参数
                        -a: author
                        -d: description
                        -l: license
    [iyunv@slave ~]# modinfo ext4
    filename:       /lib/modules/2.6.32-504.el6.x86_64/kernel/fs/ext4/ext4.ko
    license:        GPL
    description:    Fourth Extended Filesystem
    author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
    srcversion:     2DA002AAC5B453054C69FB2
    depends:        mbcache,jbd2
    vermagic:       2.6.32-504.el6.x86_64 SMP mod_unload modversions
    [iyunv@slave ~]# modinfo Ip
    ERROR: modinfo: could not find module Ip
    [iyunv@slave ~]# modinfo stp
    filename:       /lib/modules/2.6.32-504.el6.x86_64/kernel/net/802/stp.ko
    license:        GPL
    srcversion:     ADE6C8A333621C77ACAC02C
    depends:        llc
    vermagic:       2.6.32-504.el6.x86_64 SMP mod_unload modversions

                modprobe命令:
                    装载或卸载内核模块

                    modprobe [ -C config-file ]  [ modulename ]  [ module parame-ters... ]
                        配置文件:/etc/modprobe.conf, /etc/modprobe.d/*.conf

                      modprobe [ -r ] modulename...
                   
    [iyunv@slave ~]# modprobe   xfs
    [iyunv@slave ~]# lsmod | grep xfs
    xfs                  1124960  0
    exportfs                4236  1 xfs
    [iyunv@slave ~]# modprobe   -r  xfs


    [iyunv@slave ~]# modinfo -n  xfs
    /lib/modules/2.6.32-504.el6.x86_64/kernel/fs/xfs/xfs.ko

                  depmod命令:
                      内核模块依赖关系文件及系统信息映射文件的生成工具;

                  装载或卸载内核模块:
                      insmod命令:
                          insmod [ filename ]  [ module options... ]

                      rmmod
                          rmmod [ modulename ]

        /proc目录:
            内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出;
    [iyunv@slave ~]# sysctl -a | wc -l
    736
    [iyunv@slave ~]# cat /proc/sys/kernel/hostname
    slave
            参数:
                只读:输出信息
                可写:可接受用户指定“新值”来实现对内核某功能或特性的配置
                    /proc/sys

                    (1) sysctl命令用于查看或设定此目录中诸多参数;
                        sysctl -w path.to.parameter=VALUE
    [iyunv@slave ~]# sysctl -w kernel.hostname=www.magedu.com
    kernel.hostname = www.magedu.com
    [iyunv@slave ~]# hostname
    www.magedu.com
    [iyunv@slave ~]# sysctl -w kernel.hostname=slave
    kernel.hostname = slave
    [iyunv@slave ~]# hostname
    slave
                        ~]# sysctl -w kernel.hostname=mail.magedu.com

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

                        ~]# echo "www.magedu.com" > /proc/sys/kernel/hostname

                sysctl命令:
                    默认配置文件:/etc/sysctl.conf
                    永久有效
                    /etc/sysctl.conf
                   
                        (1) 设置某参数
                            sysctl -w parameter=VALUE
                        (2) 通过读取配置文件设置参数
                            sysctl -p [/path/to/conf_file]

                内核中的路由转发:
                    /proc/sys/net/ipv4/ip_forward
    [iyunv@slave ~]# cat /proc/sys/net/ipv4/ip_forward
    0

    使内核生效
    sysctl -p

    sysctl -w  net.ipv4.ip_forward=1
                    常用的几个参数:
                        net.ipv4.ip_forward
                        vm.drop_caches
                        kernel.hostname

        /sys目录:

            sysfs:输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的设定信息;有些参数是可以修改的,用于调整硬件工作特性。

            udev通过此路径下输出的信息动态为各设备创建所需要设备文件;udev是运行用户空间程序;专用工具:udevadmin, hotplug;

            udev为设备创建设备文件时,会读取其事先定义好的规则文件,一般在/etc/udev/rules.d及/usr/lib/udev/rules.d目录下;

        ramdisk文件的制作:

            (1) mkinitrd命令
                为当前正在使用的内核重新制作ramdisk文件
                mv /boot/initramfs-2.6.32-504.el6.x86_64.img /root
                    ~] # mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

                    看一下是什么
                   
    root@slave ~]# file initramfs-2.6.32-504.el6.x86_64.img
    initramfs-2.6.32-504.el6.x86_64.img: gzip compressed data, from Unix, last modified: Tue Jan 27 14:53:45 2015, max compression
    [iyunv@slave ~]# mv initramfs-2.6.32-504.el6.x86_64.img  initramfs-2.6.32-504.el6.x86_64.img.gz
    解压缩
    [iyunv@slave ~]# gzip  -d initramfs-2.6.32-504.el6.x86_64.img.gz

    [iyunv@slave ~]# file initramfs-2.6.32-504.el6.x86_64.img
    initramfs-2.6.32-504.el6.x86_64.img: ASCII cpio archive (SVR4 with no CRC)

            (2) dracut命令
                为当前正在使用的内核重新制作ramdisk文件
                    ~] # dracut /boot/initramfs-$(uname -r).img $(uname -r)

        编译内核:
            前提:
                (1) 准备好开发环境;
                (2) 获取目标主机上硬件设备的相关信息;
                (3) 获取到目标主机系统功能的相关信息,例如要启用的文件系统;
                (4) 获取内核源代码包;
                    www.kernel.org

            准备好开发环境:
                包组(CentOS 6):
                    Server Platform Development
                    Development Tools

            目标主机硬件设备相关信息:
                CPU:
                    ~]# cat /proc/cpuinfo
                    ~]# x86info -a
                    ~]# lscpu

                PCI设备:
                    ~]# lspci
                        -v
                        -vv

                    ~]# lsusb
                        -v
                        -vv

                    ~]# lsblk

                了解全部硬件设备信息
                    ~]# hal-device

            简单依据模板文件的制作过程:
                ~]# tar xf linux-3.10.67.tar.xz -C /usr/src
                ~]# cd /usr/src
                ~]# ln -sv linux-3.10.67 linux
                ~]# cd linux
                ~]# cp /boot/config-$(uname -r) ./.config

                ~]# make menuconfig
                ~]# screen
                ~]# make -j #
                 make -j 4      #4表示开4个线程编译

                ~]# make modules_install
                ~]# make install

                重启系统,并测试使用新内核;

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-259091-1-1.html 上篇帖子: Linux磁盘管理、分区、扩展SWAP 下篇帖子: rhel7恢复root密码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表