编译linux内核(三)

news2024/9/26 1:21:20

内核配置选项[Centos]

    • 挑选核心功能
    • 选项介绍
      • 1. General setup(通用选项)
      • 2. Enable loadable module support
      • 3. Enable the block layer
      • 4. Processor type and features(CPU 的类型与功能选择)
      • 5. Power management and ACPI options(电源管理功能)
      • 6. Bus options (PCI etc.)(些总线 (bus) 的选项 )
      • 7. Executable file formats(编译后执行档的格式)
      • 8. Networking support(核心的网络功能)
      • 9. Device Drivers(各项装置的驱动程序)
      • 10. File system (文件系统的支援 )
      • 11. Kernel hacking/Security Options/Cryptographic API(核心黑客、信息安全、密码应用 )
      • 12. Virtualization/Library routines(虚拟化与函式库)

本文中编译的内核版本为6.3.9,而鸟叔编译的版本是3.10.X版本,部分配置选项已经有很多不同了,但是基础选项差异不太大。本文仅作参考使用,一切以实际为准

挑选核心功能

make XXconfig 

不知道你有没有发现 /boot/ 底下存在一个名为 config-xxx 的文件?那个文件其实就是核心功能列 表文件! 我们底下要进行的动作,其实就是作出该文件!而我们后续小节所要进行的编译动作,其 实也就是透过这个文件来处理的! 核心功能的挑选,最后会在/usr/src/kernels/linux-3.10.89/ 底下产 生一个名为 .config 的隐藏档, 这个文件就是 /boot/config-xxx 的文件啦!

[root@node-253 linux-6.3.9]# ll /boot/
total 184880
-rw-r--r--. 1 root root   153619 Mar  7 23:46 config-3.10.0-1160.88.1.el7.x86_64
-rw-r--r--. 1 root root   153591 Oct 20  2020 config-3.10.0-1160.el7.x86_64
...

那么这个文件如何建立呢? 你可以透过非常多的方法来建立这个文件! 常见的方法有:

make menuconfig #最常使用的,是文本模式底下可以显示类似图形接口的方式,不需要启动 X Window 就能够挑选核心功能 选单! 

make oldconfig #透过使用已存在的 ./.config 文件内容,使用该文件内的设定值为默认值,只将新版本核心内的新功能选项列出让用户选择, 可以简化核心功能的挑选过程!对于作为升级核心原始码后的功能挑选来说,是非常好用的一个项目! 

make xconfig #透过以 Qt 为图形接口基础功能的图形化接口显示,需要具有 X window 的支持。例如 KDE 就是透过 Qt 来设计的 X Window,因此你如果在 KDE 画面中,可以使用此一项目。 

make gconfig #透过以 Gtk 为图形接口基础功能的图形化接口显示,需要具有 X window 的支持。例如 GNOME 就是透 过 Gtk 来设计的 X Window,因此你如果在 GNOME 画面中,可以使用此一项目。 

make config #最旧式的功能挑选方法,每个项目都以条列式一条一条的列出让你选择,如果设定错误只能够再次选择, 很不人性化啊!

大致的功能选择有上述的方法,更多的方式可以参考核心目录下的 README 文件。鸟哥个人比较 偏好 make menuconfig 这个项目啦!如果你喜欢使用图形接口, 然后使用鼠标去挑选所需要的功能 时,也能使用 make xconfig 或 make gconfig ,不过需要有相关的图形接口支持! 如果你是升级核 心原始码并且需要重新编译,那么使用 make oldconfig 会比较适当!

选项介绍

在这里插入图片描述
菜单选项中的行首括号代表的含义如下:

符号说明
[ ]表示可以内置或者移除
<>表示可以内置,模块化或者移除
{ }表示内置或模块化(根据其他功能选择)
- -根据其他功能选择

对于每一个配置选项,用户可以回答"y"、“m"或"n”。

  • "y"表示将相应特性的支持或设备驱动程序编译进内核;
  • "m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;
  • "n"表示内核不提供相应特性或驱动程序的支持。

只有<>才能选择M

1. General setup(通用选项)

与 Linux 最相关的程序互动、核心版本说明、是否使用发展中程序代码等信息都在这里设定的。 这里的项目主要都是针对核心与程序之间的相关性来设计的,基本上,保留默认值即可! 不要随便取消底下的任何一个项目,因为可能会造成某些程序无法被同时执行的困境喔! 不过底下有非常多新 的功能,如果你有不清楚的地方,可以按 进入查阅,里面会有一些建议! 你可以依据 Help 的建议来选择新功能的启动与否!

(vbird)  Local version - append to kernel release 
[*] Automatically append version information to the version string     # 我希望我的核心版本成为 3.10.89.vbird ,那这里可以就这样设定!     Kernel compression mode (Bzip2)  --->     # 建议选择成为 Bzip2 即可,因为压缩比较佳! .....(其他保留默认值)..... 
 
<M> Kernel .config support 
[ ]   Enable access to .config through /proc/config.gz (NEW)     # 让 .config 这个核心功能列表可以写入实际的核心文件中!所以就不需要保留 .config 文件啰! (20) Kernel log buffer size (16 => 64KB, 17 => 128KB)     # CentOS 7 增加了核心的登录文件容量!占用了 2 的 20 次方,大概用了 1MB 的容量! .....(其他保留默认值)..... 
 
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 
()    Initramfs source file(s)     # 这是一定要的!因为要支持开机时加载 initail RAM disk 嘛! 
[ ] Optimize for size  # 减低核心的文件大小,其实 gcc 参数使用 -Os 而不是 -O2。不过我们不是嵌入式系统,不太需要! 
[ ] Configure standard kernel features (expert users)  ---> 
[ ] Embedded system     # 上面两个在决定是否支持嵌入式系统呢?我们这里是桌机,所以这个不用选择了! 

2. Enable loadable module support

要让你的核心能够支持动态的核心模块,那么底下的第一个设定就得要启动才行

[*] Enable loadable module support  ---> <==底下为细项   --- Enable loadable module support 
  [*]   Forced module loading 
  [*]   Module unloading   [*]     Forced module unloading  # 其实鸟哥认为这个项目可能可以选择的!免得常常无法卸除模块!   
  [*]   Module versioning support 
  [*]   Source checksum for all modules 
  [*]   Module signature verification 
  [ ]     Require modules to be validly signed 
  [*]     Automatically sign all modules         Which hash algorithm should modules be signed with? # 可以选择 SHA256 即可! 

3. Enable the block layer

 -*- Enable the block layer  --->  <==看吧!预设就是已经选择了!底下为细项   
  -*-   Block layer SG support v4 
  -*-   Block layer SG support v4 helper lib 
  [*]   Block layer data integrity support 
  [*]   Block layer bio throttling support         Partition Types  --->  # 至少底下的数个项目要选择!   
  [*]     Macintosh partition map support 
  [*]     PC BIOS (MSDOS partition tables) support 
  [*]     Windows Logical Disk Manager (Dynamic Disk) support 
  [*]     SGI partition support 
  [*]     EFI GUID Partition support 
  .....(其他保留默认值)..... 
   		  IO Schedulers  --->  # 磁盘队列的
			<*> MQ deadline I/O scheduler 
			<*> Kyber I/O scheduler  
			< > BFQ I/O scheduler      

4. Processor type and features(CPU 的类型与功能选择)

进入『Processor type and features』后,请挑选你主机的实际 CPU 形式。鸟哥这里使用的是 Intel E5 的 CPU, 而且鸟哥的主机还有启动 KVM 这个虚拟化的服务 (在一部主机上面同时启动多个操作系统), 因此,所以底下的选择是这样的

.....(其他保留默认值).....   
[*] Linux guest support  --->     # 提供 Linux 虚拟化功能   
  [*]   Enable paravirtualization code   # 至少底下这几样一定要有选择才好!   
  [*]   Paravirtualization layer for spinlocks 
  [*]   Xen guest support 
  [*]   KVM Guest support (including kvmclock) 
  [*]   Paravirtual steal time accounting 
.....(其他保留默认值)..... 
Processor family (Generic-x86-64)  --->  # 除非你是旧系统,否则就用他!   
  [*] Enable Maximum number of SMP Processors and NUMA Nodes 
  [*] Multi-core scheduler support       
Preemption Model (No Forced Preemption (Server)  --->  # 调整成 server 喔!原本是 desktop 
.....(其他保留默认值).....  
Timer frequency (300 HZ)  --->  # server 设定成 300 即可!     # 这个项目则与核心针对某个事件立即回应的速度有关。Server 用途可以调整到     # 300Hz 即可,如果是桌面计算机使用,需要调整高一点,例如 1000Hz 较佳! 
.....(其他保留默认值).....

5. Power management and ACPI options(电源管理功能)

如果选择了『Power management and ACPI options』之后,就会进入系统的电源管理机制中。 其实电 源管理机制还需要搭配主板以及 CPU 的相关省电功能,才能够实际达到省电的效率啦! 不论是 Server 还是 Desktop 的使用,在目前电力不足的情况下,能省电就加以省电吧!

.....(其他保留默认值).....   
[*] ACPI (Advanced Configuration and Power Interface) Support  --->     # 对嵌入式系统来说,由于可能会增加核心容量故需要考虑考虑。至于 desktop/server 当然就选择啊     
# 至于内容细项大致保持默认值即可     
	CPU Frequency scaling  --->     # 决定 CPU 频率的一个重要项目,基本上的项目是 ondemand 与 performance 两者!     
	<M>   CPU frequency translation statistics 
    [*]     CPU frequency translation statistics details           
    		Default CPUFreq governor (ondemand)  --->  # 现在大家都建议用这个!     
    -*-   'performance' governor 
    <*>   'powersave' governor 
    <*>   'userspace' governor for userspace frequency scaling 
    -*-   'ondemand' cpufreq policy governor 
    <*>   'conservative' cpufreq governor 
    x86 CPU frequency scaling drivers  --->           # 这个子项目内全部都是省电机制,能编成模块的全部选择!要加入核心的都加入就对了! 

6. Bus options (PCI etc.)(些总线 (bus) 的选项 )

这个『Bus options (PCI etc.)』项目则与总线有关啦!分为最常见的 PCI 与 PCI-express 的支持,还有笔记本电脑常见的 PCMCIA 插卡啊!要记住的是,那个 PCI-E 的界面务必要选取!不然你的新 显示适配器可能会捉不到!

[*] PCI support 
[*]   Support mmconfig PCI config space access 
[*]   PCI Express support 
<*>   PCI Express Hotplug driver 
.....(其他在 PCI Express 底下的项目大多保留默认值)..... 
-*-   Message Signaled Interrupts (MSI and MSI-X) 
<*>   PCI Stub driver   # 如果要玩虚拟化,这个部份建议编进核心! 
.....(其他保留默认值)..... 

7. Executable file formats(编译后执行档的格式)

选择『Executable file formats / Emulations』会见到如下选项。 底下的选项必须要勾选才行喔!因为 是给 Linux 核心运作执行文件之用的数据。通常是与编译行为有关啦!

-*- Kernel support for ELF binaries 
[*] Write ELF core dumps with partial segments 
<*> Kernel support for scripts starting with #! 
<M> Kernel support for MISC binaries 
[*] IA32 Emulation 
<M>   IA32 a.out support 
[*]   x32 ABI for 64-bit mode # 因为我们的 CentOS 已经是纯 64 位的环境!所以个人建议这里还是要选择仿真 32 位的功能! # 不然若有些比较旧的软件,恐怕会无法被你的系统所执行喔! 

8. Networking support(核心的网络功能)

这个『Networking support』项目是相当重要的选项,因为他还包含了防火墙相关的项目!就是未来在 服务器篇会谈到的防火墙 iptables 这个数据啊!所以,千万注意了!在这个设定项目当中,很多东 西其实我们在基础篇还没有讲到, 因为大部分的参数都与网络、防火墙有关!由于防火墙是在启动 网络之后再设定即可,所以绝大部分的内容都可以被编译成为模块,而且也建议你编成模块!有用到再载入到核心即可啊!

--- Networking support 
      Networking options  ---> 
	  # 就是这个光啊!里面的数据全部都是重要的防火墙项目!尽量编成模块啰!       
	  # 至于不晓得功能的部分,就尽量保留默认值即可!       
	  # 底下的数据中,鸟哥只有列出原本没有选择,后来建议选择的部份       
	  [*] Network packet filtering framework (Netfilter)  --->       
	  # 这个就是我们一直讲的防火墙部分!里面细项几乎全选择成为模块!           
	  	  --- Network packet filtering framework (Netfilter) 
                Core Netfilter Configuration  ---> 
                <M> Transparent proxying support 
================================================================================       
	  [*] QoS and/or fair queueing  ---> <==内容同样全为模块!           
	      Network testing  ---> <==保留成模块默认值 
================================================================================ 
# 底下的则是一些特殊的网络设备,例如红外线啊、蓝芽啊! 
# 如果不清楚的话,就使用模块吧!除非你真的知道不要该项目! 
<M>   Bluetooth subsystem support  --->       # 这个是蓝芽支持,同样的,里面除了必选之外,其他通通挑选成为模块! 
[*]   Wireless  --->       # 这个则是无线网络设备,里面保留默认值,但可编成模块的就选模块 
<M>   WiMAX Wireless Broadband support  --->       # 新一代的无线网络,也请勾选成为模块! 
<M>  NFC subsystem support  --->       # 跟卡片比较有关的芯片支持,建议编译成模块,内部数据也是编译成模块为佳! 

9. Device Drivers(各项装置的驱动程序)

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

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

# 大部分都保留默认值,鸟哥只是就比较重要的部份拿出来做说明而已!     
<M> Serial ATA and Parallel ATA drivers  --->  # 就是 SATA/IDE 磁盘!大多数选择为模块!     
[*] Multiple devices driver support (RAID and LVM)  ---> # 就是 LVM 与 RAID !要选要选!     
-*- Network device support  ---> # 网络方面的设备,网卡与相关媒体啦!         
	-*- Network core driver support         
	<M> Bonding driver support             # 与网卡整合有关的项目!要选!         
	<M> Ethernet team driver support  ---> # 与 bonding 差不多的功能!要选!         
	<M> Virtio network driver              # 虚拟化的网卡驱动程序!要选!         
	-*- Ethernet driver support  --->      # 以太网卡!里面的一堆 10G 卡要选! 
	    <M>     Chelsio 10Gb Ethernet support 
        <M>     Intel(R) PRO/10GbE support         
    <M> PPP (point-to-point protocol) support# 与拨接有关的协议!               
    	USB Network Adapters  --->           # 当然全部编译为模块!         
    [*] Wireless LAN  --->                   # 无线网卡也相当重要!里面全部变成模块! ================================================================================     
[ ] GPIO Support  --->           # 若有需要使用类似树莓派、香蕉派才需要这东西!     
<M> Multimedia support  --->     # 多媒体装置,如影像撷取、广播声卡等等         
	Graphics support  --->       # 显示适配器!如果是作为桌上型使用,这里就重要了!     
<M> Sound card support  --->     # 声卡,同样的,桌面计算机使用时,比较重要!     
[*] USB support  --->            # 就是 USB!底下几个内部的细项要注意是勾选的!         
	<*>     xHCI HCD (USB 3.0) support 
    <*>     EHCI HCD (USB 2.0) support 
    <*>     OHCI HCD support 
    <*>     UHCI HCD (most Intel and VIA) support     
<M> InfiniBand support  --->     # 较高阶的网络设备,速度通常达到 40Gb 以上!     
<M> VFIO Non-Privileged userspace driver framework  ---> # 作为 VGA passthrought 用!         
	[*] VFIO PCI support for VGA devices     
[*] Virtualization drivers  ---> # 虚拟化的驱动程序!         
	Virtio drivers  --->         # 在虚拟机里面很重要的驱动程序项目!     
[*] IOMMU Hardware Support  ---> # 同样的与虚拟化相关性较高! 

至于『 Firmware Drivers 』的项目,请视你的需求来选择~基本上就保留设定值即可!所以鸟哥这里就不显示啰!

10. File system (文件系统的支援 )

文件系统的支持也是很重要的一项核心功能!因为如果不支持某个文件系统,那么我们的 Linux kernel 就无法认识,当然也就无法使用啦!例如 Quota, NTFS 等等特殊的 filesystem 。 这部份也是有够麻烦~因为涉及核心是否能够支持某些文件系统,以及某些操作系统支持的 partition table 项目。 在进行选择时,也务必要特别的小心在意喔! 尤其是我们常常用到的网络操作系统 (NFS/Samba 等 等),以及基础篇谈到的 Quota 等, 你都得要勾选啊!否则是无法被支持的。如果你有兴趣,也可 以将 NTFS 的文件系统设定为可擦写看看啰!

# 底下仅有列出比较重要及与默认值不同的项目而已喔!所以项目少很多!     
	<M> Second extended fs support           # 预设已经不支持 ext2/ext3,这里我们将他加回来!     
	<M> Ext3 journalling file system support 
    [*] Default to 'data=ordered' in ext3 (NEW) 
    [*] Ext3 extended attributes (NEW) 
    [*] Ext3 POSIX Access Control Lists     
    <M> The Extended 4 (ext4) filesystem     # 一定要有的支持     
    <M> Reiserfs support     
    <M> XFS filesystem support               # 一定要有的支持!     
    [*]   XFS Quota support 
    [*]   XFS POSIX ACL support     
    [*]   XFS Realtime subvolume support     # 增加这一项好了!     
    <M> Btrfs filesystem support             # 最好有支持!     
    [*] Quota support 
    <*> Quota format vfsv0 and vfsv1 support 
    <*> Kernel automounter version 4 support (also supports v3) 
    <M> FUSE (Filesystem in Userspace) support 
        DOS/FAT/NT Filesystems  ---> 
        <M> MSDOS fs support 
        <M> VFAT (Windows-95) fs support         
        (950) Default codepage for FAT       # 要改成这样喔!中文支持!         
        (utf8) Default iocharset for FAT     # 要改成这样喔!中文支持!         
        <M> NTFS file system support         # 建议加上 NTFS 喔!         
        [*] NTFS write support             # 让他可擦写好了!         
        Pseudo filesystems  --->             # 类似 /proc ,保留默认值     
    -*- Miscellaneous filesystems  --->      # 其他文件系统的支持,保留默认值     
    [*] Network File Systems  --->           # 网络文件系统!很重要!也要挑挑!         
    	<M>   NFS client support 
        <M>   NFS server support 
        [*]     NFS server support for NFS version 4 
        <M>   CIFS support (advanced network filesystem, SMBFS successor) 
        [*]       Extended statistics 
        [*]   Provide CIFS client caching support     
    -*- Native language support  --->        # 选择预设的语系         
    	(utf8) Default NLS Option 
        <M>   Traditional Chinese charset (Big5)

11. Kernel hacking/Security Options/Cryptographic API(核心黑客、信息安全、密码应用 )

  • Kernel hacking』的项目,那是与核心开发者比较有关的部分,这部分建议保留默认值即可, 应该不需要去修改他!除非你想要进行核心方面的研究喔。
  • Security Options 』,那是属于信息安全方面的设定, 包括 SELinux 这个细部权限强化模块也在这里编入核 心的!这个部份只要记得 SELinux 作为默认值,且务必要将 NSA SELinux 编进核心即可, 其他的 细部请保留默认值。
  • Cryptographic API 』这个密码应用程序编程接口工具选项,以前的默认加密机制为 MD5, 近年来则改用了 SHA 这种机制。 不过,反正预设已经将所有的加密机制编译进来了,所以也是可 以保留默认值啦!都不需要额外修改就是了!

12. Virtualization/Library routines(虚拟化与函式库)

虚拟化是近年来非常热门的一个议题,因为计算机的能力太强,所以时常闲置在那边, 此时,我们 可以透过虚拟化技术在一部主机上面同时启动多个操作系统来运作,这就是所谓的虚拟化。 Linux 核 心已经主动的纳入虚拟化功能喔!而 Linux 认可的虚拟化使用的机制为 KVM (Kernel base Virtual Machine)。 至于常用的核心函式库也可以全部编为模块啰!

[*] Virtualization  ---> 
    --- Virtualization 
    <M>   Kernel-based Virtual Machine (KVM) support 
    <M>     KVM for Intel processors support 
    <M>     KVM for AMD processors support 
    [*]     Audit KVM MMU     
    [*]     KVM legacy PCI device assignment support   # 虽然已经有 VFIO,不过建议还是选起来!     
    <M>   Host kernel accelerator for virtio net 
================================================================================ 
Library routines  --->     
	# 这部份全部保留默认值即可! 

参考《鸟哥的Linux私房菜-基础学习篇(第四版)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712631.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python 随练】❀ 绘制正方形

题目&#xff1a; 画图&#xff0c;学用rectangle画方形。 简介&#xff1a; 在本篇博客中&#xff0c;我们将介绍如何使用Python的绘图库来画方形。我们将使用rectangle函数来绘制方形&#xff0c;并提供一个完整的代码示例来演示其用法。 绘制方形&#xff1a; 要绘制方…

Dom4j在某节点上添加已有的Element节点

需求&#xff1a;有两个xml文件需要解析&#xff0c;将A文件的节点解析之后放到了一个List<Element> list的集合中了&#xff0c;然后解析B文件&#xff0c;将list的内容填充到B中去。 众所周知&#xff0c;下面这段代码是可以添加一个节点元素的。 SAXReader reader n…

数通王国历险记之以太网和MAC地址

系列文章目录 数通王国历险记&#xff08;3&#xff09; 目录 前言 一&#xff0c;以太网的定义 二&#xff0c;如何理解以太网 2.1&#xff0c;以太网是一种广播式数据链路层协议 2.2&#xff0c;以太网支持多点接入 2.3&#xff0c;个人电脑的网络接口遵循的就是以太网…

Apikit 自学日记:如何分享 API、项目

开启/关闭在线分享 您可以在线分享项目给团队以外的人&#xff0c;其他人可以通过分享链接在线查看API文档并且进行API测试。通过这种方式查看API文档不需要注册账号&#xff0c;用户可方便查看接口文档和测试接口。 在项目内&#xff0c;点击进入项目管理菜单&#xff0c;选择…

【国产虚拟仪器】基于ZYNQ7045+V7 FPGA的多通道数据同步采集设计方案(二)

多通道数据采集电路主要流程为实现4路模拟信号接收&#xff0c;通过模数转换、信 号处理后的数据经过光纤传输到总站。多通道数据采集电路由模拟信号采集单元、 数字信号处理单元和信号转接板构成&#xff0c;组成框图如图4-1所示。 为了对带宽内的多个关键频点进行侦察监测&a…

Qt的未来发展趋势:跨平台、用户体验和AI的突破

Qt的未来发展有以下几个方面的趋势&#xff1a; 跨平台和多端支持&#xff1a;随着移动设备和嵌入式系统的普及&#xff0c;Qt将继续扩展其跨平台和多端支持能力。Qt已经在移动平台上取得了一定的成功&#xff0c;并且正在不断改进和优化移动开发工具和功能。未来&#xff0c;Q…

Tcl常用命令汇总

往期文章链接&#xff1a; 1&#xff09;基础篇&#xff1a;包括置换方法&#xff0c;特殊字符&#xff0c;incr与append用法&#xff0c;以及执行方式。 Tcl常用命令备忘录: 基础篇 2&#xff09;列表篇&#xff1a;包括list、concat、lrepeat、lindex、llength、lrange、l…

有趣的turtle(一)

关注“Python专栏”微信公众号&#xff0c;回复暗号【面试大全】&#xff0c;立即领取面试题简历模板。 turtle 是 Python 中用来绘图的标准库&#xff0c;它简单且有趣&#xff0c;很多Python初学者都愿意将它作为第一个学习对象。 下面的内容主要包含 turtle 的基本用法和一…

OpenCV(加载、修改、保存图像)

目录 1、图像加载 2、显示图像 3、修改图像 4、图像保存 OpenCV官方文档查询地址&#xff1a;OpenCV: OpenCV modules 1、图像加载 加载图像&#xff08;用cv::imread )imread功能是加载图像文件成为一个Mat对象&#xff0c;其中第一个参数表示图像文件名称 第二个参数&…

还在一步步搭建平台吗?找对方法更重要喔~

前言&#xff1a; 如今&#xff0c;随着信息化时代互联网的高速发展&#xff0c;繁琐的流程和线下的工作已经不能满足社会发展的需求&#xff0c;这个时候大家都知道系统是唯一一个可以快速解决的方法。但每个企业的需求不一样&#xff0c;成品型的系统未必能满足企业的属性。但…

MySQL数据库--------简单理解文件的相关信息

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com ———————————————————————————————————— 目录 文件的信息 文件的权限 权限的赋予 —————————————————————————————— 插播一些…

INFORMIX存储过程

一、存储过程概述 存储过程是一个用户定义的函数,由存储过程语句(SPL) 和一组SQL语句组成&#xff0c;以可以执行代码形式存储在数据库中&#xff0c;和表、视图、索引等一样&#xff0c;是数据库的一种对象。 存储过程语言SPL&#xff08;Stored Procedure Language&#xf…

硬件重生:PC与数码市场迎来历史性繁荣,搞机佬的春天回来了

在过去的一年里&#xff0c;我们看到了一场全球范围内的数字革命。在这次变革中&#xff0c;PC硬件和数码产品的市场表现令人瞩目&#xff0c;显著反弹。根据我们的调研数据&#xff0c;这一领域的市场规模和销售量都大幅增长&#xff0c;这预示着搞机佬们的春天已经来临。 PC硬…

Vue项目前端部署——nginx方式

Vue项目前端部署——nginx方式 1. 准备好服务器&#xff0c;下载安装nginx并启动2. vue项目编译打包3. 将dist目录上传到服务器上4. 配置nginx安装目录下的nginx.config文件5. 重启nginx6. 访问地址 1. 准备好服务器&#xff0c;下载安装nginx并启动 随便在网上找一篇文章&…

AI 绘画 - 建筑绘图辅助设计之 SD 基础

前情提要 如果你想学会一门东西&#xff0c;那么就给交给自己一个明确的任务&#xff0c;然后独立完成&#xff0c;之后我们就可以掌握这门技术了&#xff1b; 简介 SD建筑绘画主要目的是将建筑概念转化为可视化的表达形式&#xff0c;以便更好地传达设计理念给业主、团队成…

银河麒麟服务器 v10 sp1 安装 .Net6.0

系统版本、架构&#xff1a; 如果系统自带.netcore3&#xff0c;先卸载系统自带的.netcore3&#xff1a; 卸载.netcore3&#xff1a; 我的系统没有自带.netcore3&#xff0c;也没有yum命令。 下载二进制文件安装SDK&#xff1a; 下载 .NET 6.0 (Linux、macOS 和 Windows) 下载…

CUDA中的缓存

CUDA缓存包括L1缓存和L2缓存。 SM加载数据&#xff0c;根据不同的设备和类型分为三种路径&#xff1a; 一级和二级缓存常量缓存只读缓存 常规的路径是一级和二级缓存&#xff0c;需要使用常量和只读缓存的需要在代码中显式声明。但是提高性能&#xff0c;主要还是要取决于访问…

最全:2023年华为认证HCIA+HCIP题库合集(含答案解析)

随着华为业务也全球领域的迅猛发展&#xff0c;越来越多人开始重视华为认证的重要性。 想要通过华为认证&#xff0c;除了进行专业的学习&#xff0c;练题刷题也是最重要的一环&#xff0c;今天给大家提供一份全真的华为认证HCIAHCIP真题文档&#xff0c;帮助大家顺利备考&…

双端队列和C++ std::deque详解

文章目录 1. 双端队列和std::duque2. deque的用法2.1 deque的定义和声明2.2 成员函数2.2.1 元素访问assignatoperator[]frontback 2.2.2 迭代器begin、end和cbegin、cendrbegin、rend和crbegin、crend 2.2.3 容量emptysizemax_sizeshrink_to_fit 2.2.4 修改器clearinsertemplac…

VLAN原理配置

VLAN原理&配置 一、VLAN的工作原理1.1、传统以太网1.2、VLAN技术1.3、VLAN帧格式1.4、VLAN接口类型1.4.1、端口类型-Access1.4.2、端口类型-Trunk1.4.3、端口类型-Hybrid 1.5、PVID&#xff08;缺省VLAN&#xff09;1.6、VLAN划分方法 二、VLAN的基本配置2.1、VLAN的配置2.…