linux内核启动时添加打印日志并验证的方法

一、相关信息

内核版本:

5.0.1

方法名:pr_info();

添加位置:

linux-5.0.1/init# vim main.c

537 asmlinkage __visible void __init start_kernel(void)
 538 {
 539         pr_info("start_kernel\n");

 

linux-5.0.1/arch/x86# vim kernel/cpu/common.c

1135 void __init early_cpu_init(void)
1136 {
1137         pr_info("early_cpu_init:\n");

 

二、运行效果图:

 

三、验证过程

1、用U盘做一个grub linux的起动盘,网上有不少的操作指导,我用vmware装了一个ubuntu的操作系统,自带的有个grub,我用这个grub在U盘安装了引导扇区,然后直接把ubuntu的/boot目录拷贝到U盘了(这样就不存在版本不兼容问题),注意需要修改下UUID这个(U盘对应的),用命令行可以查到。开始我是按照网上说的把U盘分成两个区,死活不行,最后用一个区搞定的,不过操作步骤找不到了)(一个插曲,差点把U盘搞坏了,读不出来U盘,用U盘对应的修改复工具才修复,修复一次得三个小时,差点要了小命),制作grub起动U盘大概命令如下:
a.好像是先需要挂载下U盘到一个新创建的目录,然后执行如下 操作

b.root@localhost ~]# grub-install --root-directory=/media/disk --no-floppy /dev/sdb2
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.

(代码实际上是5.0.1),这是拷贝我装的ubuntu的内核的一些参数,配套把grub.cfg配置文件改下,下边是完整目录下的文件信息,U盘boot目录压缩包下载地址:https://download.csdn.net/download/r77683962/11743101

H:\boot
H:\1.txt
H:\boot\grub
H:\boot\memtest86+.bin
H:\boot\memtest86+.elf
H:\boot\memtest86+_multiboot.bin
H:\boot\config-5.0.0-13-generic
H:\boot\System.map-5.0.0-13-generic
H:\boot\initrd.img-5.0.0-13-generic
H:\boot\vmlinuz-5.0.0-13-generic

H:\boot\grub\i386-pc
H:\boot\grub\locale
H:\boot\grub\fonts
H:\boot\grub\grub.cfg
H:\boot\grub\grubenv
H:\boot\grub\gfxblacklist.txt
H:\boot\grub\unicode.pf2
H:\boot\grub\i386-pc\gfxmenu.mod
H:\boot\grub\i386-pc\xzio.mod
H:\boot\grub\i386-pc\trig.mod
H:\boot\grub\i386-pc\scsi.mod
H:\boot\grub\i386-pc\test_blockarg.mod
H:\boot\grub\i386-pc\odc.mod
H:\boot\grub\i386-pc\hexdump.mod
H:\boot\grub\i386-pc\gcry_md4.mod
H:\boot\grub\i386-pc\gcry_crc.mod
H:\boot\grub\i386-pc\dm_nv.mod
H:\boot\grub\i386-pc\png.mod
H:\boot\grub\i386-pc\gcry_blowfish.mod
H:\boot\grub\i386-pc\part_msdos.mod
H:\boot\grub\i386-pc\gcry_rmd160.mod
H:\boot\grub\i386-pc\usb.mod
H:\boot\grub\i386-pc\cat.mod
H:\boot\grub\i386-pc\ntldr.mod
H:\boot\grub\i386-pc\file.mod
H:\boot\grub\i386-pc\gcry_twofish.mod
H:\boot\grub\i386-pc\sleep.mod
H:\boot\grub\i386-pc\all_video.mod
H:\boot\grub\i386-pc\videotest_checksum.mod
H:\boot\grub\i386-pc\test.mod
H:\boot\grub\i386-pc\gcry_dsa.mod
H:\boot\grub\i386-pc\part_sunpc.mod
H:\boot\grub\i386-pc\drivemap.mod
H:\boot\grub\i386-pc\signature_test.mod
H:\boot\grub\i386-pc\acpi.mod
H:\boot\grub\i386-pc\macho.mod
H:\boot\grub\i386-pc\video_bochs.mod
H:\boot\grub\i386-pc\date.mod
H:\boot\grub\i386-pc\read.mod
H:\boot\grub\i386-pc\morse.mod
H:\boot\grub\i386-pc\bswap_test.mod
H:\boot\grub\i386-pc\part_amiga.mod
H:\boot\grub\i386-pc\echo.mod
H:\boot\grub\i386-pc\pxechain.mod
H:\boot\grub\i386-pc\plan9.mod
H:\boot\grub\i386-pc\halt.mod
H:\boot\grub\i386-pc\gcry_rijndael.mod
H:\boot\grub\i386-pc\part_plan.mod
H:\boot\grub\i386-pc\freedos.mod
H:\boot\grub\i386-pc\cmosdump.mod
H:\boot\grub\i386-pc\serial.mod
H:\boot\grub\i386-pc\pcidump.mod
H:\boot\grub\i386-pc\backtrace.mod
H:\boot\grub\i386-pc\multiboot.mod
H:\boot\grub\i386-pc\cryptodisk.mod
H:\boot\grub\i386-pc\ohci.mod
H:\boot\grub\i386-pc\cmostest.mod
H:\boot\grub\i386-pc\cmp_test.mod
H:\boot\grub\i386-pc\gfxterm_menu.mod
H:\boot\grub\i386-pc\usbserial_ftdi.mod
H:\boot\grub\i386-pc\tr.mod
H:\boot\grub\i386-pc\multiboot2.mod
H:\boot\grub\i386-pc\video_colors.mod
H:\boot\grub\i386-pc\archelp.mod
H:\boot\grub\i386-pc\msdospart.mod
H:\boot\grub\i386-pc\eval.mod
H:\boot\grub\i386-pc\xnu_uuid.mod
H:\boot\grub\i386-pc\spkmodem.mod
H:\boot\grub\i386-pc\gcry_rsa.mod
H:\boot\grub\i386-pc\lsacpi.mod
H:\boot\grub\i386-pc\procfs.mod
H:\boot\grub\i386-pc\bsd.mod
H:\boot\grub\i386-pc\loopback.mod
H:\boot\grub\i386-pc\usbserial_pl2303.mod
H:\boot\grub\i386-pc\boot.mod
H:\boot\grub\i386-pc\part_sun.mod
H:\boot\grub\i386-pc\net.mod
H:\boot\grub\i386-pc\minix3.mod
H:\boot\grub\i386-pc\sleep_test.mod
H:\boot\grub\i386-pc\search_fs_uuid.mod
H:\boot\grub\i386-pc\syslinuxcfg.mod
H:\boot\grub\i386-pc\xnu_uuid_test.mod
H:\boot\grub\i386-pc\video_cirrus.mod
H:\boot\grub\i386-pc\memrw.mod
H:\boot\grub\i386-pc\ehci.mod
H:\boot\grub\i386-pc\usb_keyboard.mod
H:\boot\grub\i386-pc\hdparm.mod
H:\boot\grub\i386-pc\gcry_sha256.mod
H:\boot\grub\i386-pc\elf.mod
H:\boot\grub\i386-pc\915resolution.mod
H:\boot\grub\i386-pc\efiemu.mod
H:\boot\grub\i386-pc\pbkdf2_test.mod
H:\boot\grub\i386-pc\raid6rec.mod
H:\boot\grub\i386-pc\functional_test.mod
H:\boot\grub\i386-pc\ctz_test.mod
H:\boot\grub\i386-pc\video.mod
H:\boot\grub\i386-pc\minix2_be.mod
H:\boot\grub\i386-pc\exfat.mod
H:\boot\grub\i386-pc\cpio_be.mod
H:\boot\grub\i386-pc\lzopio.mod
H:\boot\grub\i386-pc\btrfs.mod
H:\boot\grub\i386-pc\affs.mod
H:\boot\grub\i386-pc\cmp.mod
H:\boot\grub\i386-pc\minix3_be.mod
H:\boot\grub\i386-pc\cmdline_cat_test.mod
H:\boot\grub\i386-pc\lspci.mod
H:\boot\grub\i386-pc\setjmp.mod
H:\boot\grub\i386-pc\gptsync.mod
H:\boot\grub\i386-pc\usbserial_common.mod
H:\boot\grub\i386-pc\minix.mod
H:\boot\grub\i386-pc\help.mod
H:\boot\grub\i386-pc\xfs.mod
H:\boot\grub\i386-pc\part_acorn.mod
H:\boot\grub\i386-pc\adler32.mod
H:\boot\grub\i386-pc\gcry_tiger.mod
H:\boot\grub\i386-pc\squash4.mod
H:\boot\grub\i386-pc\lvm.mod
H:\boot\grub\i386-pc\hfspluscomp.mod
H:\boot\grub\i386-pc\search_fs_file.mod
H:\boot\grub\i386-pc\mda_text.mod
H:\boot\grub\i386-pc\minix2.mod
H:\boot\grub\i386-pc\sfs.mod
H:\boot\grub\i386-pc\gzio.mod
H:\boot\grub\i386-pc\usbserial_usbdebug.mod
H:\boot\grub\i386-pc\bufio.mod
H:\boot\grub\i386-pc\ata.mod
H:\boot\grub\i386-pc\search_label.mod
H:\boot\grub\i386-pc\verify.mod
H:\boot\grub\i386-pc\hashsum.mod
H:\boot\grub\i386-pc\loadenv.mod
H:\boot\grub\i386-pc\keystatus.mod
H:\boot\grub\i386-pc\usbtest.mod
H:\boot\grub\i386-pc\gcry_sha512.mod
H:\boot\grub\i386-pc\ext2.mod
H:\boot\grub\i386-pc\part_bsd.mod
H:\boot\grub\i386-pc\part_dvh.mod
H:\boot\grub\i386-pc\datetime.mod
H:\boot\grub\i386-pc\pxe.mod
H:\boot\grub\i386-pc\hfs.mod
H:\boot\grub\i386-pc\hfsplus.mod
H:\boot\grub\i386-pc\cbfs.mod
H:\boot\grub\i386-pc\gcry_cast5.mod
H:\boot\grub\i386-pc\true.mod
H:\boot\grub\i386-pc\lsapm.mod
H:\boot\grub\i386-pc\part_dfly.mod
H:\boot\grub\i386-pc\gcry_camellia.mod
H:\boot\grub\i386-pc\lsmmap.mod
H:\boot\grub\i386-pc\datehook.mod
H:\boot\grub\i386-pc\gcry_des.mod
H:\boot\grub\i386-pc\blocklist.mod
H:\boot\grub\i386-pc\ufs1_be.mod
H:\boot\grub\i386-pc\progress.mod
H:\boot\grub\i386-pc\romfs.mod
H:\boot\grub\i386-pc\gfxterm_background.mod
H:\boot\grub\i386-pc\newc.mod
H:\boot\grub\i386-pc\mmap.mod
H:\boot\grub\i386-pc\cs5536.mod
H:\boot\grub\i386-pc\gcry_md5.mod
H:\boot\grub\i386-pc\zfsinfo.mod
H:\boot\grub\i386-pc\uhci.mod
H:\boot\grub\i386-pc\fat.mod
H:\boot\grub\i386-pc\gfxterm.mod
H:\boot\grub\i386-pc\normal.mod
H:\boot\grub\i386-pc\ntfs.mod
H:\boot\grub\i386-pc\setpci.mod
H:\boot\grub\i386-pc\gcry_idea.mod
H:\boot\grub\i386-pc\hello.mod
H:\boot\grub\i386-pc\cbls.mod
H:\boot\grub\i386-pc\truecrypt.mod
H:\boot\grub\i386-pc\tftp.mod
H:\boot\grub\i386-pc\gcry_rfc2268.mod
H:\boot\grub\i386-pc\videotest.mod
H:\boot\grub\i386-pc\mpi.mod
H:\boot\grub\i386-pc\gcry_whirlpool.mod
H:\boot\grub\i386-pc\cbtime.mod
H:\boot\grub\i386-pc\mdraid09_be.mod
H:\boot\grub\i386-pc\ldm.mod
H:\boot\grub\i386-pc\random.mod
H:\boot\grub\i386-pc\testload.mod
H:\boot\grub\i386-pc\iso9660.mod
H:\boot\grub\i386-pc\hwmatch.mod
H:\boot\grub\i386-pc\reboot.mod
H:\boot\grub\i386-pc\extcmd.mod
H:\boot\grub\i386-pc\keylayouts.mod
H:\boot\grub\i386-pc\gettext.mod
H:\boot\grub\i386-pc\tar.mod
H:\boot\grub\i386-pc\password_pbkdf2.mod
H:\boot\grub\i386-pc\gdb.mod
H:\boot\grub\i386-pc\bfs.mod
H:\boot\grub\i386-pc\ntfscomp.mod
H:\boot\grub\i386-pc\ufs2.mod
H:\boot\grub\i386-pc\gcry_sha1.mod
H:\boot\grub\i386-pc\vga.mod
H:\boot\grub\i386-pc\mdraid09.mod
H:\boot\grub\i386-pc\terminal.mod
H:\boot\grub\i386-pc\part_gpt.mod
H:\boot\grub\i386-pc\videoinfo.mod
H:\boot\grub\i386-pc\http.mod
H:\boot\grub\i386-pc\play.mod
H:\boot\grub\i386-pc\jfs.mod
H:\boot\grub\i386-pc\font.mod
H:\boot\grub\i386-pc\linux16.mod
H:\boot\grub\i386-pc\cpuid.mod
H:\boot\grub\i386-pc\parttool.mod
H:\boot\grub\i386-pc\mul_test.mod
H:\boot\grub\i386-pc\usbms.mod
H:\boot\grub\i386-pc\luks.mod
H:\boot\grub\i386-pc\cbmemc.mod
H:\boot\grub\i386-pc\biosdisk.mod
H:\boot\grub\i386-pc\gcry_seed.mod
H:\boot\grub\i386-pc\legacy_password_test.mod
H:\boot\grub\i386-pc\udf.mod
H:\boot\grub\i386-pc\regexp.mod
H:\boot\grub\i386-pc\offsetio.mod
H:\boot\grub\i386-pc\div_test.mod
H:\boot\grub\i386-pc\part_apple.mod
H:\boot\grub\i386-pc\zfs.mod
H:\boot\grub\i386-pc\nativedisk.mod
H:\boot\grub\i386-pc\ahci.mod
H:\boot\grub\i386-pc\tga.mod
H:\boot\grub\i386-pc\aout.mod
H:\boot\grub\i386-pc\pata.mod
H:\boot\grub\i386-pc\gcry_serpent.mod
H:\boot\grub\i386-pc\reiserfs.mod
H:\boot\grub\i386-pc\pci.mod
H:\boot\grub\i386-pc\chain.mod
H:\boot\grub\i386-pc\vbe.mod
H:\boot\grub\i386-pc\pbkdf2.mod
H:\boot\grub\i386-pc\configfile.mod
H:\boot\grub\i386-pc\ufs1.mod
H:\boot\grub\i386-pc\exfctest.mod
H:\boot\grub\i386-pc\afs.mod
H:\boot\grub\i386-pc\vga_text.mod
H:\boot\grub\i386-pc\macbless.mod
H:\boot\grub\i386-pc\nilfs2.mod
H:\boot\grub\i386-pc\xnu.mod
H:\boot\grub\i386-pc\disk.mod
H:\boot\grub\i386-pc\bitmap.mod
H:\boot\grub\i386-pc\linux.mod
H:\boot\grub\i386-pc\diskfilter.mod
H:\boot\grub\i386-pc\minix_be.mod
H:\boot\grub\i386-pc\iorw.mod
H:\boot\grub\i386-pc\minicmd.mod
H:\boot\grub\i386-pc\fshelp.mod
H:\boot\grub\i386-pc\search.mod
H:\boot\grub\i386-pc\shift_test.mod
H:\boot\grub\i386-pc\cbtable.mod
H:\boot\grub\i386-pc\geli.mod
H:\boot\grub\i386-pc\probe.mod
H:\boot\grub\i386-pc\zfscrypt.mod
H:\boot\grub\i386-pc\legacycfg.mod
H:\boot\grub\i386-pc\video_fb.mod
H:\boot\grub\i386-pc\sendkey.mod
H:\boot\grub\i386-pc\ls.mod
H:\boot\grub\i386-pc\gcry_arcfour.mod
H:\boot\grub\i386-pc\password.mod
H:\boot\grub\i386-pc\at_keyboard.mod
H:\boot\grub\i386-pc\cpio.mod
H:\boot\grub\i386-pc\memdisk.mod
H:\boot\grub\i386-pc\mdraid1x.mod
H:\boot\grub\i386-pc\bitmap_scale.mod
H:\boot\grub\i386-pc\priority_queue.mod
H:\boot\grub\i386-pc\terminfo.mod
H:\boot\grub\i386-pc\div.mod
H:\boot\grub\i386-pc\crc64.mod
H:\boot\grub\i386-pc\crypto.mod
H:\boot\grub\i386-pc\setjmp_test.mod
H:\boot\grub\i386-pc\testspeed.mod
H:\boot\grub\i386-pc\raid5rec.mod
H:\boot\grub\i386-pc\jpeg.mod
H:\boot\grub\i386-pc\relocator.mod
H:\boot\grub\i386-pc\time.mod
H:\boot\grub\i386-pc\efiemu32.o
H:\boot\grub\i386-pc\efiemu64.o
H:\boot\grub\i386-pc\moddep.lst
H:\boot\grub\i386-pc\command.lst
H:\boot\grub\i386-pc\fs.lst
H:\boot\grub\i386-pc\partmap.lst
H:\boot\grub\i386-pc\parttool.lst
H:\boot\grub\i386-pc\video.lst
H:\boot\grub\i386-pc\crypto.lst
H:\boot\grub\i386-pc\terminal.lst
H:\boot\grub\i386-pc\modinfo.sh
H:\boot\grub\i386-pc\core.img
H:\boot\grub\i386-pc\boot.img
H:\boot\grub\locale\en_GB.mo
H:\boot\grub\locale\en_AU.mo
H:\boot\grub\locale\en_CA.mo
H:\boot\grub\locale\en@quot.mo
H:\boot\grub\fonts\unicode.pf2
H:\System Volume Information\IndexerVolumeGuid

 

不过我这边这个initrd.img这个包好像有点问题,就是特别大420+M,因为正常的操作系统带的initrd.img才四、五十M,不过功能倒是没啥问题,注意需要拷贝initrd.img-xxx和vmlinuz-xxx:

内核是如何编译的?下边这篇帖子有详细的操作步骤(如果是性能比较好的服务器,估计半个小时,如果硬件配置差一点的话,估计2个小时也能编译完成,这个博客里边示例是4.16.2的编译,其实基本都差不多的)

https://blog.csdn.net/r77683962/article/details/100046243

注意,我们如果需要进行多次编译,有一个比较简单的方法:

a.用vmware虚拟机在编译完成后新建一个快照,这样后续不需要重新编译,回到上次保存的快照继续编译很是方便:

b.linux内核编译完成后/usr/src/linux-5.0.1这个目录大小在20G的样子,需要编译的同学请注意磁盘空间的预留

c.修改代码需要注意,尽量别修改太底层的源代码(比如打印类的文件),修改底层代码会导致大面积重新编译很耗时间的;

d.linux内核支持增量编译,比如我做如下修改后编译:

linux-5.0.1/arch/x86# vim kernel/cpu/common.c

1135 void __init early_cpu_init(void)
1136 {
1137         pr_info("early_cpu_init:\n");

只需执行,如下三个步骤后,在boot目录就会生成initrd.img-xxx和vmlinuz

root@pekphicprcxxxxx:/usr/src/linux-5.0.1# make -j16
root@pekphicprcxxxxx:/usr/src/linux-5.0.1# make -j4  modules_install
root@pekphicprcxxxxx:/usr/src/linux-5.0.1# make -j4 install

然后把新生成的这两个文件拷贝到U盘的boot目录(如果名称跟grub的配置文件不对,需要修改正确)。

这时带我们修改代码编译后的内核启动U盘已经做好了,剩下的就是在电脑上启动验证:

这边我其实是碰到一个问题:

我06年的时候买了一个笔记本是康柏的,下边是用这个电脑拍的视频,还比较清晰;

(链接: https://pan.baidu.com/s/1TmfLQjwUb6f_NXmOstzioA 提取码: 2pc5 )

我用17年买的笔记本拍视频,发现拍不到内核起动,画面太快了,用手机也没有拍成功

(链接: https://pan.baidu.com/s/1tHXfd9I2-VSeebF7ir08YQ 提取码: a6zi )

首先需要配置U盘起动为最高优先级

有一个问题,就是内核起动像我们修改的 kernel/cpu/common.c和init/main.c文件里边添加的两行打印日志信息,这部分内核在起动的时估计在0.00几秒就执行完成了,我们肉眼直接看是不太现实的,因为画面是一闪而过的,那乍办?我是直接用手机录像的,最基本要求60帧/秒(对手机的性能是有点要求的):

把录出来的像先大概看下,看看大概啥时候到起动画面,然后再一帧一帧(注意,一般的播放器不太支持单帧播放,在网上搜索了一个播放器:叫影音风暴,注意安装后,图标是下图这个样子的,别搜错了)

在单帧播放的时候就能看到内核起动的详细信息了。

祝各位亲验证OK,另外,有问题可以给我留言~~

 

四、视频下载地址

 

链接: https://pan.baidu.com/s/1TmfLQjwUb6f_NXmOstzioA 提取码: 2pc5 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容简介回到顶部↑ 本书同时收录了Linux领域两位领导人物的作品—相当于“Linux 文档项目”的一个印刷版本,展示了Linux 核心概念及其基本结构。对于面向所有主流Linux子系统的支持与管理任务,本书都进行了恰到好处的讲解。涵盖的主题包括文件系统、目录、引导和关机、打印、网络兼容性、网络应用、网络登录、安全、用户账号、数据备份等等。此外,还针对TCP/IP网络、电子邮件、硬件问题以及网络的管理与配置,进行了专门讨论。 目录回到顶部↑ 目 录 序 前言 第一部分 Linux网络管理员指南 第1章 网络基础 3 1.1 UUCP网络 3 1.2 TCP/IP网络 5 1.2.1 TCP/IP网络入门 5 1.2.2 以太网 6 1.2.3 其他类型的硬件 7 1.2.4 网际协议 8 1.2.5 串行线路网际协议 9 1.2.6 传输控制协议 9 1.2.7 用户数据报协议 10 1.2.8 端口问题 10 1.2.9 套接字库 10 1.3 连网 11 1.4 系统维护 11 1.5 后续章节提要 13 第2章 TCP/IP网络 14 .2.1 网络接口 14 2.2 IP地址 14 2.3 地址解析 15 2.4 IP路由 16 2.4.1 IP网络 16 2.4.2 子网 16 2.4.3 网关 16 2.5 路由表 17 2.6 Internet控制消息协议 18 2.7 域名系统 19 2.7.1 主机名解析 19 2.7.2 输入DNS 20 2.7.3 利用DNS进行名字查找 21 2.7.4 域名服务器 22 2.7.5 DNS数据库 22 2.7.6 逆向查找 23 第3章 网络硬件的配置 26 3.1 内核配置 27 3.1.1 内核选项1.0及以上版本 27 3.1.2 内核选项1.1.14及以上版本 27 3.2 网络设备指南 28 3.3 以太网安装 29 3.3.1 以太网接缆 29 3.3.2 已获支持的网卡 29 3.3.3 以太网自动侦测 30 3.4 PLIP驱动程序 31 3.5 SLIP和PPP驱动程序 31 第4章 串行硬件的设置 32 4.1 Modem通信软件 32 4.2 串行设备概述 32 4.3 访问串行设备 33 4.4 串行硬件 34 第5章 TCP/IP网络配置 36 5.1 proc文件系统的设置 36 5.2 二进制文件的安装 37 5.3 另一个例子 37 5.4 设置主机名 37 5.5 分配IP地址 37 5.6 编写主机和网络文件 39 5.7 IP接口配置 40 5.7.1 回送接口 40 5.7.2 以太网接口 41 5.7.3 通过网关的路由 43 5.7.4 网关的配置 43 5.7.5 PLIP接口 44 5.7.6 SLIP和PPP接口 45 5.7.7 伪接口 45 5.8 ifconfig详解 45 5.9 netstat详解 46 5.9.1 显示路由表 47 5.9.2 显示接口特性 47 5.9.3 显示链接 48 5.10 检查ARP表格 48 5.11 未来展望 50 5.12 名字服务和解析器配置 50 5.13 解析器库 50 5.13.1 host.conf文件 51 5.13.2 解析器环境变量 51 5.13.3 域名服务器查找 ——resolv.conf的配置 52 5.13.4 解析器的健壮性 53 5.14 named的运行 53 5.14.1 named.boot文件 53 5.14.2 DNS数据库文件 55 5.14.3 编写Master文件 57 5.14.4 验证域名服务器的设置 59 5.14.5 其他工具 61 第6章 串行链路网际协议 62 6.1 常规需求 62 6.2 SLIP的工作原理 62 6.3 dip的使用 63 6.4 运行于服务器模式 68 第7章 点到点协议 69 7.1 PPP打开 69 7.2 运行pppd 70 7.3 使用选项文件 71 7.4 用chat拨出 71 7.5 PPP设置的调试 73 7.6 IP配置选项 73 7.6.1 IP地址的选择 73 7.6.2 通过PPP链路的路由 74 7.7 链路控制选项 75 7.8 常规安全问题 76 7.9 PPP身份验证 76 7.9.1 CHAP和PAP 76 7.9.2 CHAP密钥文件 77 7.9.3 PAP密钥文件 78 7.10 PPP服务器的配置 79 第8章 各种网络应用 80 8.1 inetd超级服务器 80 8.2 tcpd访问控制工具 81 8.3 服务和协议文件 83 8.4 远程过程调用 84 8.5 r命令的配置 86 第9章 网络信息系统 88 9.1 NIS概述 89 9.2 NIS与NIS+之比较 90 9.3 NIS的客户端 90 9.4 NIS服务器的运行 91 9.5 用NYS设置一个NIS客户机 91 9.6 挑选合适的映射 93 9.7 使用passwd和group映射 94 9.8 NIS与影子支持 95 9.9 使用传统的NIS代码 96 第10章 网络文件系统 97 10.1 NFS的准备工作 98 10.2 NFS卷的安装 98 10.3 NFS Daemon 100 10.4 导出文件 100 10.5 自动安装器 102 第11章 泰勒式UUCP 103 11.1 关于UUCP 103 11.1.1 UUCP传输和远程作业的执行 104 11.1.2 UUCICO的内部运行 104 11.1.3 UUCICO命令行选项 105 11.2 UUCP配置文件 105 11.2.1 泰勒式UUCP简介 105 11.2.2 UUCP需要知道些什么 107 11.2.3 站点的命名 107 11.3 泰勒式配置文件 108 11.3.1 常规配置选项:config文件 108 11.3.2 如何将其他的系统 告知UUCP:sys文件 108 11.3.3 设备:端口文件 110 11.3.4 如何拨号:拨号文件 111 11.3.5 TCP上的UUCP 112 11.3.6 直接连接的使用 112 11.4 UUCP的注意事项:调节权限 112 11.4.1 命令执行 112 11.4.2 文件传输 112 11.4.3 文件转发 113 11.5 如何设置拨入 113 11.5.1 设置getty 113 11.5.2 提供UUCP账号 114 11.5.3 预防措施 115 11.5.4 呼叫序列号检查 115 11.5.5 匿名UUCP 116 11.6 UUCP低级协议 116 11.6.1 协议概述 116 11.6.2 传输协议的调节 117 11.6.3 如何选定特殊协议 117 11.7 故障排除 117 11.8 日志文件 118 第12章 电子邮件 120 12.1 何谓邮件消息 121 12.2 邮件如何发送 122 12.3 邮件地址 123 12.4 邮件路由的工作原理 124 12.4.1 因特网上的邮件路由 124 12.4.2 UUCP网络内的邮件路由 124 12.4.3 UUCP和RFC-822 125 12.5 路径别名和映射文件格式 126 12.6 elm的配置 128 12.6.1 全局elm选项 128 12.6.2 国家特有字符集 129 第13章 smail的设置和运行 130 13.1 UUCP的设置 130 13.2 在局域网环境中的设置 132 13.2.1 编写配置文件 132 13.2.2 运行smail 133 13.3 故障排除 134 13.4 邮件投递模式 135 13.5 其他配置选项 136 13.6 消息路由和投递 136 13.7 消息的路由 137 13.8 将消息投递至本地地址 139 13.8.1 本地用户 139 13.8.2 转发 140 13.8.3 别名文件 140 13.8.4 邮件列表 141 13.9 以UUCP为基础的传输 141 13.10 以SMTP为基础的传输 141 13.11 主机名的限制 142 第14章 Sendmail+IDA指南 143 14.1 配置文件综述 143 14.2 sendmail.cf文件 144 14.3 Sendmail+IDA表格指南 146 14.3.1 mailertable 146 14.3.2 uucpxtable 146 14.3.3 pathtable 147 14.3.4 domaintable 147 14.3.5 别名 147 14.4 sendmail的安装 147 14.4.1 sendmail.cf文件的建立 148 14.4.2 sendmail.cf文件的测试 148 14.4.3 对sendmail.cf和表格 进行综合测试 148 14.5 邮件的操作技巧 148 14.5.1 向中转主机转发邮件 149 14.5.2 强制邮件进入配置不当的 远程站点 149 14.5.3 强制邮件通过UUCP进行传输 149 14.5.4 防止邮件通过UUCP进行传输 149 14.5.5 按需运行sendmail队列 149 14.5.6 报告邮件特征 150 14.6 二进制附件的合成和匹配 150 14.7 获取更多的信息 150 第15章 网络新闻 151 15.1 何谓Usenet 151 15.2 Usenet如何对新闻加以控制 152 第16章 C-News 154 16.1 新闻投递 154 16.2 安装 155 16.3 sys文件 156 16.4 active文件 158 16.5 新闻组文章的批处理 159 16.6 对新闻进行过期处理 161 16.7 其他文件 163 16.8 控制消息 164 16.8.1 cancel消息 164 16.8.2 newgroup和rmgroup消息 165 16.8.3 checkgroups消息 165 16.8.4 sendsys、version和senduuname 166 16.9 NFS环境中的C-News 166 16.10 维护工具及任务 167 第17章 NNTP简介 168 17.1 NNTP服务器的安装 169 17.2 限制NNTP访问权限 169 17.3 NNTP身份验证 170 17.4 nntpd与C-News的沟通 171 第18章 新闻阅读机的配置 172 18.1 tin配置 172 18.2 trn配置 173 18.3 nn配置 174 第19章 其他问题 176 19.1 PLIP的空打印机电缆 176 19.2 示范smail配置文件 176 第二部分 Linux系统管理员指南 作者简介 本书简介 前言 第1章 Linux系统综述 189 1.1 操作系统的各个组件 189 1.2 内核的重要组件 189 1.3 Unix系统提供的主要服务 190 1.3.1 init 190 1.3.2 从终端登录 191 1.3.3 syslog 191 1.3.4 周期性执行的命令:cron和at 191 1.3.5 图形化用户接口 191 1.3.6 连网 191 1.3.7 网络登录 192 1.3.8 网络文件系统 192 1.3.9 邮件 192 1.3.10 打印 192 1.3.11 文件系统布局 193 第2章 目录树简介 194 2.1 背景知识 194 2.2 root文件系统 195 2.3 /etc文件系统 196 2.4 /dev文件系统 198 2.5 /usr文件系统 198 2.6 /var文件系统 198 2.7 /proc文件系统 199 第3章 磁盘和其他存储媒体的使用 201 3.1 两类设备 201 3.2 硬盘 202 3.3 软盘 204 3.4 CD-ROM 204 3.5 磁带 205 3.6 格式化 206 3.7 分区 207 3.7.1 主引导记录、引导扇区和分区表 207 3.7.2 扩展和逻辑分区 208 3.7.3 分区类型 209 3.7.4 对硬盘进行分区 209 3.7.5 设备文件和分区 210 3.8 文件系统 210 3.8.1 何谓文件系统 210 3.8.2 文件系统综述 211 3.8.3 如何选用文件系统 212 3.8.4 如何建立文件系统 212 3.8.5 装入和卸装 214 3.8.6 利用fsck检查文件系统的完整性 216 3.8.7 利用badblocks检查磁盘错误 217 3.8.8 抵制碎片 217 3.8.9 适用于所有文件系统的其他工具 217 3.8.10 适用于ext2文件系统的其他工具 218 3.9 无文件系统的磁盘 219 3.10 磁盘空间的分配 219 3.10.1 分区方案 219 3.10.2 空间要求 220 3.10.3 硬盘分区示例 220 3.10.4 为Linux增添更多磁盘空间 221 3.10.5 关于节省磁盘空间的几个提示 221 第4章 内存管理 222 4.1 何谓虚拟内存 222 4.2 创建交换空间 222 4.3 交换空间的使用 223 4.4 与其他操作系统共享交换空间 224 4.5 交换空间的分配 224 4.6 缓冲区 225 第5章 引导和关机 227 5.1 概论 227 5.2 深入研究引导过程 227 5.3 关机详情 229 5.4 重新启动 230 5.5 单用户模式 230 5.6 应急盘 231 第6章 init 232 6.1 init的重要作用 232 6.2 通过init启动getty:/etc/inittab文件 232 6.3 运行级别 233 6.4 /etc/inittab中的特殊配置 234 6.5 在单用户模式下引导 234 第7章 登录和注销 236 7.1 通过终端登录 236 7.2 通过网络登录 237 7.3 登录的意义 237 7.4 访问控制 238 7.5 外壳的启动 238 第8章 用户账号的管理 239 8.1 何谓账号 239 8.2 创建用户 239 8.2.1 /etc/passwd和其他的信息性文件 239 8.2.2 如何选择数字式用户和组ID 240 8.2.3 初始化环境:/etc/skel 240 8.2.4 手工创建一个用户 240 8.3 更改用户属性 241 8.4 删除用户 241 8.5 临时禁用用户 242 第9章 备份 243 9.1 备份的重要性 243 9.2 选择备份媒体 243 9.3 选择备份工具 244 9.4 简单备份 244 9.4.1 如何利用tar进行备份 245 9.4.2 如何利用tar恢复文件 246 9.5 多级备份 247 9.6 要备份什么 248 9.7 压缩备份 248 第10章 时间同步 250 10.1 时区概论 250 10.2 硬件及软件时钟 250 10.3 时间的显示与设置 251 10.4 时间有误怎么办 252 第三部分 附 录 附录A 词汇表 255 附录B Linux 文档项目复制许可证 256 附录C GNU通用公共许可证 257

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值