热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux核心编译与管理(摘自鸟哥私房菜)二

Linux核心编译与管理(摘自鸟哥私房菜)二--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
3. 设定核心的编译设定 (Makefile)

  3.1 如何编辑核心的 Makefile

  3.2 核心的内容与模块设定:

    a. CPU 的类型选择: 双 CPU 的选择项目, 高内存支持

    b. 电源管理: CPU 自动降频功能选项

    c. PCI 总线与 PCI Express 支持:

    d. 核心的网络功能: IPv4, IPv6, 防火墙功能, 特殊网络功能

    e. 硬件驱动程序: 主机 IDE 芯片选择, SCSI 支持, SATA 支持, RAID 与 LVM 支持,

      网络卡支持, 拨接必须之 PPP, AGP 显示卡芯片组, 显示卡芯片组, USB 芯片组

    f. 档案系统(filesystem): EXT2/EXT3, Quota, MSDOS/NTFS, NFS/Samba...
设定核心的编译设定 (Makefile)

就如同我们在原始码与 tarball 的章节当中提到的, 由于各个主机硬件都不相同,所以当然需要针对我们的主机环境来选择可以编译的项目啦!那就是 Makefile 的编辑。但是核心的资料实在多到不行~所以,核心有提供不少的工具来让我们简单的进行参数的设定喔!

如何编辑核心的 Makefile

在这一章当中,鸟哥假设你是以 http://www.kernel.org 这个核心官方网站下载最新的核心版本来编译的, 鸟哥下载的是 2.6.14-2 版,下载的完整网址在:

http://www.kernel.org/pub/linux/ ... ux-2.6.14.2.tar.bz2

如果你是以 FC4 系统预设的核心原始码来重新编译, 那么请自行安装 kernel-devel 这个套件,以及前往 /usr/src/kernels/ 目录下, 找到核心原始码;如果您之前已经以下载的核心档案编译过核心, 那么请依序下载各 patch 档案,然后请自行参考 patch 的用法以及找到相关的路径吧!反正,这一章当中,我假设您与我一样, 使用的是最新版的核心就是了。

假设你下载之后将整个档案放置到 /root 内,那么首先请解压缩吧!

[root@linux ~]# cd /usr/src

[root@linux src]# tar -jxvf /root/linux-2.6.14.2.tar.bz2

# 这个时候就会产生一个 /usr/src/linux-2.6.14.2 的目录,该目录就是 source code。

# 不过,这个目录下有个 README 的档案务必参考,此外,

# 还有个 Documentation 的目录,也可以仔细的看一看喔!

[root@linux src]# cd linux-2.6.14.2

[root@linux linux-2.6.14.2]# make mrproper

# 这个过程在删除一些以前留下来的 .o 档案。


特别留意一下,核心的原始码最好不要直接放置到 /usr/src/linux 这个目录, 这是因为该目录是很多的软件读取核心功能的目录,如果你将这个新核心放置到 /usr/src/linux 下时, 可能会让某些软件读到错误的核心档案。因此,您才可能看到目前的核心原始码都放到 /usr/src/kernels/ 目录下 (FC4 的预设放置目录)。 所以,我们新的核心主要建议您还是放置到 /usr/src/ 目录下, 但是目录名称保持 linux-2.6.14.2 即可,不必更名为 linux ??≌獾阒匾??br />
另外,在进行核心的参数设定之前,务必要执行『 make mrproper 』这个项目, 还记得原始码的编译过程吧?编译过程会有 *.o 的目标档案对吧! 那这些 *.o 必须要先删除啊!否则可能会产生旧的资料啊!这个要注意。

另外,其实我们也知道,整个原始码的编译过程当中,那个 Makefile 占有举足轻重的地位的! 这是因为我们的 make 取用的参数资料都是记录在 Makefile 档案当中啊! 所以???惚匦胍?范?愕南低骋丫?沧傲 make, gcc 等等的编译套件, 否则是无法进行编译的。此外,核心的 Makefile 没有办法像一些软件一样, 简单的使用 ./configure 就能够自动的侦测主机。这是因为每个人对于核心的要求都不一样嘛! 好了,那么如何建立 Makefile 啊?难道要手动去编辑??当然不是啦! 我们可以透过核心提供的功能,就是那个 make menuconfig 来达成喔!

make menuconfig:

利用类似选单模式的方式来进行核心参数的挑选,好处是,他是纯文字模式的! 不需要激活 X Window ,还可以远程登入进行核心参数的挑选!真方便!

make xconfig:

利用 X Window 的功能来进行挑选,是图形接口的,很华丽~不过,当然就比较耗系统资源。 如果你的服务器没有安装 X Window ,那就别提了!

make gconfig:

利用 GDK 函式库的图形接口来选择,也是需要 X Window 的支持才行!

还有一些早期的编译流程,不过不好用,所以鸟哥就不介绍了。我这里推荐您使用 make menuconfig 来进行核心参数的挑选。这是因为很多的服务器本来就可能没有 X Window , 加上 make menuconfig 也可以作类似图形化接口的选单模式,可以随时作参数的选择, 方便又好用! ^_^。只要在 /usr/src/linux-2.6.14.2 目录下,输入『make menuconfig』 就可以出现如下的画面喔!



看到上面的图是之后,你会发现主要分为两大画面,一个是大框框内的反白光柱,另一个则是底下的小框框, 里面有 select, exit 与 help 三个选项的内容。这几个组件的用法如下:

最底下的 之后, 按下『 Enter 』就可以进入该项目去作更进一步的细部设定??

在细部项目的设定当中,如果前面有 [ ] 或 <> 符号时,该项目才可以选择, 而选择可以使用『空格键』来选择;

若为
<*> 则表示编译进核心;若为 则表示编译成模块! 尽量在不知道该项目为何时,且有模块可以选,那么就可以直接选择为模块??

当在细项目选择 后,并按下 Enter ,那么就可以离开该细部项目??

基本上建议只要『上下左右 空白 及 Enter 』这六个按键就好了!不要使用 Esc ,否则一不小心就有可能按错的!另外,关于整个核心的内容选择上面,建议您可以这样思考:

『肯定』核心一定要的功能,直接编译进核心内;

『可能在未来会用到』的功能,那么尽量编译成为模块;

『不知道那个东西要干嘛的,看 help 也看不懂』的话,那么就保留默认值,或者将他编译成为模块;

总之,尽量保持核心小而美,剩下的,就编译成为模块,尤其是『需要考虑到未来扩充性』, 像鸟哥之前认为螃蟹卡就够我用的了,结果,后来竟然网站流量大增,鸟哥只好改换 3Com 的网络卡。 不过,我的核心却没有相关的模块可以使用~因为.....鸟哥自己编译的核心忘记加入这个模块了。 最后,只好重新编译一次核心的模块,呵呵!真是惨痛的教训啊!

--------------------------------------------------------------------------------

核心的内容与模块设定



由上面的图标当中,我们知道核心的可以选择的项目有很多啊! 光是第一面,就有 17 个项目,每个项目内还有不同的细项!哇!真是很麻烦啊~ 而每个项目其实都可能有 的说明,所以,如果看到不懂的项目, 务必要使用 Help 查阅查阅!好了,底下我们就一个一个项目来看看如何选择吧!
--------------------------------------------------------------------------------



Code maturity level options(核心的 code 开发维护)

这个项目主要在设计您的核心是否要支持一些尚未测试的很完整功能。 一般来说,我们是一般用户,不是 kernel 的开发维护者,所以,当然不需要额外的功能啦! 所以,鸟哥这里的选择是比较保守的 (不使用额外功能),也因为如此, 所以底下的很多项目当中,可能不会出现一些较为特殊的选项喔!这个要注意! 鸟哥的选择如下:

[ ] Prompt for development and/or incomplete code/drivers

# 这个可选可不选~不过,鸟哥这里是不选择的啦!

-------------------------------------------------------------------------------

General setup

这个项目则是关于核心的一般设定,包括核心的附加版本信息等等,都可以在这里设定。

() Local version - append to kernel release

[ ] Automatically append version information to the version string (NEW)

# 上面这两个都与核心的附加版本有关。例如 FC4 的核心版本为

# 2.6.14-1.1637_FC4 ,后面那个 1.1637_FC4 就是那个附加版本啦!


Support for paging of anonymous memory (swap)

# 这个与 swap 的使用有关!当然要选择啦


System V IPC

# IPC 是 Inter Process Communication 的简写,这个与一个 programs

# 可以被多人同时启用有关,所以务必要选择才行!


BSD Process Accounting

[ ] BSD Process Accounting version 3 file format


Sysctl support

# 这个就是在产生 /proc/sys 的支持!务必选择!


Auditing support


Enable system-call auditing support

# 上面这两个是额外核心功能 (如 SELinux) 加载时所需要的设定!务必选择

--- Support for hot-pluggable devices


Kernel Userspace Events

# 让核心能够监听使用者的动作。举例来说, USB 装置的联机与否等等的实时装置。

[ ] Kernel .config support

() Initramfs source file(s)

[ ] Configure standard kernel features (for small systems) --->

这里的项目主要都是针对核心与程序之间的相关性来设计的,基本上, 保留默认值即可!除非您想要编辑属于自己的附加版本,那么在上表的第一项按下 Enter 后, 就可以输入一些信息了。不要随便取消上面的任何一个项目, 可能会造成某些程序无法被同时执行的困境喔!

--------------------------------------------------------------------------------

Loadable module support

还记得我们上头曾经提过模块这个玩意儿吧!如果你要核心能够支持模块实时加载某些核心功能的话, 那么这里面的设定就显的很重要了!因为他涉及是否支持模块加载啊!


Enable loadable module support


Module unloading


Source checksum for all modules


Automatic kernel module loading

不用想太多,全部都选择吧!



--------------------------------------------------------------------------------
Processor type and features

这个就与您的 CPU 有关啦!我的主机装备的是 P-III 的 CPU ,所以就选择相关的即可。 你要依据你自己的主机来设计喔!不要胡乱选择啊!

Subarchitecture Type (PC-compatible) --->

(X) PC-compatible <==这里是次目录

( ) AMD Elan

( ) Voyager (NCR)

( ) NUMAQ (IBM/Sequent)

( ) SGI 320/540 (Visual Workstation)

# 这里在选择主机的硬件类型。我们使用 PC 兼容的主机啊!选这个就对了。



Processor family (Pentium-III/Celeron(Coppermine)/Pentium-III Xeon) --->

( ) 386 <==这里是次目录

( ) 486

( ) 586/K5/5x86/6x86/6x86MX

( ) Pentium-Classic

( ) Pentium-MMX

( ) Pentium-Pro

( ) Pentium-II/Celeron(pre-Coppermine)

(X) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

( ) Pentium M

( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon

( ) K6/K6-II/K6-III

( ) Athlon/Duron/K7

( ) Opteron/Athlon64/Hammer/K8

( ) Crusoe

( ) Efficeon

( ) Winchip-C6

( ) Winchip-2

( ) Winchip-2A/Winchip-

( ) GeodeGX1

( ) CyrixIII/VIA-C3

( ) VIA C3-2 (Nehemiah)

# 这里则是 CPU 的等级,我使用的是 P-III ,您得要选择自己的啊!




Generic x86 support

# 对 x86 的 CPU 架构支持较佳。


HPET Timer Support

[ ] Symmetric multi-processing support

# 如果您使用两颗 CPU 以上的系统,这里『务必』要选择!否则不用选

Preemption Model (No Forced Preemption (Server)) --->

(X) No Forced Preemption (Server)

( ) Voluntary Kernel Preemption (Desktop)

( ) Preemptible Kernel (Low-Latency Desktop)

# 这里与 CPU 的效能有关。如果您想要作一个服务器的核心,选择第一个!

# 否则,为了稳定,最好选择第二项。




Local APIC support on uniprocessors


IO-APIC support on uniprocessors

# 单颗 CPU 的环境中,这个项目可以选择起来,让 CPU 具有

# Advanced Programmable Interrupt Controller 的功能啊!


Machine Check Exception

# 让 Pentium 系列的 CPU 可以在侦测到 kernel 有问题时,立刻响应到终端接口

<> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4

<> Toshiba Laptop support

<> Dell laptop support

# 上面这三个就得要看看你的系统是否支持啦!基本上,可以设定成 M 啦!

[ ] Enable X86 board specific fixups for reboot

/dev/cpu/microcode - Intel IA32 CPU microcode support

/dev/cpu/*/msr - Model-specific register support

/dev/cpu/*/cpuid - CPU information support

# 因为我的是 P-III CPU 啊,所以这里当然选择成模块即可!

Firmware Drivers --->

<> BIOS update support for DELL systems via sysfs (NEW)

<> Dell Systems Management Base Driver (NEW)

# 如果你的系统是 Dell 的,那么上面记得编成模块!鸟哥不需要~

High Memory Support (4GB) --->

( ) off

(X) 4GB

( ) 64GB

# 这个重要!一般来说,我们对于主机的要求是 RAM 越大越好(一般情况下);

# 但是,原本的核心支持仅到 1GB 的内存,所以,这里要加大!

# 一般的个人计算机主机,或者是 X86 主机,通常只要 4GB 就够了,

# 除非是特殊的工业用主机才可以额外插到 4GB 以上的内存!

# 如果这里选择成 off 的话,那么您的内存最大只能被捉到 1GB 。

2006-4-17 03:06 PM #1



vi789
注册会员




UID 135
精华 0
积分 99
帖子 32
阅读权限 20
注册 2006-4-5
状态 离线 Allocate 3rd-level pagetables from highmem

# 这个与 High Memory Support 有关,如果你的内存支持到 4GB,这里可以加入

[ ] Math emulation

# 这个与 CPU 是否具有浮点运算单元有关。目前我们的 CPU (586 以上)

# 都已经内建了浮点运算单元了,所以这里可以不要选啦!


MTRR (Memory Type Range Register) support

# 这玩意儿可以让 CPU 具有读取内存特殊区块的能力,尤其在高效能的 AGP

# 与相关的 PCI/AGP 总线进行数据传输时,可以增进不少效能。

# 选择这个项目后,会产生 /proc/mtrr ,我们的 X 会读取这个咚咚喔。

[ ] Boot from EFI support (EXPERIMENTAL)


Enable seccomp to safely compute untrusted bytecode

# 这个项目通常要加,不过,如果是嵌入式系统的话,可以不加入!

Timer frequency (250 HZ)

# 这个项目则与核心针对某个事件立即响应的速度有关。一般来说,

# 如果是一般桌上计算机,那么反应时间可以调整的快速一点,因为不会有其它事件。

# 如果是主机,由于同一时间点可能有多人联机进来,启发的事件太多了,所以,

# 这个反应时间反而要调慢一点,会比较稳定,而且效能也不差。通常保留默认值

# 250 就很好了。

--------------------------------------------------------------------------------

Power management options (ACPI, APM)

这部分则是电源管理,主要的内容有底下这些:

[ ] Power Management Debug Support

[ ] Software Suspend

# 这个与将目前的环境暂存在 swap 当中有关。万一你想要将目前的资料暂存,

# 因为系统可能必须要关机一阵子,那么这个项目可以选择。不过,

# 由于可能会有一些问题,所以不建议您使用这个功能(主机也很少用到!)

ACPI (Advanced Configuration and Power Interface) Support --->

# 这个电源管理模块虽然可以管理你的电源,不过,却会增加核心约 70K ,所以

# 对嵌入式系统来说,可能需要考虑考虑。至于 desktop/server 当然就选择啊!


ACPI Support


Sleep States


/proc/acpi/sleep (deprecated)

# 如果要激活 ACPI 的支持,那上面这几个几乎都是必要的!

AC Adapter

Battery

Button

Video

# 这几个则只要编译成为模块即可,因为桌上型与服务器用不到。

# 他主要大该都是针对笔记型计算机来设计的! ^_^

<*> Fan

<*> Processor

<*> Thermal Zone

# 每一部主机都有的 CPU/风扇 等,当然也可以编译进核心,也可以设定成模块。

ASUS/Medion Laptop Extras

IBM ThinkPad Laptop Extras

Toshiba Laptop Extras

(2001) Disable ACPI for systems before Jan 1st this year

[ ] Debug Statements


Power Management Timer Support



APM (Advanced Power Management) BIOS Support --->

<*> APM (Advanced Power Management) BIOS support

[ ] Ignore USER SUSPEND

[ ] Enable PM at boot time


Make CPU Idle calls when idle

[ ] Enable console blanking using APM


RTC stores time in GMT

[ ] Allow interrupts during APM BIOS calls

[ ] Use real mode APM BIOS call to power off

# 由于鸟哥比较少使用电源管理,所以,我这里大多使用默认值而已。



CPU Frequency scaling --->

# 什么?可以经过核心修改 CPU 的运作频率?哈哈!没错!是这样!

# 不过,在说明档当中也提及,还需要激活底下的 dynamic cpufreq governor

# 才可以顺利的激活这个项目。当然,如果你不愿意的话,这里可以取消。


CPU Frequency scaling


Enable CPUfreq debugging

CPU frequency translation statistics


CPU frequency translation statistics details

# 如果想要激活在休眠时, CPU 自动降频的功能,上面都给他设定好吧!

Default CPUFreq governor (userspace) --->

( ) performance

(X) userspace

# 休眠时 CPU 频率的考量,是以效能为主,还是您可以手动修改

# 既然要自动降频,当然不以效能为考量~所以选 userspace 吧!



<*> 'performance' governor

'powersave' governor

--- 'userspace' governor for userspace frequency scaling

'ondemand' cpufreq policy governor

'conservative' cpufreq governor

# 上面这几个则是在加载哪些调节器(governor) ~

--- CPUFreq processor drivers

ACPI Processor P-States driver

<> AMD Mobile K6-2/K6-3 PowerNow!

AMD Mobile Athlon/Duron PowerNow!

<> Cyrix MediaGX/NatSemi Geode Suspend Modulation

<*> Intel Enhanced SpeedStep


Use ACPI tables to decode valid frequency/voltage pairs


Built-in tables for Banias CPUs

<*> Intel Speedstep on ICH-M chipsets (ioport interface)

Intel Pentium 4 clock modulation

<*> Transmeta LongRun

<> VIA Cyrix III Longhaul

# 上面这几个就与 CPU 的型号有关啦!我用的是 P-III,

# 所以,不相关的数据我直接将他编成模块而已!

--- shared options

[ ] /proc/acpi/processor/../performance interface (deprecated)

[ ] Relaxed speedstep capability checks



# 其实,这个项目主要是在主机 Idle 的时候,透过 CPU 本身的功能,

# 然后让系统可以自动的降频的一个选项啦! ^_^


老实说,由于鸟哥的 Linux 机器主要都是站在 Server 的角度,所以我的机器都是全年无休的。 在这样的条件下,我老是选择不要使用电源管理的说~ @_@。不过,如果是站在桌上型计算机的角度, 呵呵~激活电源管理这可是很棒的选项,因为.....电费越来越贵了~ 能省则省啊! ^_^ 另外,绝大部分的选项都可以编译成为模块啊!只是会花去一些编译的时间就是了。


--------------------------------------------------------------------------------
Bus options (PCI, PCMCIA, EISA, MCA, ISA)

这个项目则与总线有关啦!分为最常见的 PCI,还有笔记型计算机常见的 PCMCIA 插卡啊!详细的资料有这些:

--- PCI support

PCI access mode (Any) --->

[ ] PCI Express support

# 这个重要!如果你的主机板有支持较新的 PCI-Express 显示卡的话,

# 这里请务必要勾选~鸟哥的主机板太旧了,用的是 AGP 显示卡,所以这里不选!

[ ] Message Signaled Interrupts (MSI and MSI-X)


Legacy /proc/pci interface

[ ] PCI Debugging


ISA support

[ ] EISA support

# 这个是比 PCI 还要更早的总线插槽,一般来说,

# 最好还是保留 ISA 插槽比较妥当点~

[ ] MCA support

<> NatSemi SCx200 support

PCCARD (PCMCIA/CardBus) support --->

<> PCCard (PCMCIA/CardBus) support

[ ] Enable PCCARD debugging

<> 16-bit PCMCIA support

[ ] PCMCIA control ioctl (obsolete)

--- 32-bit CardBus support

--- PC-card bridges

<> CardBus yenta-compatible bridge support

<> Cirrus PD6729 compatible bridge support

<> i82092 compatible bridge support

<> i82365 compatible bridge support

<> Databook TCIC host bridge support

# 这个是 PC 卡,一般来说,桌上型计算机不会有这种卡的存在,

# 所以,鸟哥通常是不选择~不过,如果你的主机是笔记型计算机,

# 这里可就得要选择了!否则很多插卡就不能被使用啊!切记切记!



PCI Hotplug Support --->

# 这个是进阶功能,可以不用理他!

PCI 插槽是重要的,因为几乎所有的适配卡都是插在 PCI 插槽上面的。 此外,这个设定项目里面有个比较有趣又重要的地方,那就是 PCI-E (PCI Express) 的设定项目了!如果你的主机板是最近买的,而且你的显示卡是 PCI-E 的话, 这个项目就务必要编入核心才行!否则显示卡会捉不到的!


--------------------------------------------------------------------------------


Executable file formats

这里必须要勾选才行喔!因为是给 Linux 核心运作执行文件之用的资料! 除了第一项必须要编成核心功能之外,其它两项是可以编译成为模块的啦!


Kernel support for ELF binaries

Kernel support for a.out and ECOFF binaries

<*> Kernel support for MISC binaries

--------------------------------------------------------------------------------
Networking

这个项目是相当相当相当 * n 重要的选项,因为他还包含了防火墙相关的项目! 就是未来在服务器篇会谈到的防火墙 iptables 这个资料啊!所以,千万注意了!

--- Networking support

Networking options --->

# 就是这个光啊!里面的资料全部都是重要的防火墙项目!

# 在这里面的项目当中,如果可以编成模块,尽量将他编成模块!

<*> Packet socket

# 唯独这个项目务必要编进核心里面!因为他是防火墙啊!


Packet socket: mmapped IO

<*> Unix domain sockets

<*> IPsec user configuration interface

PF_KEY sockets



# 底下是 TCP/IP 的设定,大多是 IPv4 ,只要保留默认值就很 OK 了!


TCP/IP networking


IP: multicasting


IP: advanced router

Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure)


IP: policy routing


IP: use netfilter MARK value as routing key


IP: equal cost multipath

[ ] IP: equal cost multipath with caching support (EXPERIMENTAL)


IP: verbose route monitoring

[ ] IP: kernel level autoconfiguration

IP: tunneling

IP: GRE tunnels over IP


IP: broadcast GRE over IP


IP: multicast routing


IP: PIM-SM version 1 support


IP: PIM-SM version 2 support


IP: TCP synCOOKIE support (disabled per default)

IP: AH transformation

IP: ESP transformation

IP: IPComp transformation

IP: tunnel transformation

<*> INET: socket monitoring interface

[ ] TCP: advanced congestion control



IP: Virtual Server Configuration --->

# 这个项目则主要与 cluster 有关~里面保留默认值即可!



# 这底下则与 IPv6 ,新一代的 IP 协议有关!同样做成模块!

The IPv6 protocol


IPv6: Privacy Extensions (RFC 3041) support

IPv6: AH transformation

IPv6: ESP transformation

IPv6: IPComp transformation

--- IPv6: tunnel transformation

IPv6: IPv6-in-IPv6 tunnel



# 底下就重要啦!就是我们一直讲一直讲的防火墙啦! ^_^


Network packet filtering (replaces ipchains) --->

--- Network packet filtering (replaces ipchains)

[ ] Network packet filtering debugging


Bridged IP/ARP packets filtering

Netfilter netlink interface



IP: Netfilter Configuration --->

Connection tracking (required for masq/NAT)


Connection tracking flow accounting


Connection mark tracking support

[ ] Connection tracking events

Connection tracking netlink interface

FTP protocol support

IRC protocol support

TFTP protocol support

Amanda backup protocol support

PPTP protocol support

IP Userspace queueing via NETLINK (OBSOLETE)

IP tables support (required for filtering/masq/NAT)

limit match support

IP range match support

MAC address match support

Packet type match support

netfilter MARK match support

Multiple port match support

TOS match support

recent match support

ECN match support

DSCP match support

AH/ESP match support

LENGTH match support

TTL match support

tcpmss match support

Helper match support

Connection state match support

Connection tracking match support

Owner match support

Physdev match support

address type match support

realm match support

SCTP protocol match support

DCCP protocol match support

comment match support

Connection mark match support

Connection byte/packet counter match support

hashlimit match support

string match support

Packet filtering

REJECT target support

LOG target support

ULOG target support (OBSOLETE)

TCPMSS target support

NFQUEUE Target Support

Full NAT

MASQUERADE target support

REDIRECT target support

NETMAP target support

SAME target support

Packet mangling

TOS target support

ECN target support

DSCP target support

MARK target support

CLASSIFY target support

TTL target support

CONNMARK target support

raw table support (required for NOTRACK/TRACE)

NOTRACK target support

ARP tables support

ARP packet filtering

ARP payload mangling



Bridge: Netfilter Configuration --->

# 这个项目内容也一样,全部编成模块!



# 底下同样的,可能的话就编译成为模块啊!

802.1d Ethernet Bridging

802.1Q VLAN Support

<> DECnet Support

<> ANSI/IEEE 802.2 LLC type 2 Support

The IPX protocol

[ ] IPX: Full internal IPX network



Appletalk interfaces support

Apple/Farallon LocalTalk PC support

COPS LocalTalk PC support


Dayna firmware support


Tangent firmware support

Appletalk-IP driver support


IP to Appletalk-IP Encapsulation support


Appletalk-IP to IP Decapsulation support


QoS and/or fair queueing --->

Firewall based classifier

U32 classifier


U32 classifier performance counters


classify input device (slows things u32/fw)


Use nfmark as a key in U32 classifier

Special RSVP classifier

Special RSVP classifier for IPv6

Extended Matches

(32) Stack size

Simple packet data comparison

Multi byte comparison

U32 hashing key

Metadata

Textsearch


Traffic policing (needed for in/egress)

Network testing --->

# 底下则是一些特殊的网络设备,例如红外线啊、蓝牙啊!

# 如果不清楚的话,就使用模块吧!除非你真的知道不要该项目!

[ ] Amateur Radio support --->

IrDA (infrared) subsystem support --->

Bluetooth subsystem support --->

Generic IEEE 802.11 Networking Stack

[ ] Enable full debugging output

IEEE 802.11 WEP encryption (802.1x)

IEEE 802.11i CCMP support

IEEE 802.11i TKIP encryption

在这个设定项目当中,很多东西其实我们在基础篇还没有讲到, 因为大部分的参数都与网络、防火墙有关!由于防火墙是在激活网络之后再设定即可, 所以绝大部分的内容都可以被编译成为模块,而且也建议您编成模块! 有用到才加载到核心即可啊!
--------------------------------------------------------------------------------
Device Drivers

这个是所有硬件装置的驱动程序库!哇!光是看到里面这么多内容,鸟哥头都昏了~ 不过,为了您自己的主机好,建议你还是得要一个项目一个项目的去挑选挑选才行~ 这里面的资料就与您主机的硬件有绝对的关系了!

Generic Driver Options --->

# 与韧体有关,保留默认值即可!



Connector - unified userspace <-> kernelspace linker --->

Memory Technology Devices (MTD) --->

# 上面这两个不知道会不会用到的数据,暂时可以编译成为模块即可!



Parallel port support --->

Parallel port support

PC-style hardware

Multi-IO cards (parallel and serial)

Support for PCMCIA management for PC-style ports


IEEE 1284 transfer modes

# 平行串行端口,呵呵!与打印机相关性挺高的!编译成为模块即可!



Plug and Play support --->


Plug and Play support

# 不??簦?飧龅比灰?≡癜。?br />


Block devices --->

# 这里面与储存装置有关,全部给他编成模块!当然,确定不需要的,

# 就不要编译咯!



ATA/ATAPI/MFM/RLL support --->

# 底下的设定你可以保留默认值,来让核心支持较为完整!

# 不过,既然我们已经知道主机的硬件与主机板的芯片,当然可以作一些选择???br />
<*> ATA/ATAPI/MFM/RLL support

<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

--- Please see Documentation/ide.txt for help/info on IDE drives

[ ] Support for SATA (deprecated; conflicts with libata SATA driver)

# 这个不要选!因为 SATA 的新的驱动程序是包含在 SCSI 中的!

[ ] Use old disk-only driver on primary interface

<*> Include IDE/ATA-2 DISK support


Use multi-mode by default

PCMCIA IDE support

<*> Include IDE/ATAPI CDROM support

<*> Include IDE/ATAPI FLOPPY support

# 上面这两个就必选!让核心主动支持 CDROM 与软盘!



SCSI emulation support

[ ] IDE Taskfile Access

--- IDE chipset support/bugfixes

<*> generic/default IDE chipset support


CMD640 chipset bugfix/support


CMD640 enhanced support


PNP EIDE support

# 上面这几个也可以挑选起来,尤其会比较适合 Pentium 的主机!



# 底下这几个则主要与主机板的芯片组有关啊!


PCI IDE chipset support


Sharing PCI IDE interrupts support

[ ] Boot off-board chipsets first support

<*> Generic PCI IDE Chipset Support

<*> RZ1000 chipset bugfix/support


Generic PCI bus-master DMA support

# 底下这几个请特别挑选一番!

[ ] Force enable legacy 2.0.X HOSTS to use DMA


Use PCI DMA by default when available

[ ] Enable DMA only for disks

<> AEC62XX chipset support

<> ALI M15x3 chipset support

[ ] ALI M15x3 WDC support (DANGEROUS)

<> AMD and nVidia IDE support

<> ATI IXP chipset IDE support

<> CMD64{3|6|8|9} chipset support

<> Compaq Triflex IDE support

<> CY82C693 chipset support

<> Cyrix/National Semiconductor CS5530 MediaGX chipset support

<> HPT34X chipset support

<> HPT36X/37X chipset support

<> National SCx200 chipset support

<*> Intel PIIXn chipsets support

<*> IT821X IDE support

<> NS87415 chipset support

<*> PROMISE PDC202{46|62|65|67} support

[ ] Special UDMA Feature

<*> PROMISE PDC202{68|69|70|71|75|76|77} support


Enable controller even if disabled by BIOS

<> ServerWorks OSB4/CSB5/CSB6 chipsets support

<> Silicon Image chipset support

<> SiS5513 chipset support

<> SLC90E66 chipset support

<> Tekram TRM290 chipset support

<> VIA82CXXX chipset support

[ ] Other IDE chipset support

[ ] IGNORE word93 Validation BITS

# 因为我的是 Intel 芯片组的主机板,所以全部无关的我都没有选择。

# 不过,为了您自己好~其实,上面绝大部分的资料都给他做成模块比较妥当!



SCSI device support --->

# 不论你有没有 SCSI 装置,你都必须要激活 SCSI 的支持!理由有二:

# 1. 因为 USB 装置用的就是仿真 SCSI 啊!

# 2. 因为 SATA 的设定项目就在这里面!

<> RAID Transport Class

SCSI device support


legacy /proc/scsi/ support

--- SCSI support type (disk, tape, CD-ROM)

SCSI disk support

SCSI tape support

SCSI OnStream SC-x0 tape support

SCSI CDROM support


Enable vendor-specific extensions (for SCSI CDROM)

SCSI generic support

SCSI media changer support

--- Some SCSI devices (e.g. CD jukebox) support multiple LUNs


Probe all LUNs on each SCSI device


Verbose SCSI error reporting (kernel size +=12K)


SCSI logging facility

SCSI Transport Attributes --->

SCSI low-level drivers --->

# 在这个项目当中,都保留默认值即可不过,

# 如果你有 SATA 的硬盘,请确认底下已经编译起来了!

Serial ATA (SATA) support

AHCI SATA support

ServerWorks Frodo / Apple K2 SATA support

Intel PIIX/ICH SATA support

Promise SATA TX2/TX4 support

Pacific Digital SATA QStor support

VIA SATA support

VITESSE VSC-7174 SATA support

PCMCIA SCSI adapter support --->



Old CD-ROM drivers (not SCSI, not IDE) --->

Multi-device support (RAID and LVM) --->

# 还记得不久之前才谈过的 LVM 吧?这里当然要选择???br />

Multiple devices driver support (RAID and LVM)

<*> RAID support

Linear (append) mode

RAID-0 (striping) mode

RAID-1 (mirroring) mode

RAID-4/RAID-5 mode

RAID-6 mode

Multipath I/O support

Faulty test module for MD

Device mapper support



Fusion device support --->

IEEE 1394 (FireWire) support --->

I2O device support --->

# 上面也编译成为模块即可!那个 IEEE 1394 就是我们常听到的『火线』。



Network device support --->

# 您总是有网络卡吧?所以???饫锏靡?≡褚桓鐾?缈ㄗ爸冒。?br />

Network device support

Dummy net driver support

Bonding driver support

EQL (serial line load balancing) support

Universal TUN/TAP device driver support

General Instruments Surfboard 1000

ARCnet devices --->

PHY device support --->

Ethernet (10 or 100Mbit) --->

# 这里面含有的就是 10/100 的网络卡!大部分都可以编成模块。

RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support

VIA Rhine support

# 上面这两个就是有名的螃蟹卡与 D-Link 530 所用的驱动程序。

Ethernet (1000 Mbit) --->

# 这里面含有的就是 10/100/1000 的网络卡!大部分都可以编成模块。

Ethernet (10000 Mbit) --->

Token Ring devices --->

Wireless LAN (non-hamradio) --->

PCMCIA network device support --->

Wan interfaces --->


FDDI driver support

<> Digital DEFEA and DEFPA adapter support

SysKonnect FDDI PCI support

PLIP (parallel port) support

<*> PPP (point-to-point protocol) support


PPP filtering

PPP support for async serial ports

PPP support for sync tty ports

PPP Deflate compression

# 如果您有 ADSL 拨接的话,呵呵!PPP 的装置也要选择上喔!

<> PPP BSD-Compress compression

SLIP (serial line) support


CSLIP compressed headers


Keepalive and linefill

[ ] Six bit SLIP encapsulation


Fibre Channel driver support



ISDN subsystem --->

Telephony Support --->

# 上面这两个我都没有,所以并没有选择!



Input device support --->

# 这里面含有鼠标、键盘、摇杆等等的输入装置,也是需要挑选的!

--- Generic input layer (needed for keyboard, mouse, ...)

--- Userland interfaces

--- Mouse interface

# 底下这三个与鼠标有关啦!也可以选择的!

[ ] Provide legacy /dev/psaux device

(1024) Horizontal screen resolution

(768) Vertical screen resolution

Joystick interface

<> Touchscreen interface

<*> Event interface

<> Event debugging

--- Input Device Drivers

--- Keyboards --->


Mouse --->

[ ] Joysticks --->

[ ] Touchscreens --->

# 我没有摇杆也没有触控式面版,所以上面两个不选!


Miscellaneous devices --->

Hardware I/O ports --->



Character devices --->

# 里面的资料也很多,也要注意 AGP 显示卡的芯片组啊!

# 而因为鸟哥的环境是 Intel 的芯片,所以自然将那个编进去,

# 其它的成为模块即可!其它的除非确定不需要,否则保留默认值即可!

<*> /dev/agpgart (AGP Support)

ALI chipset support

ATI chipset support

AMD Irongate, 761, and 762 chipset support

AMD Opteron/Athlon64 on-CPU GART support

<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support

NVIDIA nForce/nForce2 chipset support

SiS chipset support

Serverworks LE/HE chipset support

VIA chipset support

Transmeta Efficeon support

Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

3dfx Banshee/Voodoo3+

ATI Rage 128

ATI Radeon

Intel I810

Intel 830M, 845G, 852GM, 855GM, 865G

i830 driver

i915 driver

Matrox g200/g400

SiS video cards

Via unichrome video cards

<> Savage video cards

I2C support --->

# 还记得我们去侦测主机板的温度与压力吧?呵呵!那就是透过核心的

# 这个 I2C 的模块功能了!预设情况下,这个项目都有支持,所以,

# 保留默认值即可。


Dallas's 1-wire bus --->

# 这个与某些热感应装置有关,可以不编译,也可以保留编成模块即可!

Hardware Monitoring support --->

# 这个也与 I2C 有点关系,他主要可以接受硬件的侦测,

# 所以在这个项目内您会看到 LM_XX 之类的模块!啊!就保留模块即可!


Misc devices --->

Multimedia Capabilities Port drivers --->

Multimedia devices --->

# 类似影像撷取卡、FM 广播声卡等等,可在这里设定!

# 如果您的主机是用作服务器,那么这里或许可以不要选择。

# 当然啦,这个项目几乎都是模块,保留默认值也不错!


Graphics support --->

# 嘿嘿!重点之一,显示卡的芯片组~刚刚前面提到的都是主机板的

# 对显示卡的总线支持 (PCI-E 与 AGP) ,这里则是针对显示卡芯片!

# 鸟哥的显示卡是 NVidia 的,所以将他选择即可!其它的可以编成模块!

<*> Support for frame buffer devices

--- Enable Video Mode Handling Helpers

--- Enable Tile Blitting Support

Cirrus Logic support

<> Permedia2 support

<> CyberPro 2000/2010/5000 support

<> Arc Monochrome LCD board support

[ ] Chips 69000 display support

[ ] IMS Twin Turbo display support

VGA 16-color graphics support


VESA VGA graphics support

<> Hercules mono graphics support

nVidia Framebuffer Support

nVidia Riva support

[ ] Enable DDC Support

[ ] Lots of debug output from Riva(nVidia) driver

Matrox acceleration


Millennium I/II support


Mystique support


G100/G200/G400/G450/G550 support

Matrox I2C support

G400 second head support


Multihead support

<> ATI Radeon display support (Old driver)

ATI Radeon display support


DDC/I2C for ATI Radeon support

[ ] Lots of debug output from Radeon driver

ATI Rage128 display support

ATI Mach64 display support


Mach64 CT/VT/GT/LT (incl. 3D RAGE) support


Mach64 generic LCD support (EXPERIMENTAL)

[ ] Rage XL No-BIOS Init support


Mach64 GX support

SiS/XGI display support

NeoMagic display support

IMG Kyro support

3Dfx Banshee/Voodoo3 display support

3Dfx Voodoo Graphics (sst1) support

<> Cyberblade/i1 support

Trident support

<> Epson S1D13XXX framebuffer support

<> Virtual Frame Buffer support (ONLY FOR TESTING!)

Console display driver support --->

Logo configuration --->


Backlight & LCD device support --->

Sound --->

# 这个是声卡啊!鸟哥的机器上面没有声卡,所以直接不选。

# 您可以进入后选择您的声卡啊!
USB support --->

# 这个则是 USB 的驱动模块!还记得我们在硬件维护的地方讲过的

# USB 的模块名称吧?呵呵!在里面找找吧!

# 其实这里面鸟哥仅保留默认值,然后再加上选择 USB 2.0 的支持,

# 其它的 usb 装置全部给他勾成模块!这样就 OK 啦!

MMC/SD Card support --->

# 这是多媒体卡 (multi-media card) ,鸟哥是用不到的,所以不选!
InfiniBand support --->

SN Devices --->

# 这两个应该也用不到,所以保留默认值即可!

在这里面真的很重要,因为很多资料都与你的硬件有关。核心推出时的默认值是比较符合一般状态的, 所以很多资料其实保留默认值就可以编的很不错了!不过,也因为较符合一般状态, 所以核心额外的编译进来很多跟你的主机系统不符合的资料,例如网络卡装置~ 你可以针对你的主机板与相关硬件来进行编译。不过,还是要记得有『未来扩充性』的考量! 之前鸟哥不是谈过吗,我的网络卡由螃蟹卡换成 3Com 时,核心捉不到~ 因为......我并没有将 3Com 的网络卡编译成为模块啊! @_@


--------------------------------------------------------------------------------
File systems

档案系统的支持也是很重要的一项核心功能!因为如果不支持某个档案系统, 那么我们的 Linux kernel 就无法认识,当然也就无法使用啦!例如 Quota, NTFS 等等特殊的 filesystem 。底下是详细的资料???br />
<*> Second extended fs support


Ext2 extended attributes


Ext2 POSIX Access Control Lists


Ext2 Security Labels

[ ] Ext2 execute in place support

<*> Ext3 journalling file system support


Ext3 extended attributes


Ext3 POSIX Access Control Lists


Ext3 Security Labels

[ ] JBD (ext3) debugging support

# EXT2/EXT3 是必选的吧!将他选择起来先!

Reiserfs support

[ ] Enable reiserfs debug mode


Stats in /proc/fs/reiserfs


ReiserFS extended attributes


ReiserFS POSIX Access Control Lists


ReiserFS Security Labels

JFS filesystem support


JFS POSIX Access Control Lists


JFS Security Labels

[ ] JFS debugging

[ ] JFS statistics

XFS filesystem support


XFS Quota support


XFS Security Label support


XFS POSIX ACL support

Minix fs support

# 上面这几个 filesystem 不知道什么时候会用到,当然是编成模块比较好!

ROM file system support


Inotify file change notification support


Quota support

<> Old quota format support

<*> Quota format v2 support

# Quota 够重要吧!务必要将他圈选起来才行喔!


Kernel automounter support

Kernel automounter version 4 support (also supports v3)

<> Filesystem in Userspace support

CD-ROM/DVD Filesystems --->

<*> ISO 9660 CDROM file system support


Microsoft Joliet CDROM extensions


Transparent decompression extension

UDF file system support

# 注意!那个 ISO 9660 的 filesystem 务必要挑选!


DOS/FAT/NT Filesystems --->

MSDOS fs support

VFAT (Windows-95) fs support

(950) Default codepage for FAT

(big5) Default iocharset for FAT

NTFS file system support

[ ] NTFS debugging support (NEW)


NTFS write support

# 哇!不但可以选择预设是中文语系,而且,还可以支持 NTFS

# 可擦写哩!这一版真强!不过,NTFS 能否真的可以写入,不确定~


Pseudo filesystems --->


/proc file system support


/proc/kcore support


Virtual memory file system support (former shm fs)


HugeTLB file system support

<> Relayfs file system support

# 这几个是一定要的啦!



Miscellaneous filesystems --->

# 这里面的资料可以选择预设即可!



Network File Systems --->

NFS file system support


Provide NFSv3 client support


Provide client support for the NFSv3 ACL protocol extension

NFS server support


Provide NFSv3 server support


Provide server support for the NFSv3 ACL protocol extension


Provide NFS server over TCP support

SMB file system support (to mount Windows shares etc.)


Use a default NLS

(cp950) Default Remote NLS Option

# 这里可以加上这个预设参数,支持中文语系啊!

CIFS support (advanced network filesystem for Samba, Window and othe

[ ] CIFS statistics


CIFS extended attributes (EXPERIMENTAL)


CIFS POSIX Extensions (EXPERIMENTAL)

[ ] CIFS Experimental Features (EXPERIMENTAL)

NCP file system support (to mount NetWare volumes)


Packet signatures


Proprietary file locking


Clear remove/delete inhibit when needed


Use NFS namespace if available


Use LONG (OS/2) namespace if available


Lowercase DOS filenames


Use Native Language Support



推荐阅读
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
author-avatar
江雅君7299
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有