FreeBSD服务器的安装与优化(3)

Linux 用户的 FreeBSD 比较介绍 FreeBSD 是一个免费、开源的类 Unix 操作系统,也是一个流行的服务器平台。虽然 FreeBSD 和其他基于 BSD 的系统与 Linux 有许多共同之处,但它们在一些重要方面存在差异。在本指南中,我们将简要讨论 FreeBSD 和 Linux 之间的一些共同点,然后深入讨论它们之间的重要区别。以下许多观点可以准确地应用于更广泛的基于 BSD 的系统家族,但由于我们的重点,我们将主要参考 FreeBSD 作为该家族的代表。 阅读详情
“简单的东西不容易出问题。”

至理名言!事实上,削减操作系统中那些对你没用的功能是一件非常重要的事情。这不仅仅意味着一个更小的操作系统,占用更少的磁盘空间(现在的硬盘少说也有几十GB,几兆的空间根本就是九牛一毛),而且意味着你被攻击的可能性也更低——简而言之,你不需要担心操作系统中没有安装的模块存在问题会对你造成影响。

这篇文章中,我们将一起对FreeBSD-i386的内核进行优化配置。这篇文章是针对FreeBSD4.7-STABLE写的,并且,FreeBSD 4.x的配置不会和这篇文章有太大出入。如果你要优化FreeBSD 5或FreeBSD 2/3的内核的话,则需要仔细参考它们的LINT文件了(后面将会提到)。

[注意:FreeBSD 5.0预定将于2002年11月20日发布。FreeBSD的开发组非常重视发行版本的质量,并认为这比发行版本的计划还重要,但由于同样的原因,我们往往会发现FreeBSD实际发行的版本比预定计划晚一些,通常在半个月之内。FreeBSD 5.0作为FreeBSD近期最为重要的发行版本,很可能也会延后发表,但笔者个人认为无论如何我们在今年年底之前肯定是可以看到最终的发行版本的。FreeBSD 5.0对系统进行了大量的修改,这一系列的文章将在FreeBSD 5.0发布当天发表针对5.0的修订版本,而现有版本将保留,但进入维护阶段,不再引入新的内容。]

FreeBSD的源代码可以直接从中央cvsup服务器同步,也可以作为系统的一部分在安装的时候一兵装上。前面已经说过如何同步源代码,在此不再赘述。FreeBSD的源代码(通常在/usr/src)包含建造基本系统的全部代码,而在/usr/src/sys中则有若干个目录,对应不同的计算机体系结构(4.x只支持i386和alpha)。i386是一个泛指的名字,包含了与Intel 80386兼容的所有机器,并不是特指80386。

简单介绍一下FreeBSD的内核文件。在4.x系统中,/kernel这个文件是默认的内核,通常正常启动使用的就是它。 /kernel.GENERIC这个文件是兼容性较强的内核,如果/kernel无法引导系统, 就得靠这个文件来引导。/kernel.old是本次make kernel之前的内核,通常如果你的kernel坏掉, 也可以考虑使用/kernel.old来引导系统。

/modules/是内核的模块,而/modules.old/是对应/kernel.old的模块。这些文件在每次替换kernel的时候都会同时替换。

在5.0中,内核以及内核的模块都被保存在/boot/kernel中。

在/usr/src/sys/i386/conf中有两个配置文件,GENERIC和LINT。其中GENERIC是make kernel的默认配置文件,直接make kernel生成的是GENERIC内核,但安装时命名为/kernel。系统在安装时会安装一个kernel.GENERIC,以后,这个文件不会跟随系统的make kernel更新,因此,如果你认为这个文件有必要更新的话,需要手工make kernel,并把/kernel改名为kernel.GENERIC。当然,通常并不需要这样做。

LINT是包括几乎所有内核编译配置详细信息的文件。这个配置并不是用来真正建立kernel的,他的主要用途是向用户展示可用的内核编译配置。在修改内核编译配置时,最好先参考这个文件。

为了配置自己的内核,应将GENERIC复制为一个另外的文件。习惯上这个文件和主机名相同。例如,我把自己的这台Web机器命名为apache.intranet.frontfree.net,就把配置文件命名为APACHE:

cd /usr/src/sys/i386/conf
cp GENERIC APACHE

随后,用ee APACHE编辑它。我们拿一个实际的GENERIC文件来说明。

为了节省篇幅,这个文件头上的注释被删掉了一部分。

machine i386         # 体系模型为i386
cpu I386_CPU         # 支持80386
cpu I486_CPU         # 支持80486
cpu I586_CPU         # 支持Pentium
cpu I686_CPU         # 支持Pentium Pro以及更高
ident GENERIC         # 内核文件的名字
maxusers 0          # 自动检测同时允许的最大用户数

#makeoptions DEBUG=-g # 包含调试符号。通常只有current版本打开
options MATH_EMULATE  #支持协处理器模拟
options INET      #支持互联网
options INET6     #IPv6通讯协议
options FFS      #伯克利快速文件系统
options FFS_ROOT    #FFS作为根设备[必须保留]
options SOFTUPDATES  #打开FFS soft updates支持
options UFS_DIRHASH  #提高大型目录的支持
options MFS      #内存文件系统
options MD_ROOT    #MD作为根设备
options NFS      #Network Filesystem
options NFS_ROOT    #NFS作为根设备(需要NFS)
options MSDOSFS    #MSDOS文件系统
options CD9660     #ISO 9660文件系统(光盘)
options CD9660_ROOT  #CD-ROM作为根设备(需要CD9660)
options PROCFS     #进程文件系统
options COMPAT_43   #兼容4.3BSD[必须保留]
options SCSI_DELAY=15000 #检测SCSI设备前的延时(ms)
options UCONSOLE    #用户可以夺取控制台
options USERCONFIG   #boot -c编辑器 editor
options VISUAL_USERCONFIG #菜单式boot -c编辑器
options KTRACE     #ktrace(1)支持
options SYSVSHM    #SYSV-风格的共享内存
options SYSVMSG    #SYSV-风格的消息队列
options SYSVSEM    #SYSV-风格的信号量(semaphores)
options P1003_1B    #Posix P1003_1B实时扩展
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM  #对恶意ICMP请求进行限制
options KBD_INSTALL_CDEV # 在/dev安装一个CDEV设备

# 下面两项在制作对称多处理器(SMP)内核时需要
#options SMP      #对称多处理器内核
#options APIC_IO    #对称(APIC) I/O

device isa
device eisa
device pci

# 软驱
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
#
# 如果使用东芝Libretto以及他的Y-E Y-E Data PCMCIA软驱
# 不要使用上面的fdc0,而应使用
#device fdc0

# ATA以及ATAPI设备
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA 磁盘驱动器(IDE硬盘)
device atapicd # ATAPI 光驱
device atapifd # ATAPI 软驱
device atapist # ATAPI 磁带机
options ATA_STATIC_ID #静态设备编号

# SCSI控制器
device ahb # EISA AHA1742 family
device ahc # AHA2940 板载AIC7xxx设备
device amd # AMD 53C974 (Tekram DC-390(T))
device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (较新的芯片组)
options SYM_SETUP_LP_PROBE_MAP=0x40
# 使用ncr可以在配置了sym和ncr的情况下挂接旧的NCR设备

device adv0 at isa?
device adw
device bt0 at isa?
device aha0 at isa?
device aic0 at isa?

device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50

# SCSI 外设
device scbus # SCSI 总线(如果使用SCSI设备,必须有)
device da # Direct Access (硬盘)
device sa # Sequential Access (磁带,等等)
device cd # CD
device pass # Passthrough device (直接 SCSI 访问)

# 通过SCSI子系统接口的RAID控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device dpt # DPT Smartcache - See LINT for options!
device iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
device ciss # Compaq SmartRAID 5* series

# RAID控制器
device aac # Adaptec FSA RAID, Dell PERC2/PERC3
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
device twe # 3ware Escalade

# atkbdc0 控制键盘和PS/2鼠标
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12

device vga0 at isa?

# 启动画面和屏幕保护程序
pseudo-device splash

# syscons 是默认的控制台驱动,类似SCO控制台
device sc0 at isa? flags 0x100

# 对于pcvt vt220控制台,启用这个和PCVT_FREEBSD
#device vt0 at isa?
#options XSERVER # 在vt控制台支持X服务器
#options FAT_CURSOR # 使用大光标
# 如果你是用ThinkPad,将下面的一行和其他PCVT相关设备的注释去掉
#options PCVT_SCANSET=2 # IBM使用非标准键盘

# 浮点运算支持 - 请勿禁用
device npx0 at nexus? port IO_NPX irq 13

# 电源管理支持
device apm0 at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) 支持
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# 串口(COM)
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9

# 并口
device ppc0 at isa? irq 7
device ppbus # 并口总线 (所有并口设备都需要)
device lpt  # 打印机
device plip  # 并口TCP/IP
device ppi  # 并口接口设备
#device vpo  # 需要scbus和da

# PCI 以太网适配器
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')

# 使用公共的MII总线控制器代码的PCI以太网适配器
# 注意:一定要保留'device miibus'以确保可用
device miibus # MII总线支持
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 NICs
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device ste # Sundance ST201 (D-Link DFE-550TX)
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device bge # Broadcom BCM570x (``Tigon III'')

# ISA以太网适配器
# 'device ed' 需要 'device miibus'
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
device fe0 at isa? port 0x300
# Xircom Ethernet
device xe
# PRISM I IEEE 802.11b wireless NIC.
device awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 irq 10 drq 0
device cs0 at isa? port 0x300
device sn0 at isa? port 0x300 irq 10

# 伪设备 - 数字表示分配多少个
pseudo-device loop  # 环回网络
pseudo-device ether # 以太网支持
pseudo-device sl 1  # 核心级SLIP
pseudo-device ppp 1 # 核心级PPP
pseudo-device tun  # 数据包隧道
pseudo-device pty  # 伪-tty(telnet等等)
pseudo-device md   # 内存虚拟盘
pseudo-device gif  # IPv6和IPv4隧道
pseudo-device faith 1 # IPv6-to-IPv4转发(翻译)

# `bpf'伪设备将启用伯克利数据包过滤器。
# 小心由此带来的管理问题
pseudo-device bpf #Berkeley packet filter

# USB支持
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device uscanner # Scanners
device urio # Diamond Rio MP3 Player

# USB 以太网,需要mii
device aue # ADMtek USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet


现在要做的是去掉我们不需要的任何设备。(红色、中划线表示删除,红色无修饰表示修改,蓝色表示增加)。这份配置是生产服务器上的配置文件。

#
# APACHE -- FreeBSD/i386内核配置文件
#

machine i386         # 体系模型为i386
cpu I386_CPU         # 支持80386
cpu I486_CPU         # 支持80486
cpu I586_CPU         # 支持Pentium
cpu I686_CPU         # 支持Pentium Pro以及更高
ident APACHE         # 内核文件的名字
maxusers 0          # 自动检测同时允许的最大用户数

#makeoptions DEBUG=-g # 包含调试符号。通常只有current版本打开
options MATH_EMULATE  #支持协处理器模拟
#options GPL_MATH_EMULATE #GPL模拟更好,但仍然没必要,P III有内建协处理器
options INET      #支持互联网
options INET6     #IPv6通讯协议
options FFS      #伯克利快速文件系统
options FFS_ROOT    #FFS作为根设备[必须保留]
options SOFTUPDATES  #打开FFS soft updates支持
options UFS_DIRHASH  #提高大型目录的支持
options MFS      #内存文件系统
options MD_ROOT    #MD作为根设备
options NFS      #Network Filesystem
options NFS_ROOT    #NFS作为根设备(需要NFS)
options MSDOSFS    #MSDOS文件系统
options CD9660     #ISO 9660文件系统(光盘)
options CD9660_ROOT  #CD-ROM作为根设备(需要CD9660)
options PROCFS     #进程文件系统
options COMPAT_43   #兼容4.3BSD[必须保留]
options SCSI_DELAY=5000 #检测SCSI设备前的延时(ms)
options UCONSOLE    #用户可以夺取控制台[没有X,不用]
options USERCONFIG   #boot -c编辑器 editor
options VISUAL_USERCONFIG #菜单式boot -c编辑器
options KTRACE     #ktrace(1)支持
ditor
options VISUAL_USERCONFIG #菜单式boot -c编辑器
options KTRACE     #ktrace(1)支持
options SYSVSHM    #SYSV-风格的共享内存
options SYSVMSG    #SYSV-风格的消息队列
options SYSVSEM    #SYSV-风格的信号量(semaphores)
options P1003_1B    #Posix P1003_1B实时扩展
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM  #对恶意ICMP请求进行限制[例如flood ping]
options KBD_INSTALL_CDEV # 在/dev安装一个CDEV设备

options CPU_ENABLE_SSE #启用SSE支持(Pentium III)
#options CPU_ATHLON_SSE_HACK #如果你的BIOS不能正确识别Athlon SSE
#options NO_F00F_HACK  #如果你使用Pentium且没有F00F bug

# 对ISA总线,AUTO_EOI将启用8259A的自动EOI功能
# 这意味着每次中断调用节省0.7-1.25微秒,但不应用于笔记本
options AUTO_EOI_1

#options AUTO_EOI_2 # 请不要和AUTO_EOI_1同时打开,否则会崩溃。
#options MAXMEM="(1024*1024)" #除非你的BIOS设置不正确造成
                #无法检测内存大小,单位是KB

#在xntpd(Cool的监督下启用内核相同步逻辑
#options PPS_SYNC

#IPFirewall。我们需要的功能IPFilter都提供,并且更高效
#除非你需要IPFirewall的某些专有功能,否则这部分不必编译
#options IPFIREWALL   #防火墙
#options IPFIREWALL_VERBOSE #允许防火墙日志
#options IPFIREWALL_FORWARD #允许透明代理
#options IPFIREWALL_VERBOSE_LIMIT=100 #限制日至
#options IPFIREWALL_DEFAULT_TO_ACCEPT #默认允许所有IP包


#options IPFW2 # IPFW2,这一特性并非4.x默认。

options IPFILTER    #ipfilter支持
options IPFILTER_LOG  #ipfilter日志
options IPFILTER_DEFAULT_BLOCK #默认阻断所有IP包

# 静态数据包过滤许可规则(直接放入内核)
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP

#options DEVICE_POLLING #改善网络响应时间,但realtek不支持

options IPSTEALTH    #支持秘密IP转发
options RANDOM_IP_ID  #随机IP ID,阻止信息泄漏
#options TCP_DROP_SYNFIN #抛弃SYN+FIN包,阻止检测服务器
            #的TCP协议栈、操作系统,但这对Web
            #服务器是不推荐的,因为不符合RFC1644

#options QUOTA     #启用配额支持,但此处没用

makeoptions CONF_CFLAGS=-fno-builtin #禁用memcpy等GCC默认的影响性能的设置

# 根据内存大小配置应用程序可用的最大内存
# 这台机器有1GB内存
# FreeBSD默认是允许使用128MB
options MAXDSIZ="(1024*1024*1024)"
options MAXSSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"

#options PMAP_SHPGPERPROC=201 #每一进程的可用PV项数。

#options NO_SWAPPING      #禁用交换区。不推荐

options PANIC_REBOOT_WAIT_TIME=0 #内核异常(kernel panic)立即重启

#核心内存大小限制。我倾向使用默认值
#options VM_KMEM_SIZE="(12*1024*1024)"
#options VM_KMEM_SIZE_MAX="(256*1024*1024)"
#options VM_KMEM_SIZE_SCALE="4"

#将这份配置文件保存到kernel文件中,以便以后读取
#使用这样的命令:
# strings -n 3 /kernel | sed -n 's/^___//p' > APACHE
#这里我们不需要这样做。
#options INCLUDE_CONFIG_FILE # 包含配置文件到内核中

#options USER_LDT #某些ports需要这么做,未来的FreeBSD可能也需要

# 对ISA总线,AUTO_EOI将启用8259A的自动EOI功能
# 这意味着每次中断调用节省0.7-1.25微秒,但不应用于笔记本
options AUTO_EOI_1

#options AUTO_EOI_2 # 请不要和AUTO_EOI_1同时打开,否则会崩溃。
#options MAXMEM="(1024*1024)" #除非你的BIOS设置不正确造成
                #无法检测内存大小,单位是KB

#在xntpd(Cool的监督下启用内核相同步逻辑
#options PPS_SYNC

#IPFirewall。我们需要的功能IPFilter都提供,并且更高效
#除非你需要IPFirewall的某些专有功能,否则这部分不必编译
#options IPFIREWALL   #防火墙
#options IPFIREWALL_VERBOSE #允许防火墙日志
#options IPFIREWALL_FORWARD #允许透明代理
#options IPFIREWALL_VERBOSE_LIMIT=100 #限制日至
#options IPFIREWALL_DEFAULT_TO_ACCEPT #默认允许所有IP包


#options IPFW2 # IPFW2,这一特性并非4.x默认。

options IPFILTER    #ipfilter支持
options IPFILTER_LOG  #ipfilter日志
options IPFILTER_DEFAULT_BLOCK #默认阻断所有IP包

# 静态数据包过滤许可规则(直接放入内核)
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP

#options DEVICE_POLLING #改善网络响应时间,但realtek不支持

options IPSTEALTH    #支持秘密IP转发
options RANDOM_IP_ID  #随机IP ID,阻止信息泄漏
#options TCP_DROP_SYNFIN #抛弃SYN+FIN包,阻止检测服务器
            #的TCP协议栈、操作系统,但这对Web
            #服务器是不推荐的,因为不符合RFC1644

#options QUOTA     #启用配额支持,但此处没用

makeoptions CONF_CFLAGS=-fno-builtin #禁用memcpy等GCC默认的影响性能的设置

# 根据内存大小配置应用程序可用的最大内存
# 这台机器有1GB内存
# FreeBSD默认是允许使用128MB
options MAXDSIZ="(1024*1024*1024)"
options MAXSSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"

#options PMAP_SHPGPERPROC=201 #每一进程的可用PV项数。

#options NO_SWAPPING      #禁用交换区。不推荐

options PANIC_REBOOT_WAIT_TIME=0 #内核异常(kernel panic)立即重启

#核心内存大小限制。我倾向使用默认值
#options VM_KMEM_SIZE="(12*1024*1024)"
#options VM_KMEM_SIZE_MAX="(256*1024*1024)"
#options VM_KMEM_SIZE_SCALE="4"

#将这份配置文件保存到kernel文件中,以便以后读取
#使用这样的命令:
# strings -n 3 /kernel | sed -n 's/^___//p' > APACHE
#这里我们不需要这样做。
#options INCLUDE_CONFIG_FILE # 包含配置文件到内核中

#options USER_LDT #某些ports需要这么做,未来的FreeBSD可能也需要

#在xntpd(Cool的监督下启用内核相同步逻辑
#options PPS_SYNC

#IPFirewall。我们需要的功能IPFilter都提供,并且更高效
#除非你需要IPFirewall的某些专有功能,否则这部分不必编译
#options IPFIREWALL   #防火墙
#options IPFIREWALL_VERBOSE #允许防火墙日志
#options IPFIREWALL_FORWARD #允许透明代理
#options IPFIREWALL_VERBOSE_LIMIT=100 #限制日至
#options IPFIREWALL_DEFAULT_TO_ACCEPT #默认允许所有IP包


#options IPFW2 # IPFW2,这一特性并非4.x默认。

options IPFILTER    #ipfilter支持
options IPFILTER_LOG  #ipfilter日志
options IPFILTER_DEFAULT_BLOCK #默认阻断所有IP包

# 静态数据包过滤许可规则(直接放入内核)
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP

#options DEVICE_POLLING #改善网络响应时间,但realtek不支持

options IPSTEALTH    #支持秘密IP转发
options RANDOM_IP_ID  #随机IP ID,阻止信息泄漏
#options TCP_DROP_SYNFIN #抛弃SYN+FIN包,阻止检测服务器
            #的TCP协议栈、操作系统,但这对Web
            #服务器是不推荐的,因为不符合RFC1644

#options QUOTA     #启用配额支持,但此处没用

makeoptions CONF_CFLAGS=-fno-builtin #禁用memcpy等GCC默认的影响性能的设置

# 根据内存大小配置应用程序可用的最大内存
# 这台机器有1GB内存
# FreeBSD默认是允许使用128MB
options MAXDSIZ="(1024*1024*1024)"
options MAXSSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"

#options PMAP_SHPGPERPROC=201 #每一进程的可用PV项数。

#options NO_SWAPPING      #禁用交换区。不推荐

options PANIC_REBOOT_WAIT_TIME=0 #内核异常(kernel panic)立即重启

#核心内存大小限制。我倾向使用默认值
#options VM_KMEM_SIZE="(12*1024*1024)"
#options VM_KMEM_SIZE_MAX="(256*1024*1024)"
#options VM_KMEM_SIZE_SCALE="4"

#将这份配置文件保存到kernel文件中,以便以后读取
#使用这样的命令:
# strings -n 3 /kernel | sed -n 's/^___//p' > APACHE
#这里我们不需要这样做。
#options INCLUDE_CONFIG_FILE # 包含配置文件到内核中

#options USER_LDT #某些ports需要这么做,未来的FreeBSD可能也需要

# 下面两项在制作对称多处理器(SMP)内核时需要
#options SMP      #对称多处理器内核
#options APIC_IO    #对称(APIC) I/O

device isa
device eisa
device pci

# 软驱
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
#
# 如果使用东芝Libretto以及他的Y-E Y-E Data PCMCIA软驱
# 不要使用上面的fdc0,而应使用
#device fdc0

# ATA以及ATAPI设备
# 下面两行被删去,因为新系统不再需要它们。
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15

device ata
device atadisk # ATA 磁盘驱动器(IDE硬盘)
device atapicd # ATAPI 光驱
device atapifd # ATAPI 软驱
device
atapist # ATAPI 磁带机
options ATA_STATIC_ID #静态设备编号[新系统不再需要]

# SCSI控制器
device ahb # EISA AHA1742 family
device ahc # AHA2940 板载AIC7xxx设备
device amd # AMD 53C974 (Tekram DC-390(T))
device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (较新的芯片组)
options SYM_SETUP_LP_PROBE_MAP=0x40
# 使用ncr可以在配置了sym和ncr的情况下挂接旧的NCR设备

device adv0 at isa?
device adw
device bt0 at isa?
device aha0 at isa?
device aic0 at isa?

device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50

# SCSI 外设
device scbus # SCSI 总线(如果使用SCSI设备,必须有)
device da # Direct Access (硬盘)
device sa # Sequential Access (磁带,等等)
device cd # CD
device pass # Passthrough device (直接 SCSI 访问)

# 通过SCSI子系统接口的RAID控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device dpt # DPT Smartcache - See LINT for options!
device iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
device ciss # Compaq SmartRAID 5* series

# RAID控制器
device aac # Adaptec FSA RAID, Dell PERC2/PERC3
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
device twe # 3ware Escalade

# SCSI控制器
device ahb # EISA AHA1742 family
device ahc # AHA2940 板载AIC7xxx设备
device amd # AMD 53C974 (Tekram DC-390(T))
device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (较新的芯片组)
options SYM_SETUP_LP_PROBE_MAP=0x40
# 使用ncr可以在配置了sym和ncr的情况下挂接旧的NCR设备

device adv0 at isa?
device adw
device bt0 at isa?
device aha0 at isa?
device aic0 at isa?

device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50

# SCSI 外设
device scbus # SCSI 总线(如果使用SCSI设备,必须有)
device da # Direct Access (硬盘)
device sa # Sequential Access (磁带,等等)
device cd # CD
device pass # Passthrough device (直接 SCSI 访问)

# 通过SCSI子系统接口的RAID控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device dpt # DPT Smartcache - See LINT for options!
device iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
device ciss # Compaq SmartRAID 5* series

# RAID控制器
device aac # Adaptec FSA RAID, Dell PERC2/PERC3
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
device twe # 3ware Escalade

# atkbdc0 控制键盘和PS/2鼠标[这台机器没配鼠标,也不用图形界面]
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12 #鼠标器

device vga0 at isa?
options VGA_NO_FONT_LOADING # 不需要保存/加载字体[节省内存]
options VGA_NO_MODE_CHANGE  # 不需要修改显示模式[节省内存]

# 启动画面和屏幕保护程序[我的服务器平时不接显示器]
pseudo-device splash

# syscons 是默认的控制台驱动,类似SCO控制台
device sc0 at isa? flags 0x100
options MAXCONS=4 # 不需要更多的控制台
options SC_DISABLE_REBOOT # 禁止Ctrl+Alt+Del重启,必须以root登录。

options SC_NO_CUTPASTE   # 禁用剪贴板[节省内存]
options SC_NO_FONT_LOADING # 禁用字体加载[节省内存]
options SC_NO_SYSMOUSE   # 禁用鼠标[节省内存]

options SC_NO_CUTPASTE   # 禁用剪贴板[节省内存]
options SC_NO_FONT_LOADING # 禁用字体加载[节省内存]
options SC_NO_SYSMOUSE   # 禁用鼠标[节省内存]

# 对于pcvt vt220控制台,启用这个和PCVT_FREEBSD
#device vt0 at isa?
#options XSERVER # 在vt控制台支持X服务器
#options FAT_CURSOR # 使用大光标
# 如果你是用ThinkPad,将下面的一行和其他PCVT相关设备的注释去掉
#options PCVT_SCANSET=2 # IBM使用非标准键盘

# 浮点运算支持 - 请勿禁用
device npx0 at nexus? port IO_NPX irq 13

# 电源管理支持[这台机器期待长期运行]
device apm0 at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) 支持
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# 串口(COM)
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9

# 并口
device ppc0 at isa? irq 7
device ppbus # 并口总线 (所有并口设备都需要)
device lpt  # 打印机
device plip  # 并口TCP/IP
device ppi  # 并口接口设备
#device vpo  # 需要scbus和da

# PCI 以太网适配器
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')

# PCCARD (PCMCIA) 支持
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# 串口(COM)
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9

# 并口
device ppc0 at isa? irq 7
device ppbus # 并口总线 (所有并口设备都需要)
device lpt  # 打印机
device plip  # 并口TCP/IP
device ppi  # 并口接口设备
#device vpo  # 需要scbus和da

# PCI 以太网适配器
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')

# 使用公共的MII总线控制器代码的PCI以太网适配器
# 注意:一定要保留'device miibus'以确保可用
device miibus # MII总线支持
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 NICs

device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device ste # Sundance ST201 (D-Link DFE-550TX)
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device bge # Broadcom BCM570x (``Tigon III'')

# ISA以太网适配器
# 'device ed' 需要 'device miibus'
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
device fe0 at isa? port 0x300
# Xircom Ethernet
device xe
# PRISM I IEEE 802.11b wireless NIC.
device awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 irq 10 drq 0
device cs0 at isa? port 0x300
device sn0 at isa? port 0x300 irq 10

# ISA以太网适配器
# 'device ed' 需要 'device miibus'
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
device fe0 at isa? port 0x300
# Xircom Ethernet
device xe
# PRISM I IEEE 802.11b wireless NIC.
device awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 irq 10 drq 0
device cs0 at isa? port 0x300
device sn0 at isa? port 0x300 irq 10

# 伪设备 - 数字表示分配多少个
pseudo-device loop  # 环回网络
pseudo-device ether # 以太网支持
pseudo-device sl 1  # 核心级SLIP
pseudo-device ppp 1 # 核心级PPP
pseudo-device tun  # 数据包隧道
级PPP
pseudo-device tun  # 数据包隧道

pseudo-device pty  # 伪-tty(telnet等等)
pseudo-device md   # 内存虚拟盘
pseudo-device gif  # IPv6和IPv4隧道
pseudo-device faith 1 # IPv6-to-IPv4转发(翻译)

# `bpf'伪设备将启用伯克利数据包过滤器。
# 小心由此带来的管理问题
pseudo-device bpf #Berkeley packet filter

# USB支持
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device uscanner # Scanners
device urio # Diamond Rio MP3 Player

# USB 以太网,需要mii
device aue # ADMtek USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet

# USB 以太网,需要mii
device aue # ADMtek USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet

LINT中对于配置有更详细的说明。由于时间关系,这里不给出LINT的完整翻译。对于常用的LINT配置(蓝色

,但被注释的部分),我做了一点说明。

需要说明的是,我个人的经验,在较旧的AMD处理器上运行FreeBSD服务器不是一个明智的选择。我个人的经验是,在K6上运行FreeBSD,只要CPU占用超过98%,系统就会死机。这可能是由于FreeBSD的设计过分地挖掘了系统的性能(按FreeBSD.org自己的说法,榨干服务器的每一滴油Smile,旧的AMD处理器可能会吃不消;但我在双AMD Athlon MP 1900+上运行FreeBSD没有出现类似的情况。与AMD不同,在Intel的全系列处理器上(包括存在F00F bug的Pentium处理器,486,Pentium-III, Pentium 4, Celeron-II 667等等)我从未遇到过任何问题。

这台服务器的网卡使用的是Realtek-8139芯片,这样的网卡在市场上非常常见。为了确认你的网卡型号,请运行ifconfig(Cool。

编辑完配置文件,是用下面的命令编译、安装内核:

cd /usr/src
make kernel KERNCONF=APACHE

LINT中对于配置有更详细的说明。由于时间关系,这里不给出LINT的完整翻译。对于常用的LINT配置(蓝色,但被注释的部分),我做了一点说明。

需要说明的是,我个人的经验,在较旧的AMD处理器上运行FreeBSD服务器不是一个明智的选择。我个人的经验是,在K6上运行FreeBSD,只要CPU占用超过98%,系统就会死机。这可能是由于FreeBSD的设计过分地挖掘了系统的性能(按FreeBSD.org自己的说法,榨干服务器的每一滴油Smile,旧的AMD处理器可能会吃不消;但我在双AMD Athlon MP 1900+上运行FreeBSD没有出现类似的情况。与AMD不同,在Intel的全系列处理器上(包括存在F00F bug的Pentium处理器,486,Pentium-III, Pentium 4, Celeron-II 667等等)我从未遇到过任何问题。

这台服务器的网卡使用的是Realtek-8139芯片,这样的网卡在市场上非常常见。为了确认你的网卡型号,请运行ifconfig(Cool。

编辑完配置文件,是用下面的命令编译、安装内核:

cd /usr/src

make kernel KERNCONF=APACHE

注意,实际应用中,请将APACHE换成你自己的配置文件名。

重新编译内核需要重新启动系统才能够生效。

上面的配置文件是我根据LINT以及经验编写的配置文件,其编写目标在于尽可能避免不必要的代码,尽可能高效,尽可能安全,并且,在崩溃(注意,FreeBSD事实上很少会崩溃,我管理的FreeBSD机器的崩溃原因目前为止只有硬件故障或停电)之后尽可能快地恢复。(FreeBSD4.x目前还不支持后台fsck,因此启用softupdates只是改善运行性能和文件系统可靠性,而不保证重新启动速度的提高)

由于在内核中屏蔽掉了大量的设备,因此,休想以这个内核启动去操作软盘或光盘,或者使用并口,以及SCSI设备(虽然这可能不是你想要的)。此外,这个内核在没有root允许的情况下,是不能在控制台上按Ctrl+Alt+Del启动的。如果你希望其他工作人员在停电(总之,或类似肯定引起系统关机的情况)之前能够帮助你关闭系统,你可能需要其他方法,比如告诉他root口令(假如那个人可以信任),sudo(比较好的方法,只允许他做reboot),或者去掉禁用Ctrl+Alt+Del的设置。此外,经过这样处理的内核只支持Realtek-8139芯片的网卡,因此,如果你的情况和我不同,应该做适当的修改。 如果您对这个配置有什么建议,欢迎给我写信。

如此编译的内核大约是GENERIC内核大小的一半,当然,由于节省了一些内存,它的性能肯定会更好。
【转】FREEBSD升级及优化全攻略 重庆.樊礼(梦飞) 欢迎转载﹐本文遵循GNU协议规则﹗ 前言 升级源码树 安装cvsup 升级系统源码树及ports 重新编译内核 优化编译环境 升级操作系统 升级配置文件 重新编译内核 重新启动服务器 优化FREEBSD 检查升级情况 打开防火墙 优化内核参数 安装防火墙 安装数据库MYSQL 安装mysql40-server和mysql40-client 安装phpmyadmin 阅读详情

相关推荐

从选卡到验证:CST仿真GPU加速全流程实战指南

本文详细介绍了CST仿真中GPU加速的全流程实战指南,从硬件选型到软件配置,再到性能验证和常见问题排查。通过对比专业卡与游戏卡的性能差异,提供硬件选型建议,并分享驱动安装、关键设置及CST软件配置的黄金法则,帮助用户显著提升仿真效率。

weixin_30650039的博客 394

腾讯轻量云服务器安装FREEBSD

腾讯轻量云服务器安装freebsd

xxxxxxxxxxxxxxu的博客 2310

《深入浅出强化学习原理入门》学习笔记(三)机器人找金币应用实例

《深入浅出强化学习原理入门》学习笔记(三)MDP应用实例

lxs3213196的博客 3187

集群系统概述

 集群系统概述1引言第一台计算机问世已经半个世纪了,在这期间计算机技术经历了五次更新换代。更新换代的标志主要有两个:一个是计算机的器件,另一个是系统体系结构。从第一代到第五代计算机,器件发生了根本的变化:从电子管、晶体管发展到集成电路,而集成电路又经小规模、中规模、大规模、非常大规模等阶段发展到超大规模阶段。系统体系结构的不断改进,许多重要的概念的不断提出并且得

linfengfeiye的专栏 8519

爬取微博热搜并分析情绪趋势:NLP + 可视化一体化实践

本文介绍了如何用Python构建微博热搜关键词爬取与情绪分析系统。通过requests库获取微博热搜数据,使用snownlp进行中文情绪分析(0-1评分),并借助pandas、matplotlib和seaborn实现数据可视化。文章提供了从环境配置、数据采集到情绪计算和趋势图绘制的完整代码示例,同时建议扩展思路包括评论分析、多维度情绪分类和舆情预警系统搭建。这套方法可以帮助快速洞察公众情绪变化,为舆情监测和市场研究提供数据支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 821

AI驱动视频剪辑自动化:cutcli命令行工具重塑工作流

视频剪辑自动化是提升内容生产效率的关键技术,其核心原理在于通过程序化指令替代手动操作,将创意执行过程代码化。这项技术的价值在于能够将创作者从重复性劳动中解放,实现批量化、标准化的视频内容生产,尤其适用于社交媒体运营、产品宣传等高频产出场景。通过封装专业软件(如剪映/CapCut)的底层草稿格式,自动化工具在保证工业级渲染质量的同时,提供了可编辑的中间态,为AI智能体(Agent)与生产工具的结合提供了清晰接口。本文以cutcli为例,深入探讨了如何通过命令行工具和AI助手,构建从自然语言指令到可编辑视频草稿

weixin_27210125的博客 1064

数据共享服务器配置(即:Windows中的网上邻居)

数据共享服务器配置(即:Windows中的网上邻居)一、相关名词: samba:软件名称 smb和nmb:smb是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问(如:在windows的我的电脑中,输入"\\10.0.0.1")。nmb是解析用的,就是把Linux机器所共享的工作组及在此工作组下的netbios name解析...

weixin_34138255的博客 462

从0到1做AI漫剧:即梦+豆包+剪映+红果全流程实战

AI视频生成正在重塑内容创作的生产方式,它让原本高门槛的影视制作,变成了一条由文本、画面、剪辑与分发环节协同的流水线。理解其底层原理,在于将大模型的语义理解、图像生成与视频合成能力,与工程化的流程管理相结合,从而实现从创意到成片的自动化输出。这种技术的价值,不仅体现在降低制作成本,更在于让个人创作者能够独立完成高质量短剧,并快速迭代内容。在短剧、短视频、广告营销等场景中,利用即梦生成画面、豆包编写剧本、剪映完成剪辑、红果进行分发的组合,已成为一种被广泛验证的实践路径。本文聚焦AI漫剧制作,从环境准备、分镜设

weixin_34072637的博客 382

GPS PPS时间同步(gpsd、chrony、 pps)

为了实现更高精度的时间同步,可以结合 gpsd、chrony 和 pps 来构建一个高精度的时间同步系统。其中,gpsd 用于从 GPS 设备获取时间和位置信息,pps 提供精确的秒脉冲信号,chrony 则用于将本地系统时间与 GPS 时间进行同步。​这种方案的优势在于,它结合了 GPS 的高精度时间基准和 chrony 的高效同步算法,同时利用 pps 信号来进一步提高时间同步的精度。该方案的时间同步精度可以达到微秒级,满足大多数高精度时间同步的需求。这两个配置通常结合使用,形成PPS+NMEA。

m0_50136807的博客 3480

2026年【江苏“信息与未来”编程思维】真题及题解(T6:桌面游戏)

2026年【江苏“信息与未来”编程思维】真题及题解(T6:桌面游戏)

王老师青少年编程 534

戴尔PowerEdge R740服务器安装Debian系统后无法显示磁盘阵列

【代码】戴尔PowerEdge R740服务器安装Debian系统后无法显示磁盘阵列。

路~可以走过 1898

freebsd服务器维护,服务器_FreeBSD服务器的安装与优化(3),“简单的东西不容易出问题。 - phpStudy...

FreeBSD服务器的安装与优化(3)“简单的东西不容易出问题。”至理名言!事实上,削减操作系统中那些对你没用的功能是一件非常重要的事情。这不仅仅意味着一个更小的操作系统,占用更少的磁盘空间(现在的硬盘少说也有几十GB,几兆的空间根本就是九牛一毛),而且意味着你被攻击的可能性也更低——简而言之,你不需要担心操作系统中没有安装的模块存在问题会对你造成影响。这篇文章中,我们将一起对FreeBSD-i3...

weixin_26643379的博客 868

Android应用发布到Google Play的步骤和注意事项

发布Android应用到Google Play是将您的应用分享给全球用户的重要步骤。Google Play是Android平台上最大的应用分发渠道之一,使得开发者可以轻松将他们的应用推广到数百万的用户。在本篇博客中,我们将逐步介绍如何将您的Android应用发布到Google Play,同时提供详细的步骤和注意事项,以及相关的代码示例。

2201_76125261的博客 850

如何快速搭建Sunshine游戏串流服务器:3步完成跨平台部署

想要在任何设备上玩PC游戏吗?Sunshine开源游戏串流服务器就是你的终极解决方案!这个强大的自托管工具支持Windows、Linux、macOS和FreeBSD系统,让你轻松实现跨设备游戏共享。无论你是想在客厅电视上享受大屏体验,还是在平板上继续游戏进度,Sunshine都能完美满足你的需求。最重要的是,它完全免费,数据完全私有,让你真正掌控自己的游戏体验。 ## 🌟 为什么你需要Suns

gitblog_00321的博客 148

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ContiNew Admin 版本演进全解析:从 v1.0 到 v4.2 的后端规范与技术架构升级路线图

> 导读:本文以 ContiNew Admin 官方 [CHANGELOG.md](https://link.gitcode.com/i/c838e6b9a750a10f143ebb8ce71289af) 为骨架,系统梳理这个多租户中后台管理系统框架从 v1.0.0(2023-03)到 v4.2.0(2026-10)四个大版本的技术演进脉络,并结合当前仓库源码深入剖析认证体系、分片上传、文件回收站

gitblog_00546的博客 222

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python 实战 K-Means 聚类:从合成数据实验到 TCGA 癌症基因表达聚类管道

K-Means 是最经典的无监督聚类算法,本指南以 [practical-k-means](https://link.gitcode.com/i/f10634b519ca51595746df072209ecab) 仓库中的两个 Jupyter Notebook 为主线,完整演示如何用 scikit-learn 在合成数据上落地 K-Means,并借助肘部法则与轮廓系数确定最佳聚类数;随后把同一套方

gitblog_00870的博客 198

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

eve 动态连接(Dynamic Connections)完全指南:在会话与回合边界按需解析 MCP/OpenAPI 连接

动态连接(Dynamic Connections)是 eve 框架中的一种连接声明形态:连接不再于编译期静态固化在 `agent/connections/` 目录里,而是由 `defineDynamic({ events })` 注册的解析器在会话启动(`session.started`)或回合启动(`turn.started`)时,根据当前调用者的认证身份实时解析出一组 MCP 客户端连接或 O

gitblog_01105的博客 719

FREEBSD升级及优化全攻略

       前言 升级源码树 安装cvsup 升级系统源码树及ports 重新编译内核 优化编译环境 升级操作系统 升级配置文件 重新编译内核 重新启动服务器 优化FREEBSD 检查升级情况 打开防火墙 优化内核参数 安装防火墙 安装数据库MYSQL 安装mysql40-server和mysql40-client 安装phpmyadmin 安装FTP服务器 安装ftp软件(使用pure-f

JDMBA的专栏 5353

FreeBSD系统下Unbound DNS服务器部署与优化指南

DNS作为互联网基础设施的核心组件,其性能与安全性直接影响网络服务质量。递归DNS服务器通过缓存机制减少外部查询,显著提升解析效率。Unbound作为轻量级递归DNS解决方案,采用模块化架构设计,支持DNSSEC安全验证,特别适合FreeBSD这类注重稳定性的操作系统。在工程实践中,Unbound相比传统BIND方案内存占用降低66%,IPv6环境下响应速度提升30%,配合NSD可构建完整DNS服务体系。通过合理配置缓存策略、负载均衡机制和安全加固措施,能够满足从企业内网到云平台的各种部署场景需求。

weixin_33850890的博客 368

基于GPT和ZFS的FreeBSD安装

引子07年我就在《人人都需要一台服务器》中说到,我有个家用服务器,是用的一台淘汰的P3微型台式机做的,装的是ubuntu系统。主要的工作是网络防火墙,文件共享,源码版本控制,开发用数据库和WebServer,SSH/SFTP等。这么多年一直工作正常。但是毕竟时代在发展,这机器实在是太老了,还是换了吧。当年设想的省电方案现在已经很普及了,成品的NAS服务器就不说了,自己组装也有很多选择,比如INTE

猛禽的编程艺术 1万+

FreeBSD之WEB服务器配置

FreeBSD 之WEB服务器配置全攻略 <spanlang=EN-US style=font-size:12.0pt;mso-font-kerning:0pt><spanstyle=mso-element:field-begin> TOC<spanstyle=mso-spacerun:yes>  /* MERGEFORMAT FreeBSD 之WEB服务器配置全攻

爱自由 1917
上一篇: FreeBSD服务器的安装与优化(1)
下一篇: FreeBSD网站平台建设全过程(一、系统安装)
nmdd
博客等级 码龄22年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值