Linux操作系统内核编译之NTFS文件系统模块支持案例
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.内核编译概述
单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制 内核组成部分: kernel:([*]:Y)
内核核心,一般为bzImage,通常在/boot目录下 名称为 vmlinuz-VERSION-RELEASE kernel object:([M]:M)
内核对象,一般放置于/lib/modules/VERSION-RELEASE/ 辅助文件:ramdisk initrd initramfs
二.内核版本
运行中的内核: uname命令: uname - print system information uname [OPTION]... -n: 显示节点名称 -r: 显示VERSION-RELEASE -a:显示所有信息
三.内核模块管理相关命令
1>.lsmod命令
显示由核心已经装载的内核模块
显示的内容来自于: /proc/modules文件
[root@yinzhengjie ~]# lsmod Module Size Used by tcp_diag 1041 0 inet_diag 9430 1 tcp_diag nls_utf8 1455 1 fuse 80180 2 rfcomm 71207 4 sco 17589 2 bridge 85770 0 bnep 16370 2 l2cap 54498 16 rfcomm,bnep autofs4 27000 3 8021q 20507 0 garp 7184 1 8021q stp 2218 2 bridge,garp llc 5450 3 bridge,garp,stp ipt_REJECT 2383 0 nf_conntrack_ipv4 9218 0 nf_defrag_ipv4 1483 1 nf_conntrack_ipv4 iptable_filter 2793 0 ip_tables 17895 1 iptable_filter ip6t_REJECT 4372 2 nf_conntrack_ipv6 7985 3 nf_defrag_ipv6 26468 1 nf_conntrack_ipv6 xt_state 1492 3 nf_conntrack 79601 3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state ip6table_filter 2889 1 ip6_tables 18828 1 ip6table_filter ib_ipoib 81191 0 rdma_ucm 15739 0 ib_ucm 12360 0 ib_uverbs 40532 2 rdma_ucm,ib_ucm ib_umad 13519 0 rdma_cm 36651 1 rdma_ucm ib_cm 37444 3 ib_ipoib,ib_ucm,rdma_cm iw_cm 33136 1 rdma_cm ib_sa 24188 4 ib_ipoib,rdma_ucm,rdma_cm,ib_cm ib_mad 41628 3 ib_umad,ib_cm,ib_sa ib_core 83020 10 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad ib_addr 8304 3 rdma_ucm,rdma_cm,ib_core ipv6 336944 288 bridge,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6,ib_ipoib,ib_addr uinput 8152 0 microcode 112333 0 vmware_balloon 7199 0 btusb 16915 2 bluetooth 98087 9 rfcomm,sco,bnep,l2cap,btusb snd_seq_midi 6423 0 rfkill 19287 3 bluetooth snd_seq_midi_event 7237 1 snd_seq_midi snd_ens1371 21523 2 snd_rawmidi 24697 2 snd_seq_midi,snd_ens1371 snd_ac97_codec 125095 1 snd_ens1371 ac97_bus 1452 1 snd_ac97_codec snd_seq 60833 2 snd_seq_midi,snd_seq_midi_event snd_seq_device 7277 3 snd_seq_midi,snd_rawmidi,snd_seq snd_pcm 94177 2 snd_ens1371,snd_ac97_codec snd_timer 22843 2 snd_seq,snd_pcm snd 73943 11 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer soundcore 7990 1 snd snd_page_alloc 8856 1 snd_pcm e1000 134991 0 sg 29382 0 shpchp 29546 0 i2c_piix4 11520 0 ext4 381488 3 jbd2 93380 1 ext4 mbcache 8193 1 ext4 sr_mod 15049 1 cdrom 39533 1 sr_mod sd_mod 37190 3 crc_t10dif 1209 1 sd_mod pata_acpi 3701 0 ata_generic 3837 0 ata_piix 24409 1 mptspi 16411 2 mptscsih 36702 1 mptspi mptbase 93807 2 mptspi,mptscsih scsi_transport_spi 25703 1 mptspi ttm 89600 0 drm_kms_helper 127731 0 drm 353461 2 ttm,drm_kms_helper i2c_core 29164 3 i2c_piix4,drm_kms_helper,drm dm_mirror 14864 0 dm_region_hash 12181 1 dm_mirror dm_log 9930 2 dm_mirror,dm_region_hash dm_mod 102791 11 dm_mirror,dm_log [root@yinzhengjie ~]#
[root@yinzhengjie ~]# uname -r 2.6.32-754.el6.x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# uname -m x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /etc/redhat-release CentOS release 6.10 (Final) [root@yinzhengjie ~]# [root@yinzhengjie ~]# lsmod | grep xfs #我们发现当前已经加载的模块并没有xfs文件系统内核模块哟~ [root@yinzhengjie ~]# [root@yinzhengjie ~]# locate xfs #我们发现CentOS 6.10是支持xfs文件系统的,但默认清空下并没有加载,因为CentOS 6.x系列使用的默认文件系统是ext4。 /boot/grub/xfs_stage1_5 /etc/selinux/targeted/modules/active/modules/xfs.pp /lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs /lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs/xfs.ko /usr/include/linux/dqblk_xfs.h /usr/lib/python2.6/site-packages/sos/plugins/xfs.py /usr/lib/python2.6/site-packages/sos/plugins/xfs.pyc /usr/lib/python2.6/site-packages/sos/plugins/xfs.pyo /usr/share/grub/x86_64-redhat/xfs_stage1_5 /usr/share/selinux/devel/include/services/xfs.if /usr/share/selinux/targeted/xfs.pp.bz2 [root@yinzhengjie ~]# [root@yinzhengjie ~]#
2>.modinfo命令
显示模块的详细描述信息
modinfo [ -k kernel ] [ modulename|filename... ] -n:只显示模块文件路径 -p:显示模块参数 -a:作者 -d:描述
示例:
lsmod |grep xfs modinfo xfs
[root@yinzhengjie ~]# modinfo xfs filename: /lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs/xfs.ko license: GPL description: SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled author: Silicon Graphics, Inc. retpoline: Y srcversion: 032C69ECC93FCBD7B47F691 depends: exportfs vermagic: 2.6.32-754.el6.x86_64 SMP mod_unload modversions [root@yinzhengjie ~]# [root@yinzhengjie ~]# modinfo -n xfs /lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs/xfs.ko [root@yinzhengjie ~]# [root@yinzhengjie ~]# modinfo -p xfs [root@yinzhengjie ~]# modinfo -a xfs Silicon Graphics, Inc. [root@yinzhengjie ~]# modinfo -d xfs SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled [root@yinzhengjie ~]#
3>.modprobe命令(可以解决依赖性,和Linux的yum工具很像)
装载或卸载内核模块 modprobe [ -C config-file ] [ modulename ] [ module parame-ters... ] modprobe [ -r ] modulename… 配置文件:/etc/modprobe.conf, /etc/modprobe.d/*.conf
4>.depmod命令
内核模块依赖关系文件及系统信息映射文件的生成工具
5>.装载或卸载内核模块(不能解决依赖性,和Linux的rpm工具很像)
insmod命令:指定模块文件,不自动解决依赖模块 insmod [ filename ] [ module options... ] insmod `modinfo –n exportfs` lnsmod `modinfo –n xfs` rmmod命令:卸载模块 rmmod [ modulename ] rmmod xfs rmmod exportfs
四.内核编译
1>.获取内核
前提: (1)准备好开发环境 (2)获取目标主机上硬件设备的相关信息 (3)获取目标主机系统功能的相关信息 例如:需要启用相应的文件系统 (4)获取内核源代码包 www.kernel.org
2>.开发环境准备
包组 Development Tools 目标主机硬件设备相关信息 CPU: cat /proc/cpuinfo x86info -a lscp
3>.硬件设备
PCI设备: lspci -v -vv lsusb -v -vv lsblk 块设备 了解全部硬件设备信息 hal-device:CentOS 6
4>.内核编译安装系统步骤概述
安装开发包组 下载源码文件 .config:准备文本配置文件 make menuconfig:配置内核选项 make [-j #] make modules_install:安装模块 make install :安装内核相关文件 安装bzImage为/boot/vmlinuz-VERSION-RELEASE 生成initramfs文件 编辑grub的配置文件
5>.编译内核
配置内核选项 支持“更新”模式进行配置:make help (1)make config:基于命令行以遍历的方式配置内核中可配置的每个选项 (2)make menuconfig:基于curses的文本窗口界面(字符界面) (3)make gconfig:基于GTK (GNOME)环境窗口界面(图形界面) (4)make xconfig:基于QT(KDE)环境的窗口界面(图形界面) 支持“全新配置”模式进行配置 (1)make defconfig:基于内核为目标平台提供的“默认”配置进行配置 (2)make allyesconfig: 所有选项均回答为“yes“(所有功能都启用) (3)make allnoconfig: 所有选项均回答为“no“(所有功能都不启用) 编译 全编译:make [-j #] 编译内核的一部分功能: (1)只编译某子目录中的相关代码 cd /usr/src/linux make dir/ (2)只编译一个特定的模块 cd /usr/src/linux make dir/file.ko 示例:只为e1000编译驱动: make drivers/net/ethernet/intel/e1000/e1000.ko 如何交叉编译内核: 编译的目标平台与当前平台不相同 make ARCH=arch_name 要获取特定目标平台的使用帮助 make ARCH=arch_name help 示例: make ARCH=arm help 在已经执行过编译操作的内核源码树做重新编译 需要事先清理操作: make clean:清理大多数编译生成的文件,但会保留config文件等 make mrproper: 清理所有编译生成的文件、config及某些备份文件 make distclean:mrproper、清理patches以及编辑器备份文件
[root@yinzhengjie ~]# dmesg | grep -C 10 sda #查看sda硬盘信息的前后10行 ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0x1068 irq 15 usb 2-2: New USB device found, idVendor=0e0f, idProduct=0002 usb 2-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 usb 2-2: Product: VMware Virtual USB Hub usb 2-2: configuration #1 chosen from 1 choice hub 2-2:1.0: USB hub found hub 2-2:1.0: 7 ports detected ata2.00: ATAPI: VMware Virtual IDE CDROM Drive, 00000001, max UDMA/33 ata2.00: configured for UDMA/33 scsi 2:0:0:0: CD-ROM NECVMWar VMware IDE CDR10 1.00 PQ: 0 ANSI: 5 sd 0:0:0:0: [sda] 1048576000 512-byte logical blocks: (536 GB/500 GiB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 61 00 00 00 sd 0:0:0:0: [sda] Cache data unavailable sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] Cache data unavailable sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sda2 sd 0:0:0:0: [sda] Cache data unavailable sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] Attached SCSI disk sr0: scsi3-mmc drive: 1x/1x writer dvd-ram cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 2:0:0:0: Attached scsi CD-ROM sr0 usb 2-2.1: new full speed USB device number 4 using uhci_hcd dracut: Scanning devices sda2 for LVM logical volumes vg_node200/lv_swap vg_node200/lv_root dracut: inactive '/dev/vg_node200/lv_root' [50.00 GiB] inherit dracut: inactive '/dev/vg_node200/lv_home' [445.65 GiB] inherit dracut: inactive '/dev/vg_node200/lv_swap' [3.86 GiB] inherit usb 2-2.1: New USB device found, idVendor=0e0f, idProduct=0008 usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 2-2.1: Product: Virtual Bluetooth Adapter usb 2-2.1: Manufacturer: VMware usb 2-2.1: SerialNumber: 000650268328 usb 2-2.1: configuration #1 chosen from 1 choice EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: -- NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb microcode: CPU0 sig=0x906ea, pf=0x1, revision=0xb4 platform microcode: firmware: requesting intel-ucode/06-9e-0a microcode: CPU1 sig=0x906ea, pf=0x1, revision=0xb4 platform microcode: firmware: requesting intel-ucode/06-9e-0a Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: SELinux: initialized (dev sda1, type ext4), uses xattr EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: SELinux: initialized (dev dm-2, type ext4), uses xattr Adding 4046844k swap on /dev/mapper/vg_node200-lv_swap. Priority:-1 extents:1 across:4046844k SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts NET: Registered protocol family 10 lo: Disabled Privacy Extensions ip6_tables: (C) 2000-2006 Netfilter Core Team nf_conntrack version 0.5.0 (16384 buckets, 65536 max) ip_tables: (C) 2000-2006 Netfilter Core Team e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [root@yinzhengjie ~]# [root@yinzhengjie ~]#
[root@yinzhengjie linux-4.18.13]# du -sh ./ 8.3G ./ [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# make clean CLEAN . CLEAN arch/x86/entry/vdso CLEAN arch/x86/kernel/cpu CLEAN arch/x86/kernel CLEAN arch/x86/realmode/rm CLEAN arch/x86/lib CLEAN certs CLEAN drivers/gpu/drm/radeon CLEAN drivers/scsi/aic7xxx CLEAN drivers/scsi CLEAN drivers/tty/vt CLEAN drivers/video/logo CLEAN lib/raid6 CLEAN lib CLEAN net/wireless CLEAN security/selinux CLEAN usr CLEAN arch/x86/boot/compressed CLEAN arch/x86/boot CLEAN arch/x86/tools CLEAN .tmp_versions [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# du -sh ./ 915M ./ [root@yinzhengjie linux-4.18.13]#
[root@yinzhengjie linux-4.18.13]# du -sh ./ 915M ./ [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# make mrproper CLEAN scripts/basic CLEAN scripts/genksyms CLEAN scripts/kconfig CLEAN scripts/mod CLEAN scripts/selinux/genheaders CLEAN scripts/selinux/mdp CLEAN scripts CLEAN include/config usr/include include/generated arch/x86/include/generated CLEAN .config .version Module.symvers [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# du -sh ./ 900M ./ [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]#
五.内核编译实战案例之ntfs编译安装
1>.下载源码文件并解压
[root@yinzhengjie ~]# ll -h total 98M -rw-r--r--. 1 root root 98M Oct 24 08:51 linux-4.18.13.tar.xz [root@yinzhengjie ~]# [root@yinzhengjie ~]# tar xf linux-4.18.13.tar.xz [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll -h total 98M drwxrwxr-x. 25 root root 4.0K Oct 10 2018 linux-4.18.13 -rw-r--r--. 1 root root 98M Oct 24 08:51 linux-4.18.13.tar.xz [root@yinzhengjie ~]# [root@yinzhengjie ~]# du -sh linux-4.18.13 898M linux-4.18.13 [root@yinzhengjie ~]#
2>.准备文本配置文件
[root@yinzhengjie ~]# grep -i ntfs /boot/config-2.6.32-754.el6.x86_64 #查看操作系统是否编译了ntfs模块到内核,很显然是没有的。 # CONFIG_NTFS_FS is not set [root@yinzhengjie ~]# [root@yinzhengjie ~]# wc -l /boot/config-2.6.32-754.el6.x86_64 4730 /boot/config-2.6.32-754.el6.x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll -h total 98M drwxrwxr-x. 25 root root 4.0K Dec 2 22:49 linux-4.18.13 -rw-r--r--. 1 root root 98M Oct 24 08:51 linux-4.18.13.tar.xz [root@yinzhengjie ~]# [root@yinzhengjie ~]# cp /boot/config-2.6.32-754.el6.x86_64 linux-4.18.13/.config #直接拿系统的编译文件作为模板来修改即可,咱们不是做内核开发人员,没必要一个一个参数去修改。 [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll linux-4.18.13/.config -rw-r--r--. 1 root root 108282 Dec 2 22:49 linux-4.18.13/.config [root@yinzhengjie ~]#
3>.安装依赖包
[root@yinzhengjie ~]# yum -y groupinstall "Development Tools" Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Group Process Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Package 1:make-3.81-23.el6.x86_64 already installed and latest version Package patch-2.6-8.el6_9.x86_64 already installed and latest version Package 1:pkgconfig-0.23-9.1.el6.x86_64 already installed and latest version Package gettext-0.17-18.el6.x86_64 already installed and latest version Package elfutils-0.164-2.el6.x86_64 already installed and latest version Package cvs-1.11.23-16.el6.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package autoconf.noarch 0:2.63-5.1.el6 will be installed ---> Package automake.noarch 0:1.11.1-4.el6 will be installed ---> Package binutils.x86_64 0:2.20.51.0.2-5.48.el6 will be updated ---> Package binutils.x86_64 0:2.20.51.0.2-5.48.el6_10.1 will be an update ---> Package bison.x86_64 0:2.4.1-5.el6 will be installed ---> Package byacc.x86_64 0:1.9.20070509-7.el6 will be installed ---> Package cscope.x86_64 0:15.6-7.el6 will be installed ---> Package ctags.x86_64 0:5.8-2.el6 will be installed ---> Package diffstat.x86_64 0:1.51-2.el6 will be installed ---> Package doxygen.x86_64 1:1.6.1-6.el6 will be installed ---> Package flex.x86_64 0:2.5.35-9.el6 will be installed ---> Package gcc.x86_64 0:4.4.7-23.el6 will be installed --> Processing Dependency: cpp = 4.4.7-23.el6 for package: gcc-4.4.7-23.el6.x86_64 --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-23.el6.x86_64 ---> Package gcc-c++.x86_64 0:4.4.7-23.el6 will be installed --> Processing Dependency: libstdc++-devel = 4.4.7-23.el6 for package: gcc-c++-4.4.7-23.el6.x86_64 --> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.7-23.el6.x86_64 ---> Package gcc-gfortran.x86_64 0:4.4.7-23.el6 will be installed --> Processing Dependency: libgfortran = 4.4.7-23.el6 for package: gcc-gfortran-4.4.7-23.el6.x86_64 --> Processing Dependency: libgfortran.so.3()(64bit) for package: gcc-gfortran-4.4.7-23.el6.x86_64 ---> Package git.x86_64 0:1.7.1-9.el6_9 will be installed --> Processing Dependency: perl-Git = 1.7.1-9.el6_9 for package: git-1.7.1-9.el6_9.x86_64 --> Processing Dependency: perl(Git) for package: git-1.7.1-9.el6_9.x86_64 --> Processing Dependency: perl(Error) for package: git-1.7.1-9.el6_9.x86_64 ---> Package indent.x86_64 0:2.2.10-7.el6 will be installed ---> Package intltool.noarch 0:0.41.0-1.1.el6 will be installed --> Processing Dependency: perl(XML::Parser) for package: intltool-0.41.0-1.1.el6.noarch --> Processing Dependency: gettext-devel for package: intltool-0.41.0-1.1.el6.noarch ---> Package libtool.x86_64 0:2.2.6-15.5.el6 will be installed ---> Package patchutils.x86_64 0:0.3.1-3.1.el6 will be installed ---> Package rcs.x86_64 0:5.7-37.el6 will be installed ---> Package redhat-rpm-config.noarch 0:9.0.3-51.el6.centos will be installed ---> Package rpm-build.x86_64 0:4.8.0-59.el6 will be installed ---> Package subversion.x86_64 0:1.6.11-15.el6_7 will be installed --> Processing Dependency: perl(URI) >= 1.17 for package: subversion-1.6.11-15.el6_7.x86_64 ---> Package swig.x86_64 0:1.3.40-6.el6 will be installed ---> Package systemtap.x86_64 0:2.9-9.el6 will be installed --> Processing Dependency: systemtap-devel = 2.9-9.el6 for package: systemtap-2.9-9.el6.x86_64 --> Processing Dependency: systemtap-client = 2.9-9.el6 for package: systemtap-2.9-9.el6.x86_64 --> Running transaction check ---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed --> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64 --> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64 ---> Package cpp.x86_64 0:4.4.7-23.el6 will be installed ---> Package gettext-devel.x86_64 0:0.17-18.el6 will be installed --> Processing Dependency: gettext-libs = 0.17-18.el6 for package: gettext-devel-0.17-18.el6.x86_64 --> Processing Dependency: libgettextpo.so.0()(64bit) for package: gettext-devel-0.17-18.el6.x86_64 --> Processing Dependency: libgcj_bc.so.1()(64bit) for package: gettext-devel-0.17-18.el6.x86_64 --> Processing Dependency: libasprintf.so.0()(64bit) for package: gettext-devel-0.17-18.el6.x86_64 ---> Package libgfortran.x86_64 0:4.4.7-23.el6 will be installed ---> Package libstdc++-devel.x86_64 0:4.4.7-23.el6 will be installed ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed ---> Package perl-Error.noarch 1:0.17015-4.el6 will be installed ---> Package perl-Git.noarch 0:1.7.1-9.el6_9 will be installed ---> Package perl-URI.noarch 0:1.40-2.el6 will be installed ---> Package perl-XML-Parser.x86_64 0:2.36-7.el6 will be installed --> Processing Dependency: perl(LWP) for package: perl-XML-Parser-2.36-7.el6.x86_64 ---> Package systemtap-client.x86_64 0:2.9-9.el6 will be installed ---> Package systemtap-devel.x86_64 0:2.9-9.el6 will be installed --> Processing Dependency: kernel-devel for package: systemtap-devel-2.9-9.el6.x86_64 --> Running transaction check ---> Package gettext-libs.x86_64 0:0.17-18.el6 will be installed ---> Package kernel-devel.x86_64 0:2.6.32-754.24.3.el6 will be installed ---> Package libgcj.x86_64 0:4.4.7-23.el6 will be installed ---> Package perl-libwww-perl.noarch 0:5.833-5.el6 will be installed --> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl-5.833-5.el6.noarch --> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl-5.833-5.el6.noarch --> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl-5.833-5.el6.noarch ---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed --> Running transaction check ---> Package perl-Compress-Zlib.x86_64 0:2.021-144.el6 will be installed --> Processing Dependency: perl(IO::Uncompress::Gunzip) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64 --> Processing Dependency: perl(IO::Compress::Gzip::Constants) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64 --> Processing Dependency: perl(IO::Compress::Gzip) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64 --> Processing Dependency: perl(IO::Compress::Base::Common) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64 --> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64 ---> Package perl-HTML-Parser.x86_64 0:3.64-2.el6 will be installed --> Processing Dependency: perl(HTML::Tagset) >= 3.03 for package: perl-HTML-Parser-3.64-2.el6.x86_64 --> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser-3.64-2.el6.x86_64 --> Running transaction check ---> Package perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6 will be installed ---> Package perl-HTML-Tagset.noarch 0:3.20-4.el6 will be installed ---> Package perl-IO-Compress-Base.x86_64 0:2.021-144.el6 will be installed ---> Package perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================ Installing: autoconf noarch 2.63-5.1.el6 base 781 k automake noarch 1.11.1-4.el6 base 550 k bison x86_64 2.4.1-5.el6 base 637 k byacc x86_64 1.9.20070509-7.el6 base 48 k cscope x86_64 15.6-7.el6 base 136 k ctags x86_64 5.8-2.el6 base 147 k diffstat x86_64 1.51-2.el6 base 29 k doxygen x86_64 1:1.6.1-6.el6 base 2.4 M flex x86_64 2.5.35-9.el6 base 285 k gcc x86_64 4.4.7-23.el6 base 10 M gcc-c++ x86_64 4.4.7-23.el6 base 4.7 M gcc-gfortran x86_64 4.4.7-23.el6 base 4.7 M git x86_64 1.7.1-9.el6_9 base 4.6 M indent x86_64 2.2.10-7.el6 base 115 k intltool noarch 0.41.0-1.1.el6 base 58 k libtool x86_64 2.2.6-15.5.el6 base 564 k patchutils x86_64 0.3.1-3.1.el6 base 95 k rcs x86_64 5.7-37.el6 base 173 k redhat-rpm-config noarch 9.0.3-51.el6.centos base 60 k rpm-build x86_64 4.8.0-59.el6 base 131 k subversion x86_64 1.6.11-15.el6_7 base 2.3 M swig x86_64 1.3.40-6.el6 base 1.1 M systemtap x86_64 2.9-9.el6 base 23 k Updating: binutils x86_64 2.20.51.0.2-5.48.el6_10.1 updates 2.8 M Installing for dependencies: cloog-ppl x86_64 0.15.7-1.2.el6 base 93 k cpp x86_64 4.4.7-23.el6 base 3.7 M gettext-devel x86_64 0.17-18.el6 base 155 k gettext-libs x86_64 0.17-18.el6 base 112 k kernel-devel x86_64 2.6.32-754.24.3.el6 updates 11 M libgcj x86_64 4.4.7-23.el6 base 19 M libgfortran x86_64 4.4.7-23.el6 base 268 k libstdc++-devel x86_64 4.4.7-23.el6 base 1.6 M mpfr x86_64 2.4.1-6.el6 base 157 k perl-Compress-Raw-Zlib x86_64 1:2.021-144.el6 base 70 k perl-Compress-Zlib x86_64 2.021-144.el6 base 46 k perl-Error noarch 1:0.17015-4.el6 base 29 k perl-Git noarch 1.7.1-9.el6_9 base 29 k perl-HTML-Parser x86_64 3.64-2.el6 base 109 k perl-HTML-Tagset noarch 3.20-4.el6 base 17 k perl-IO-Compress-Base x86_64 2.021-144.el6 base 70 k perl-IO-Compress-Zlib x86_64 2.021-144.el6 base 136 k perl-URI noarch 1.40-2.el6 base 117 k perl-XML-Parser x86_64 2.36-7.el6 base 224 k perl-libwww-perl noarch 5.833-5.el6 base 390 k ppl x86_64 0.10.2-11.el6 base 1.3 M systemtap-client x86_64 2.9-9.el6 base 3.7 M systemtap-devel x86_64 2.9-9.el6 base 1.7 M Transaction Summary ================================================================================================================================================ Install 46 Package(s) Upgrade 1 Package(s) Total download size: 80 M Downloading Packages: (1/47): autoconf-2.63-5.1.el6.noarch.rpm | 781 kB 00:00 (2/47): automake-1.11.1-4.el6.noarch.rpm | 550 kB 00:00 (3/47): binutils-2.20.51.0.2-5.48.el6_10.1.x86_64.rpm | 2.8 MB 00:00 (4/47): bison-2.4.1-5.el6.x86_64.rpm | 637 kB 00:00 (5/47): byacc-1.9.20070509-7.el6.x86_64.rpm | 48 kB 00:00 (6/47): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93 kB 00:00 (7/47): cpp-4.4.7-23.el6.x86_64.rpm | 3.7 MB 00:00 (8/47): cscope-15.6-7.el6.x86_64.rpm | 136 kB 00:00 (9/47): ctags-5.8-2.el6.x86_64.rpm | 147 kB 00:00 (10/47): diffstat-1.51-2.el6.x86_64.rpm | 29 kB 00:00 (11/47): doxygen-1.6.1-6.el6.x86_64.rpm | 2.4 MB 00:00 (12/47): flex-2.5.35-9.el6.x86_64.rpm | 285 kB 00:00 (13/47): gcc-4.4.7-23.el6.x86_64.rpm | 10 MB 00:00 (14/47): gcc-c++-4.4.7-23.el6.x86_64.rpm | 4.7 MB 00:00 (15/47): gcc-gfortran-4.4.7-23.el6.x86_64.rpm | 4.7 MB 00:00 (16/47): gettext-devel-0.17-18.el6.x86_64.rpm | 155 kB 00:00 (17/47): gettext-libs-0.17-18.el6.x86_64.rpm | 112 kB 00:00 (18/47): git-1.7.1-9.el6_9.x86_64.rpm | 4.6 MB 00:00 (19/47): indent-2.2.10-7.el6.x86_64.rpm | 115 kB 00:00 (20/47): intltool-0.41.0-1.1.el6.noarch.rpm | 58 kB 00:00 (21/47): kernel-devel-2.6.32-754.24.3.el6.x86_64.rpm | 11 MB 00:01 (22/47): libgcj-4.4.7-23.el6.x86_64.rpm | 19 MB 00:01 (23/47): libgfortran-4.4.7-23.el6.x86_64.rpm | 268 kB 00:00 (24/47): libstdc++-devel-4.4.7-23.el6.x86_64.rpm | 1.6 MB 00:00 (25/47): libtool-2.2.6-15.5.el6.x86_64.rpm | 564 kB 00:00 (26/47): mpfr-2.4.1-6.el6.x86_64.rpm | 157 kB 00:00 (27/47): patchutils-0.3.1-3.1.el6.x86_64.rpm | 95 kB 00:00 (28/47): perl-Compress-Raw-Zlib-2.021-144.el6.x86_64.rpm | 70 kB 00:00 (29/47): perl-Compress-Zlib-2.021-144.el6.x86_64.rpm | 46 kB 00:00 (30/47): perl-Error-0.17015-4.el6.noarch.rpm | 29 kB 00:00 (31/47): perl-Git-1.7.1-9.el6_9.noarch.rpm | 29 kB 00:00 (32/47): perl-HTML-Parser-3.64-2.el6.x86_64.rpm | 109 kB 00:00 (33/47): perl-HTML-Tagset-3.20-4.el6.noarch.rpm | 17 kB 00:00 (34/47): perl-IO-Compress-Base-2.021-144.el6.x86_64.rpm | 70 kB 00:00 (35/47): perl-IO-Compress-Zlib-2.021-144.el6.x86_64.rpm | 136 kB 00:00 (36/47): perl-URI-1.40-2.el6.noarch.rpm | 117 kB 00:00 (37/47): perl-XML-Parser-2.36-7.el6.x86_64.rpm | 224 kB 00:00 (38/47): perl-libwww-perl-5.833-5.el6.noarch.rpm | 390 kB 00:00 (39/47): ppl-0.10.2-11.el6.x86_64.rpm | 1.3 MB 00:00 (40/47): rcs-5.7-37.el6.x86_64.rpm | 173 kB 00:00 (41/47): redhat-rpm-config-9.0.3-51.el6.centos.noarch.rpm | 60 kB 00:00 (42/47): rpm-build-4.8.0-59.el6.x86_64.rpm | 131 kB 00:00 (43/47): subversion-1.6.11-15.el6_7.x86_64.rpm | 2.3 MB 00:00 (44/47): swig-1.3.40-6.el6.x86_64.rpm | 1.1 MB 00:00 (45/47): systemtap-2.9-9.el6.x86_64.rpm | 23 kB 00:00 (46/47): systemtap-client-2.9-9.el6.x86_64.rpm | 3.7 MB 00:00 (47/47): systemtap-devel-2.9-9.el6.x86_64.rpm | 1.7 MB 00:00 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 9.4 MB/s | 80 MB 00:08 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : perl-URI-1.40-2.el6.noarch 1/48 Installing : mpfr-2.4.1-6.el6.x86_64 2/48 Updating : binutils-2.20.51.0.2-5.48.el6_10.1.x86_64 3/48 Installing : perl-IO-Compress-Base-2.021-144.el6.x86_64 4/48 Installing : 1:perl-Compress-Raw-Zlib-2.021-144.el6.x86_64 5/48 Installing : 1:perl-Error-0.17015-4.el6.noarch 6/48 Installing : autoconf-2.63-5.1.el6.noarch 7/48 Installing : automake-1.11.1-4.el6.noarch 8/48 Installing : git-1.7.1-9.el6_9.x86_64 9/48 Installing : perl-Git-1.7.1-9.el6_9.noarch 10/48 Installing : perl-IO-Compress-Zlib-2.021-144.el6.x86_64 11/48 Installing : perl-Compress-Zlib-2.021-144.el6.x86_64 12/48 Installing : cpp-4.4.7-23.el6.x86_64 13/48 Installing : libgcj-4.4.7-23.el6.x86_64 14/48 Installing : kernel-devel-2.6.32-754.24.3.el6.x86_64 15/48 Installing : perl-HTML-Tagset-3.20-4.el6.noarch 16/48 Installing : perl-HTML-Parser-3.64-2.el6.x86_64 17/48 Installing : perl-libwww-perl-5.833-5.el6.noarch 18/48 Installing : perl-XML-Parser-2.36-7.el6.x86_64 19/48 Installing : libgfortran-4.4.7-23.el6.x86_64 20/48 Installing : ppl-0.10.2-11.el6.x86_64 21/48 Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 22/48 Installing : gcc-4.4.7-23.el6.x86_64 23/48 Installing : systemtap-devel-2.9-9.el6.x86_64 24/48 Installing : systemtap-client-2.9-9.el6.x86_64 25/48 Installing : redhat-rpm-config-9.0.3-51.el6.centos.noarch 26/48 Installing : libstdc++-devel-4.4.7-23.el6.x86_64 27/48 Installing : gettext-libs-0.17-18.el6.x86_64 28/48 Installing : gettext-devel-0.17-18.el6.x86_64 29/48 Installing : intltool-0.41.0-1.1.el6.noarch 30/48 Installing : gcc-c++-4.4.7-23.el6.x86_64 31/48 Installing : rpm-build-4.8.0-59.el6.x86_64 32/48 Installing : systemtap-2.9-9.el6.x86_64 33/48 Installing : gcc-gfortran-4.4.7-23.el6.x86_64 34/48 Installing : libtool-2.2.6-15.5.el6.x86_64 35/48 Installing : subversion-1.6.11-15.el6_7.x86_64 36/48 Installing : swig-1.3.40-6.el6.x86_64 37/48 Installing : rcs-5.7-37.el6.x86_64 38/48 Installing : diffstat-1.51-2.el6.x86_64 39/48 Installing : flex-2.5.35-9.el6.x86_64 40/48 Installing : patchutils-0.3.1-3.1.el6.x86_64 41/48 Installing : 1:doxygen-1.6.1-6.el6.x86_64 42/48 Installing : byacc-1.9.20070509-7.el6.x86_64 43/48 Installing : cscope-15.6-7.el6.x86_64 44/48 Installing : ctags-5.8-2.el6.x86_64 45/48 Installing : indent-2.2.10-7.el6.x86_64 46/48 Installing : bison-2.4.1-5.el6.x86_64 47/48 Cleanup : binutils-2.20.51.0.2-5.48.el6.x86_64 48/48 Verifying : perl-Compress-Zlib-2.021-144.el6.x86_64 1/48 Verifying : bison-2.4.1-5.el6.x86_64 2/48 Verifying : gcc-4.4.7-23.el6.x86_64 3/48 Verifying : perl-HTML-Parser-3.64-2.el6.x86_64 4/48 Verifying : gettext-libs-0.17-18.el6.x86_64 5/48 Verifying : indent-2.2.10-7.el6.x86_64 6/48 Verifying : rpm-build-4.8.0-59.el6.x86_64 7/48 Verifying : subversion-1.6.11-15.el6_7.x86_64 8/48 Verifying : libstdc++-devel-4.4.7-23.el6.x86_64 9/48 Verifying : automake-1.11.1-4.el6.noarch 10/48 Verifying : redhat-rpm-config-9.0.3-51.el6.centos.noarch 11/48 Verifying : ctags-5.8-2.el6.x86_64 12/48 Verifying : cscope-15.6-7.el6.x86_64 13/48 Verifying : perl-Git-1.7.1-9.el6_9.noarch 14/48 Verifying : byacc-1.9.20070509-7.el6.x86_64 15/48 Verifying : gettext-devel-0.17-18.el6.x86_64 16/48 Verifying : mpfr-2.4.1-6.el6.x86_64 17/48 Verifying : systemtap-devel-2.9-9.el6.x86_64 18/48 Verifying : systemtap-client-2.9-9.el6.x86_64 19/48 Verifying : autoconf-2.63-5.1.el6.noarch 20/48 Verifying : ppl-0.10.2-11.el6.x86_64 21/48 Verifying : 1:doxygen-1.6.1-6.el6.x86_64 22/48 Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 23/48 Verifying : patchutils-0.3.1-3.1.el6.x86_64 24/48 Verifying : libgfortran-4.4.7-23.el6.x86_64 25/48 Verifying : gcc-c++-4.4.7-23.el6.x86_64 26/48 Verifying : 1:perl-Error-0.17015-4.el6.noarch 27/48 Verifying : 1:perl-Compress-Raw-Zlib-2.021-144.el6.x86_64 28/48 Verifying : flex-2.5.35-9.el6.x86_64 29/48 Verifying : perl-XML-Parser-2.36-7.el6.x86_64 30/48 Verifying : perl-IO-Compress-Base-2.021-144.el6.x86_64 31/48 Verifying : gcc-gfortran-4.4.7-23.el6.x86_64 32/48 Verifying : perl-HTML-Tagset-3.20-4.el6.noarch 33/48 Verifying : diffstat-1.51-2.el6.x86_64 34/48 Verifying : rcs-5.7-37.el6.x86_64 35/48 Verifying : perl-libwww-perl-5.833-5.el6.noarch 36/48 Verifying : systemtap-2.9-9.el6.x86_64 37/48 Verifying : kernel-devel-2.6.32-754.24.3.el6.x86_64 38/48 Verifying : perl-IO-Compress-Zlib-2.021-144.el6.x86_64 39/48 Verifying : perl-URI-1.40-2.el6.noarch 40/48 Verifying : intltool-0.41.0-1.1.el6.noarch 41/48 Verifying : swig-1.3.40-6.el6.x86_64 42/48 Verifying : binutils-2.20.51.0.2-5.48.el6_10.1.x86_64 43/48 Verifying : cpp-4.4.7-23.el6.x86_64 44/48 Verifying : libtool-2.2.6-15.5.el6.x86_64 45/48 Verifying : git-1.7.1-9.el6_9.x86_64 46/48 Verifying : libgcj-4.4.7-23.el6.x86_64 47/48 Verifying : binutils-2.20.51.0.2-5.48.el6.x86_64 48/48 Installed: autoconf.noarch 0:2.63-5.1.el6 automake.noarch 0:1.11.1-4.el6 bison.x86_64 0:2.4.1-5.el6 byacc.x86_64 0:1.9.20070509-7.el6 cscope.x86_64 0:15.6-7.el6 ctags.x86_64 0:5.8-2.el6 diffstat.x86_64 0:1.51-2.el6 doxygen.x86_64 1:1.6.1-6.el6 flex.x86_64 0:2.5.35-9.el6 gcc.x86_64 0:4.4.7-23.el6 gcc-c++.x86_64 0:4.4.7-23.el6 gcc-gfortran.x86_64 0:4.4.7-23.el6 git.x86_64 0:1.7.1-9.el6_9 indent.x86_64 0:2.2.10-7.el6 intltool.noarch 0:0.41.0-1.1.el6 libtool.x86_64 0:2.2.6-15.5.el6 patchutils.x86_64 0:0.3.1-3.1.el6 rcs.x86_64 0:5.7-37.el6 redhat-rpm-config.noarch 0:9.0.3-51.el6.centos rpm-build.x86_64 0:4.8.0-59.el6 subversion.x86_64 0:1.6.11-15.el6_7 swig.x86_64 0:1.3.40-6.el6 systemtap.x86_64 0:2.9-9.el6 Dependency Installed: cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-23.el6 gettext-devel.x86_64 0:0.17-18.el6 gettext-libs.x86_64 0:0.17-18.el6 kernel-devel.x86_64 0:2.6.32-754.24.3.el6 libgcj.x86_64 0:4.4.7-23.el6 libgfortran.x86_64 0:4.4.7-23.el6 libstdc++-devel.x86_64 0:4.4.7-23.el6 mpfr.x86_64 0:2.4.1-6.el6 perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6 perl-Compress-Zlib.x86_64 0:2.021-144.el6 perl-Error.noarch 1:0.17015-4.el6 perl-Git.noarch 0:1.7.1-9.el6_9 perl-HTML-Parser.x86_64 0:3.64-2.el6 perl-HTML-Tagset.noarch 0:3.20-4.el6 perl-IO-Compress-Base.x86_64 0:2.021-144.el6 perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6 perl-URI.noarch 0:1.40-2.el6 perl-XML-Parser.x86_64 0:2.36-7.el6 perl-libwww-perl.noarch 0:5.833-5.el6 ppl.x86_64 0:0.10.2-11.el6 systemtap-client.x86_64 0:2.9-9.el6 systemtap-devel.x86_64 0:2.9-9.el6 Updated: binutils.x86_64 0:2.20.51.0.2-5.48.el6_10.1 Complete! [root@yinzhengjie ~]#
[root@yinzhengjie ~]# yum -y install ncurses-devel Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Resolving Dependencies --> Running transaction check ---> Package ncurses-devel.x86_64 0:5.7-4.20090207.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================ Installing: ncurses-devel x86_64 5.7-4.20090207.el6 base 641 k Transaction Summary ============================================================================================================================================================================ Install 1 Package(s) Total download size: 641 k Installed size: 1.7 M Downloading Packages: ncurses-devel-5.7-4.20090207.el6.x86_64.rpm | 641 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : ncurses-devel-5.7-4.20090207.el6.x86_64 1/1 Verifying : ncurses-devel-5.7-4.20090207.el6.x86_64 1/1 Installed: ncurses-devel.x86_64 0:5.7-4.20090207.el6 Complete! [root@yinzhengjie ~]#
[root@yinzhengjie ~]# yum -y install elfutils-libelf-devel Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Resolving Dependencies --> Running transaction check ---> Package elfutils-libelf-devel.x86_64 0:0.164-2.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================ Installing: elfutils-libelf-devel x86_64 0.164-2.el6 base 32 k Transaction Summary ================================================================================================================================================ Install 1 Package(s) Total download size: 32 k Installed size: 26 k Downloading Packages: elfutils-libelf-devel-0.164-2.el6.x86_64.rpm | 32 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : elfutils-libelf-devel-0.164-2.el6.x86_64 1/1 Verifying : elfutils-libelf-devel-0.164-2.el6.x86_64 1/1 Installed: elfutils-libelf-devel.x86_64 0:0.164-2.el6 Complete! [root@yinzhengjie ~]#
[root@yinzhengjie ~]# yum -y install openssl-devel Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Resolving Dependencies --> Running transaction check ---> Package openssl-devel.x86_64 0:1.0.1e-58.el6_10 will be installed --> Processing Dependency: openssl = 1.0.1e-58.el6_10 for package: openssl-devel-1.0.1e-58.el6_10.x86_64 --> Processing Dependency: zlib-devel for package: openssl-devel-1.0.1e-58.el6_10.x86_64 --> Processing Dependency: krb5-devel for package: openssl-devel-1.0.1e-58.el6_10.x86_64 --> Running transaction check ---> Package krb5-devel.x86_64 0:1.10.3-65.el6 will be installed --> Processing Dependency: libselinux-devel for package: krb5-devel-1.10.3-65.el6.x86_64 --> Processing Dependency: libcom_err-devel for package: krb5-devel-1.10.3-65.el6.x86_64 --> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.10.3-65.el6.x86_64 ---> Package openssl.x86_64 0:1.0.1e-57.el6 will be updated ---> Package openssl.x86_64 0:1.0.1e-58.el6_10 will be an update ---> Package zlib-devel.x86_64 0:1.2.3-29.el6 will be installed --> Running transaction check ---> Package keyutils-libs-devel.x86_64 0:1.4-5.el6 will be installed ---> Package libcom_err-devel.x86_64 0:1.41.12-24.el6 will be installed ---> Package libselinux-devel.x86_64 0:2.0.94-7.el6 will be installed --> Processing Dependency: libsepol-devel >= 2.0.32-1 for package: libselinux-devel-2.0.94-7.el6.x86_64 --> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.0.94-7.el6.x86_64 --> Running transaction check ---> Package libsepol-devel.x86_64 0:2.0.41-4.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================ Installing: openssl-devel x86_64 1.0.1e-58.el6_10 updates 1.2 M Installing for dependencies: keyutils-libs-devel x86_64 1.4-5.el6 base 29 k krb5-devel x86_64 1.10.3-65.el6 base 504 k libcom_err-devel x86_64 1.41.12-24.el6 base 33 k libselinux-devel x86_64 2.0.94-7.el6 base 137 k libsepol-devel x86_64 2.0.41-4.el6 base 64 k zlib-devel x86_64 1.2.3-29.el6 base 44 k Updating for dependencies: openssl x86_64 1.0.1e-58.el6_10 updates 1.5 M Transaction Summary ================================================================================================================================================ Install 7 Package(s) Upgrade 1 Package(s) Total download size: 3.5 M Downloading Packages: (1/8): keyutils-libs-devel-1.4-5.el6.x86_64.rpm | 29 kB 00:00 (2/8): krb5-devel-1.10.3-65.el6.x86_64.rpm | 504 kB 00:00 (3/8): libcom_err-devel-1.41.12-24.el6.x86_64.rpm | 33 kB 00:00 (4/8): libselinux-devel-2.0.94-7.el6.x86_64.rpm | 137 kB 00:00 (5/8): libsepol-devel-2.0.41-4.el6.x86_64.rpm | 64 kB 00:00 (6/8): openssl-1.0.1e-58.el6_10.x86_64.rpm | 1.5 MB 00:00 (7/8): openssl-devel-1.0.1e-58.el6_10.x86_64.rpm | 1.2 MB 00:00 (8/8): zlib-devel-1.2.3-29.el6.x86_64.rpm | 44 kB 00:00 ------------------------------------------------------------------------------------------------------------------------------------------------ Total 7.6 MB/s | 3.5 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : libcom_err-devel-1.41.12-24.el6.x86_64 1/9 Installing : zlib-devel-1.2.3-29.el6.x86_64 2/9 Installing : libsepol-devel-2.0.41-4.el6.x86_64 3/9 Installing : libselinux-devel-2.0.94-7.el6.x86_64 4/9 Installing : keyutils-libs-devel-1.4-5.el6.x86_64 5/9 Installing : krb5-devel-1.10.3-65.el6.x86_64 6/9 Updating : openssl-1.0.1e-58.el6_10.x86_64 7/9 Installing : openssl-devel-1.0.1e-58.el6_10.x86_64 8/9 Cleanup : openssl-1.0.1e-57.el6.x86_64 9/9 Verifying : openssl-1.0.1e-58.el6_10.x86_64 1/9 Verifying : keyutils-libs-devel-1.4-5.el6.x86_64 2/9 Verifying : libsepol-devel-2.0.41-4.el6.x86_64 3/9 Verifying : openssl-devel-1.0.1e-58.el6_10.x86_64 4/9 Verifying : krb5-devel-1.10.3-65.el6.x86_64 5/9 Verifying : libselinux-devel-2.0.94-7.el6.x86_64 6/9 Verifying : zlib-devel-1.2.3-29.el6.x86_64 7/9 Verifying : libcom_err-devel-1.41.12-24.el6.x86_64 8/9 Verifying : openssl-1.0.1e-57.el6.x86_64 9/9 Installed: openssl-devel.x86_64 0:1.0.1e-58.el6_10 Dependency Installed: keyutils-libs-devel.x86_64 0:1.4-5.el6 krb5-devel.x86_64 0:1.10.3-65.el6 libcom_err-devel.x86_64 0:1.41.12-24.el6 libselinux-devel.x86_64 0:2.0.94-7.el6 libsepol-devel.x86_64 0:2.0.41-4.el6 zlib-devel.x86_64 0:1.2.3-29.el6 Dependency Updated: openssl.x86_64 0:1.0.1e-58.el6_10 Complete! [root@yinzhengjie ~]#
4>.进入解压目录配置内核选项
[root@yinzhengjie ~]# cd linux-4.18.13 [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# make menuconfig HOSTCC scripts/basic/fixdep UPD scripts/kconfig/.mconf-cfg HOSTCC scripts/kconfig/mconf.o YACC scripts/kconfig/zconf.tab.c LEX scripts/kconfig/zconf.lex.c HOSTCC scripts/kconfig/zconf.tab.o HOSTCC scripts/kconfig/lxdialog/checklist.o HOSTCC scripts/kconfig/lxdialog/inputbox.o HOSTCC scripts/kconfig/lxdialog/menubox.o HOSTCC scripts/kconfig/lxdialog/textbox.o HOSTCC scripts/kconfig/lxdialog/util.o HOSTCC scripts/kconfig/lxdialog/yesno.o HOSTLD scripts/kconfig/mconf scripts/kconfig/mconf Kconfig .config:346:warning: symbol value 'm' invalid for MICROCODE .config:488:warning: symbol value 'm' invalid for CPU_FREQ_STAT .config:504:warning: symbol value 'm' invalid for X86_INTEL_PSTATE .config:573:warning: symbol value 'm' invalid for PCCARD_NONSTATIC .config:579:warning: symbol value 'm' invalid for HOTPLUG_PCI_SHPC .config:705:warning: symbol value 'm' invalid for NF_CT_PROTO_DCCP .config:707:warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP .config:708:warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE .config:847:warning: symbol value 'm' invalid for NF_NAT_PROTO_DCCP .config:849:warning: symbol value 'm' invalid for NF_NAT_PROTO_UDPLITE .config:850:warning: symbol value 'm' invalid for NF_NAT_PROTO_SCTP .config:2811:warning: symbol value 'm' invalid for MFD_WM8400 .config:2812:warning: symbol value 'm' invalid for MFD_WM831X .config:2813:warning: symbol value 'm' invalid for MFD_WM8350 .config:2826:warning: symbol value 'm' invalid for MFD_WM8350_I2C .config:2828:warning: symbol value 'm' invalid for AB3100_CORE .config:2863:warning: symbol value 'm' invalid for LIRC
如下图所示,选择"() Local version - append to kernel release ",添加咱们自定义的内核版本。
如下图所示,自定义追加自定义的内核版本
如下图所示,追加内核参数配置完成后,使用tab键退出当前菜单。
如下图所示,选择" File systems ---> ",可以进入到配置文件系统界面。
如下图所示,选择" DOS/FAT/NT Filesystems --->",进入DOS/FAT/NTFS文件系统配置界面。
如下图所示,选择"",以模块化方式支持ntfs文件系统。
如下图所示,继续向上级菜单退出。
如下图所示,退出一级菜单。
如下图所示,选择"< Yes >",从而保存配置。
[root@yinzhengjie linux-4.18.13]# grep -i ntfs .config #发现咱们从系统拷贝过来的".config"文件已经被修改啦~ CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set CONFIG_NTFS_RW=y [root@yinzhengjie linux-4.18.13]#
5>.编译(编译过程属于CPU密集型操作,使用top命令可以看到cpu占用较高,编译过程中CPU性能越好,编译的速度越快)
[root@yinzhengjie linux-4.18.13]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 4 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz Stepping: 10 CPU MHz: 2208.002 BogoMIPS: 4416.00 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 9216K NUMA node0 CPU(s): 0-7 [root@yinzhengjie linux-4.18.13]#
[root@yinzhengjie linux-4.18.13]# make -j 8 ...... LD [M] sound/pci/vx222/snd-vx222.ko LD [M] sound/soundcore.ko LD [M] sound/synth/emux/snd-emux-synth.ko LD [M] sound/usb/6fire/snd-usb-6fire.ko LD [M] sound/usb/bcd2000/snd-bcd2000.ko LD [M] sound/synth/snd-util-mem.ko LD [M] sound/usb/caiaq/snd-usb-caiaq.ko LD [M] sound/usb/hiface/snd-usb-hiface.ko LD [M] sound/usb/misc/snd-ua101.ko LD [M] sound/usb/snd-usb-audio.ko LD [M] sound/usb/snd-usbmidi-lib.ko LD [M] sound/usb/usx2y/snd-usb-us122l.ko LD [M] sound/usb/usx2y/snd-usb-usx2y.ko LD [M] virt/lib/irqbypass.ko [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# du -sh ./ #编译后当前目录会很大。 8.3G ./ [root@yinzhengjie linux-4.18.13]#
[root@yinzhengjie linux-4.18.13]# ll /boot/ | grep yinzhengjie
-rw-------. 1 root root 7664276 Dec 3 00:33 initramfs-4.18.13-yinzhengjie-v1.0.img
lrwxrwxrwx. 1 root root 41 Dec 3 00:33 System.map -> /boot/System.map-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root 3258256 Dec 3 00:33 System.map-4.18.13-yinzhengjie-v1.0
lrwxrwxrwx. 1 root root 38 Dec 3 00:33 vmlinuz -> /boot/vmlinuz-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root 6338368 Dec 3 00:33 vmlinuz-4.18.13-yinzhengjie-v1.0
[root@yinzhengjie linux-4.18.13]#
[root@yinzhengjie linux-4.18.13]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_node200-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (4.18.13-yinzhengjie-v1.0) root (hd0,0) kernel /vmlinuz-4.18.13-yinzhengjie-v1.0 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/lv_swap rd_NO_MD SYSFONT= latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-4.18.13-yinzhengjie-v1.0.img title CentOS 6 (2.6.32-754.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/lv_swap rd_NO_MD SYSFONT=lat arcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-754.el6.x86_64.img [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]#
6>.安装模块
[root@yinzhengjie linux-4.18.13]# ll /lib/modules/ total 8 drwxr-xr-x. 7 root root 4096 Dec 1 07:33 2.6.32-754.el6.x86_64 [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# make modules_install ...... INSTALL sound/pci/vx222/snd-vx222.ko INSTALL sound/soundcore.ko INSTALL sound/synth/emux/snd-emux-synth.ko INSTALL sound/synth/snd-util-mem.ko INSTALL sound/usb/6fire/snd-usb-6fire.ko INSTALL sound/usb/bcd2000/snd-bcd2000.ko INSTALL sound/usb/caiaq/snd-usb-caiaq.ko INSTALL sound/usb/hiface/snd-usb-hiface.ko INSTALL sound/usb/misc/snd-ua101.ko INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usbmidi-lib.ko INSTALL sound/usb/usx2y/snd-usb-us122l.ko INSTALL sound/usb/usx2y/snd-usb-usx2y.ko INSTALL virt/lib/irqbypass.ko DEPMOD 4.18.13-yinzhengjie-v1.0 [root@yinzhengjie linux-4.18.13]# [root@yinzhengjie linux-4.18.13]# ll /lib/modules/ #模块安装成功后观察一下该目录会多出来一个模块目录哟~ total 8 drwxr-xr-x. 7 root root 4096 Dec 1 07:33 2.6.32-754.el6.x86_64 drwxr-xr-x. 3 root root 4096 Dec 3 01:25 4.18.13-yinzhengjie-v1.0 [root@yinzhengjie linux-4.18.13]#
7>.安装内核相关文件
[root@yinzhengjie linux-4.18.13]# make install #如果在CentOS 7上操作到这一步出错了请忽略它,继续下面的操作。 sh ./arch/x86/boot/install.sh 4.18.13-yinzhengjie-v1.0 arch/x86/boot/bzImage System.map "/boot" ERROR: modinfo: could not find module sco ERROR: modinfo: could not find module l2cap ERROR: modinfo: could not find module ib_ucm ERROR: modinfo: could not find module ib_sa ERROR: modinfo: could not find module ib_mad ERROR: modinfo: could not find module ib_addr ERROR: modinfo: could not find module microcode ERROR: modinfo: could not find module vmware_balloon ERROR: modinfo: could not find module snd_page_alloc ERROR: modinfo: could not find module shpchp ERROR: modinfo: could not find module crc_t10dif [root@yinzhengjie linux-4.18.13]#
8>.重启操作系统并观察是否可以正常启动
[root@yinzhengjie linux-4.18.13]# reboot Broadcast message from root@yinzhengjie (/dev/pts/2) at 1:44 ... The system is going down for reboot NOW! [root@yinzhengjie linux-4.18.13]#
9>.操作系统启动成功
[root@yinzhengjie ~]# uname -r 4.18.13-yinzhengjie-v1.0 [root@yinzhengjie ~]# [root@yinzhengjie ~]# uname -m x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# locate ntfs.ko #我们发现找不到ntfs驱动,因为没有更新locate数据库 [root@yinzhengjie ~]# [root@yinzhengjie ~]# updatedb #更新数据库 [root@yinzhengjie ~]# [root@yinzhengjie ~]# locate ntfs.ko #发现这次是找到ntfs驱动啦 /lib/modules/4.18.13-yinzhengjie-v1.0/kernel/fs/ntfs/ntfs.ko /root/linux-4.18.13/fs/ntfs/.ntfs.ko.cmd /root/linux-4.18.13/fs/ntfs/ntfs.ko [root@yinzhengjie ~]#
10>.在Linux挂载window操作系统的磁盘
[root@yinzhengjie ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 931.5G 0 disk ├─sdb2 8:18 0 293G 0 part ├─sdb3 8:19 0 638.6G 0 part └─sdb1 8:17 0 16M 0 part sr0 11:0 1 3.7G 0 rom sda 8:0 0 500G 0 disk ├─sda2 8:2 0 499.5G 0 part │ ├─vg_node200-lv_swap (dm-1) 253:1 0 3.9G 0 lvm [SWAP] │ ├─vg_node200-lv_home (dm-2) 253:2 0 445.7G 0 lvm /home │ └─vg_node200-lv_root (dm-0) 253:0 0 50G 0 lvm / └─sda1 8:1 0 500M 0 part /boot [root@yinzhengjie ~]# [root@yinzhengjie ~]# lsmod | grep ntfs #默认是没有加载window的支持的NTFS文件系统的。 [root@yinzhengjie ~]# [root@yinzhengjie ~]# mkdir /windows [root@yinzhengjie ~]# [root@yinzhengjie ~]# mount /dev/sdb3 /windows/ [root@yinzhengjie ~]# [root@yinzhengjie ~]# lsmod | grep ntfs #很显然,当我们将windows的NTFS文件系统挂载成功后,就发现ntfs模块被加载啦~ ntfs 221184 1 [root@yinzhengjie ~]# [root@yinzhengjie ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg_node200-lv_root ext4 53G 15G 36G 30% / tmpfs tmpfs 2.0G 74k 2.0G 1% /dev/shm /dev/sda1 ext4 500M 79M 391M 17% /boot /dev/mapper/vg_node200-lv_home ext4 471G 74M 447G 1% /home /dev/sdb3 ntfs 686G 331G 356G 49% /windows #看这里,我们会明显发现是NTFS文件系统格式 [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll /windows/ #接下来咱们就可以访问NTFS文件系统的格式 total 36 drwx------ 1 root root 4096 Nov 20 10:38 BaiduNetdiskDownload drwx------ 1 root root 28672 Sep 4 14:01 Hlddz drwx------ 1 root root 0 Jul 24 14:39 KuGou drwx------ 1 root root 0 Sep 25 10:30 Program Files (x86) drwx------ 1 root root 0 Jul 8 12:56 $RECYCLE.BIN drwx------ 1 root root 0 Sep 4 13:08 System Volume Information drwx------ 1 root root 0 Sep 26 13:50 temp drwx------ 1 root root 4096 Sep 3 12:57 YXS drwx------ 1 root root 0 Aug 26 10:34 学习资料 drwx------ 1 root root 0 Oct 14 21:28 英雄时刻 [root@yinzhengjie ~]# [root@yinzhengjie ~]# mount | grep windows #我们发现挂载是以读写方式挂载的,虽然是可以进行读操作,但写入操作是被拒绝了,因此Linux内核对window的NTFS支持还是不够完善。 /dev/sdb3 on /windows type ntfs (rw) [root@yinzhengjie ~]# [root@yinzhengjie ~]# echo "https://www.cnblogs.com/yinzhengjie/" > /windows/blog.txt -bash: /windows/blog.txt: Permission denied [root@yinzhengjie ~]#
六.使Linux完美支持NTFS文件系统格式
1>.安装ntfs-3q
如果我们只是让Linux支持NTFS格式其实并不需要重新编译Linux。以上的演示只是为了阐述内核编译的过程。
在epel源中安装一个叫"ntfs-3g"的软件包即可,它可以完美的支持ntfs文件系统的哟~
[root@yinzhengjie ~]# yum -y install epel-release Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:6-8 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================ Installing: epel-release noarch 6-8 extras 14 k Transaction Summary ================================================================================================================================================ Install 1 Package(s) Total download size: 14 k Installed size: 22 k Downloading Packages: epel-release-6-8.noarch.rpm | 14 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : epel-release-6-8.noarch 1/1 Verifying : epel-release-6-8.noarch 1/1 Installed: epel-release.noarch 0:6-8 Complete! [root@yinzhengjie ~]#
[root@yinzhengjie ~]# yum search ntfs Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile epel/metalink | 6.7 kB 00:00 * base: mirrors.zju.edu.cn * epel: fedora.cs.nctu.edu.tw * extras: mirrors.zju.edu.cn * updates: mirrors.zju.edu.cn epel | 5.3 kB 00:00 epel/primary_db | 6.1 MB 00:01 ============================================================== N/S Matched: ntfs =============================================================== ntfs-3g.i686 : Linux NTFS userspace driver ntfs-3g.x86_64 : Linux NTFS userspace driver ntfs-3g-devel.i686 : Development files and libraries for ntfs-3g ntfs-3g-devel.x86_64 : Development files and libraries for ntfs-3g ntfsprogs.x86_64 : NTFS filesystem libraries and utilities ntfsprogs-devel.i686 : Headers and libraries for libntfs ntfsprogs-devel.x86_64 : Headers and libraries for libntfs ntfsprogs-gnomevfs.i686 : NTFS GNOME virtual filesystem module ntfsprogs-gnomevfs.x86_64 : NTFS GNOME virtual filesystem module Name and summary matches only, use "search all" for everything. [root@yinzhengjie ~]#
[root@yinzhengjie ~]# yum -y install ntfs-3g.x86_64 Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * epel: fedora.cs.nctu.edu.tw * extras: mirrors.zju.edu.cn * updates: mirrors.zju.edu.cn Resolving Dependencies --> Running transaction check ---> Package ntfs-3g.x86_64 2:2017.3.23-11.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================ Installing: ntfs-3g x86_64 2:2017.3.23-11.el6 epel 252 k Transaction Summary ================================================================================================================================================ Install 1 Package(s) Total download size: 252 k Installed size: 718 k Downloading Packages: ntfs-3g-2017.3.23-11.el6.x86_64.rpm | 252 kB 00:00 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 Importing GPG key 0x0608B895: Userid : EPEL (6) <epel@fedoraproject.org> Package: epel-release-6-8.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 2:ntfs-3g-2017.3.23-11.el6.x86_64 1/1 Verifying : 2:ntfs-3g-2017.3.23-11.el6.x86_64 1/1 Installed: ntfs-3g.x86_64 2:2017.3.23-11.el6 Complete! [root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -ql ntfs-3g /bin/lowntfs-3g /bin/ntfs-3g /bin/ntfs-3g.probe /bin/ntfsmount /lib64/libntfs-3g.so.88 /lib64/libntfs-3g.so.88.0.0 /sbin/mount.lowntfs-3g /sbin/mount.ntfs /sbin/mount.ntfs-3g /sbin/mount.ntfs-fuse /usr/bin/ntfs-3g /usr/bin/ntfsmount /usr/share/doc/ntfs-3g-2017.3.23 /usr/share/doc/ntfs-3g-2017.3.23/AUTHORS /usr/share/doc/ntfs-3g-2017.3.23/COPYING /usr/share/doc/ntfs-3g-2017.3.23/CREDITS /usr/share/doc/ntfs-3g-2017.3.23/ChangeLog /usr/share/doc/ntfs-3g-2017.3.23/NEWS /usr/share/doc/ntfs-3g-2017.3.23/README /usr/share/hal/fdi/policy/10osvendor/20-ntfs-config-write-policy.fdi /usr/share/man/man8/mount.lowntfs-3g.8.gz /usr/share/man/man8/mount.ntfs-3g.8.gz /usr/share/man/man8/ntfs-3g.8.gz /usr/share/man/man8/ntfs-3g.probe.8.gz [root@yinzhengjie ~]#
2>.使用Linux默认的内核启动
[root@yinzhengjie ~]# reboot #如下图所示,不要选择咱们编译的支持ntfs文件系统的内核,而是选择默认的内核启动操作系统。 Broadcast message from root@yinzhengjie (/dev/pts/0) at 2:12 ... The system is going down for reboot NOW! [root@yinzhengjie ~]#
3>.安装ntfs-3g包后使用默认的内核照样可以正常读写访问ntfs格式的文件系统哟~
[root@yinzhengjie ~]# uname -r 2.6.32-754.el6.x86_64 [root@yinzhengjie ~]# [root@yinzhengjie ~]# blkid /dev/mapper/vg_node200-lv_root: UUID="fb2cc473-bcf1-4e0d-9fff-71f7aa018cc6" TYPE="ext4" /dev/block/253:0: UUID="fb2cc473-bcf1-4e0d-9fff-71f7aa018cc6" TYPE="ext4" /dev/block/8:2: UUID="MS8oog-4gRp-iB4D-bpwh-G9R0-BQ2R-U2wseb" TYPE="LVM2_member" /dev/sr0: LABEL="CentOS_6.10_Final" TYPE="iso9660" /dev/sda1: UUID="6148dc57-76a2-4214-b4d5-5af9c5b40576" TYPE="ext4" /dev/sdb3: LABEL="M-eM--M-&M-dM-9M- M-hM-5M-^DM-fM-^VM-^Y" UUID="86BE2310BE22F7F7" TYPE="ntfs" /dev/mapper/vg_node200-lv_swap: UUID="a0fd4399-0a45-48ac-817a-3b6c830f63b4" TYPE="swap" /dev/mapper/vg_node200-lv_home: UUID="12c57023-efb5-4f61-8c90-c672a3a24dcc" TYPE="ext4" [root@yinzhengjie ~]# [root@yinzhengjie ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg_node200-lv_root ext4 53G 15G 36G 30% / tmpfs tmpfs 2.1G 74k 2.1G 1% /dev/shm /dev/sda1 ext4 500M 79M 395M 17% /boot /dev/mapper/vg_node200-lv_home ext4 471G 74M 447G 1% /home [root@yinzhengjie ~]# [root@yinzhengjie ~]# mount /dev/sdb3 /windows/ [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll /windows/ total 36 drwxrwxrwx 1 root root 4096 Nov 20 10:38 BaiduNetdiskDownload drwxrwxrwx 1 root root 28672 Sep 4 14:01 Hlddz drwxrwxrwx 1 root root 0 Jul 24 14:39 KuGou drwxrwxrwx 1 root root 0 Sep 25 10:30 Program Files (x86) drwxrwxrwx 1 root root 0 Jul 8 12:56 $RECYCLE.BIN drwxrwxrwx 1 root root 0 Sep 4 13:08 System Volume Information drwxrwxrwx 1 root root 0 Sep 26 13:50 temp drwxrwxrwx 1 root root 4096 Sep 3 12:57 YXS drwxrwxrwx 1 root root 0 Aug 26 10:34 学习资料 drwxrwxrwx 1 root root 0 Oct 14 21:28 英雄时刻 [root@yinzhengjie ~]# [root@yinzhengjie ~]# echo "https://www.cnblogs.com/yinzhengjie/" > /windows/blog.txt #此时,我们发现咱们的数据写入成功啦,这都是归功于ntfs-3g这个软件包~ [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll /windows/ total 37 drwxrwxrwx 1 root root 4096 Nov 20 10:38 BaiduNetdiskDownload -rwxrwxrwx 1 root root 37 Dec 3 02:17 blog.txt drwxrwxrwx 1 root root 28672 Sep 4 14:01 Hlddz drwxrwxrwx 1 root root 0 Jul 24 14:39 KuGou drwxrwxrwx 1 root root 0 Sep 25 10:30 Program Files (x86) drwxrwxrwx 1 root root 0 Jul 8 12:56 $RECYCLE.BIN drwxrwxrwx 1 root root 0 Sep 4 13:08 System Volume Information drwxrwxrwx 1 root root 0 Sep 26 13:50 temp drwxrwxrwx 1 root root 4096 Sep 3 12:57 YXS drwxrwxrwx 1 root root 0 Aug 26 10:34 学习资料 drwxrwxrwx 1 root root 0 Oct 14 21:28 英雄时刻 [root@yinzhengjie ~]# [root@yinzhengjie ~]# date Tue Dec 3 02:17:50 CST 2019 [root@yinzhengjie ~]#
七.卸载正在使用的内核(内核文件已经被加载到内存中,本地内核文件暂时也不会使用到了,因此是可以卸载的,只不过卸载后,一旦重启操作系统将在也无法使用该内核了)
1>.删除驱动文件
[root@yinzhengjie ~]# ll /lib/modules/ total 8 drwxr-xr-x. 7 root root 4096 Dec 1 07:33 2.6.32-754.el6.x86_64 drwxr-xr-x. 3 root root 4096 Dec 3 01:42 4.18.13-yinzhengjie-v1.0 [root@yinzhengjie ~]# [root@yinzhengjie ~]# uname -r 4.18.13-yinzhengjie-v1.0 [root@yinzhengjie ~]# [root@yinzhengjie ~]# rm -rf /lib/modules/4.18.13-yinzhengjie-v1.0/ [root@yinzhengjie ~]#
2>.删除内核文件
[root@yinzhengjie ~]# ll /boot/ total 73692 -rw-r--r--. 1 root root 108282 Jun 20 2018 config-2.6.32-754.el6.x86_64 drwxr-xr-x. 3 root root 1024 Dec 1 07:32 efi drwxr-xr-x. 2 root root 1024 Dec 3 01:43 grub -rw-------. 1 root root 25761655 Dec 1 07:34 initramfs-2.6.32-754.el6.x86_64.img -rw-------. 1 root root 9876372 Dec 3 01:43 initramfs-4.18.13-yinzhengjie-v1.0.img -rw-------. 1 root root 6305745 Dec 1 07:37 initrd-2.6.32-754.el6.x86_64kdump.img -rw------- 1 root root 6997938 Dec 3 01:46 initrd-4.18.13-yinzhengjie-v1.0kdump.img drwx------. 2 root root 12288 Dec 1 07:22 lost+found -rw-r--r--. 1 root root 216063 Jun 20 2018 symvers-2.6.32-754.el6.x86_64.gz lrwxrwxrwx. 1 root root 41 Dec 3 01:42 System.map -> /boot/System.map-4.18.13-yinzhengjie-v1.0 -rw-r--r--. 1 root root 2652834 Jun 20 2018 System.map-2.6.32-754.el6.x86_64 -rw-r--r--. 1 root root 3258256 Dec 3 01:42 System.map-4.18.13-yinzhengjie-v1.0 -rw-r--r--. 1 root root 3258256 Dec 3 01:41 System.map-4.18.13-yinzhengjie-v1.0.old lrwxrwxrwx. 1 root root 38 Dec 3 01:42 vmlinuz -> /boot/vmlinuz-4.18.13-yinzhengjie-v1.0 -rwxr-xr-x. 1 root root 4315504 Jun 20 2018 vmlinuz-2.6.32-754.el6.x86_64 -rw-r--r--. 1 root root 6338368 Dec 3 01:42 vmlinuz-4.18.13-yinzhengjie-v1.0 -rw-r--r--. 1 root root 6338368 Dec 3 01:41 vmlinuz-4.18.13-yinzhengjie-v1.0.old [root@yinzhengjie ~]# [root@yinzhengjie ~]# rm -f /boot/*4.18* [root@yinzhengjie ~]# [root@yinzhengjie ~]# ll /boot/ total 38464 -rw-r--r--. 1 root root 108282 Jun 20 2018 config-2.6.32-754.el6.x86_64 drwxr-xr-x. 3 root root 1024 Dec 1 07:32 efi drwxr-xr-x. 2 root root 1024 Dec 3 01:43 grub -rw-------. 1 root root 25761655 Dec 1 07:34 initramfs-2.6.32-754.el6.x86_64.img -rw-------. 1 root root 6305745 Dec 1 07:37 initrd-2.6.32-754.el6.x86_64kdump.img drwx------. 2 root root 12288 Dec 1 07:22 lost+found -rw-r--r--. 1 root root 216063 Jun 20 2018 symvers-2.6.32-754.el6.x86_64.gz lrwxrwxrwx. 1 root root 41 Dec 3 01:42 System.map -> /boot/System.map-4.18.13-yinzhengjie-v1.0 -rw-r--r--. 1 root root 2652834 Jun 20 2018 System.map-2.6.32-754.el6.x86_64 lrwxrwxrwx. 1 root root 38 Dec 3 01:42 vmlinuz -> /boot/vmlinuz-4.18.13-yinzhengjie-v1.0 -rwxr-xr-x. 1 root root 4315504 Jun 20 2018 vmlinuz-2.6.32-754.el6.x86_64 [root@yinzhengjie ~]#
3>.修改内核的配置文件
[root@yinzhengjie ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_node200-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (4.18.13-yinzhengjie-v1.0) root (hd0,0) kernel /vmlinuz-4.18.13-yinzhengjie-v1.0 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node2 00/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-4.18.13-yinzhengjie-v1.0.img title CentOS 6 (2.6.32-754.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/ lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-754.el6.x86_64.img [root@yinzhengjie ~]# [root@yinzhengjie ~]# vim /boot/grub/grub.conf [root@yinzhengjie ~]# [root@yinzhengjie ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_node200-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS 6 (2.6.32-754.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/ lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-754.el6.x86_64.img [root@yinzhengjie ~]# [root@yinzhengjie ~]#
4>.重启操作系统观察内核已经被成功删除啦
[root@yinzhengjie ~]# reboot Broadcast message from root@yinzhengjie (/dev/pts/0) at 0:29 ... The system is going down for reboot NOW! [root@yinzhengjie ~]#