Vmware部署Linux无人值守安装Centos7系统

Linux – 无人值守安装服务

需求分析
- 使用光盘镜像来安装 Linux 系统的方式; 坦白讲, 该方法适用于只安装少量 Linux 系统的情况, 如果生产环境中有数百台服务器都需安装系统, 这种方式就不太适合;

解决方案
- 使用 无人值守安装系统 完成数百台服务器的系统安装;
- 无人值守安装(Unattended Setup)指软件安装时无需任何用户干预, 直接按默认或通过应答文件设置安装, 这对于无特殊需求的用户或企业大批量部署安装操作系统及软件时非常方便;

简介
- 本节将介绍可以实现无人值守安装服务的 PXE+Kickstart 服务程序, 并手动安装部署 PXE + TFTP + FTP + DHCP + Kickstart 等服务程序, 从而搭建出一套可批量安装 Linux 系统的无人值守安装系统;

部署步骤
- 安装 DHCP、TFTP、SYSLinux、vsftpd、xinetd、KickStart 服务程序
- 挂载 ISO 文件
- 配置 DHCP、TFTP、SYSLinux、vsftpd、xinetd、KickStart
- 测试&上线

部署软件
- PXE (Preboot eXecute Environment, 预启动执行环境)
- TFTP (Trivial File Transfer Protocol, 简单文件传输协议)
- DHCP (Dynamic Host Configuration Protocol, 动态主机配置协议)
- FTP (FileTransferProtocol, 文件传输协议)
- Kickstart (RedHat红帽公司提供的应答文件)

简介

PXE(Preboot eXecute Environment,预启动执行环境)是由 Intel 公司开发的技术, 可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持 PXE 技术), 主要用于在无人机值守安装系统中引导客户端主机安装 Linux 操作系统;

Kickstart 是一种无人值守的安装方式, 其工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg 文件, 当安装过程中需要填写参数时则自动匹配 Kickstart 生成的文件;

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议;TFTP提供不复杂、开销不大的文件传输服务,可将其当作FTP协议的简化版本;

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是一种基于UDP协议且仅限于在局域网内部使用的网络协议;该协议用于自动管理局域网内主机的IP地址、子网掩码、网关地址及DNS地址等参数,可以有效地提升IP地址的利用率,提高配置效率,并降低管理与维护成本;

FTP(FileTransferProtocol, 文件传输协议)是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20用于进行数据传输,端口21用于接受客户端发出的相关FTP命令与参数;

xinetd(eXtended InterNET services daemon,扩展的InterNET服务守护程序)常用来管理多种轻量级 Internet 服务;xinetd 提供类似于 inetd+tcp_wrapper 的功能;

配置文件 简介
- /var/lib/ftfpboot/vmlinuz: 可引导的压缩的内核;
- /var/lib/ftfpboot/initrd.img: 启动内存文件;
- /var/lib/ftfpboot/pxelinux.0: PXE引导程序;
- /var/lib/ftfpboot/pxelinux.cfg/default: 客户机启动安装时选择项;

安装&卸载

方式一:
一条命令安装所需服务
$ sudo yum install -y dhcp tftp-server vsftpd syslinux xinetd

方式二:
按照一步一步安装
安装dhcp
$ sudo yum install -y dhcp
安装tftp
$ sudo yum install -y tftp-server
安装vsftpd
$ sudo yum install -y vsftpd
安装syslinux
$ sudo yum install -y syslinux
安装xinetd
$ sudo yum install -y xinetd

DHCP

  • 安装
安装
$ sudo yum install -y dhcp
  • 卸载
卸载
$ sudo yum remove dhcp

TFTP

  • 安装
安装
$ sudo yum install -y tftp-server
  • 卸载
卸载
$ sudo yum remove tftp-server

vsftpd

  • 安装
安装
$ sudo yum install -y vsftpd
  • 卸载
卸载
$ sudo yum remove vsftpd

SYSLinux

  • 安装
安装
$ sudo yum install -y syslinux
  • 卸载
卸载
$ sudo yum remove syslinux

xinetd

  • 安装
安装
$ sudo yum install -y xinetd
  • 卸载
卸载
$ sudo yum remove xinetd

配置

主机名称 (Host) 操作系统 (OS) IP 地址(ip address) 无人值守系统 Centos7 192.168.158.2 客户端主机 未安装操作系统 –

网络配置

  • 配置 vmware 网络

vmware网络配置步骤: 编辑 -> 虚拟网络编辑器 -> 添加网络 -> 使用本地 DHCP 服务将 IP 地址分配给虚拟机

Vmware部署Linux无人值守安装Centos7系统

Vmware部署Linux无人值守安装Centos7系统
  • 配置文件 ifcfg-ensxx
$ vi /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 静态配置
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=53eb3239-d967-4079-9e11-28c7ccd12821
DEVICE=ens32
ONBOOT=yes # 开启网络配置
IPADDR=192.168.158.2 # IP地址
NETWASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.158.1 # 网关

ISO挂载

挂载光盘镜像方式:在服务器使用wget下载iso到服务器上、下载iso文件,通过光驱挂载到服务器上;

将虚拟机的 CD/DVD 光盘选项设置为”使用 ISO 镜像文件”,并选择已经下载好的系统 镜像;

vmware挂载配置步骤: 虚拟机设置 -> CD/DVD (SATA) -> 使用 ISO 映像文件

Vmware部署Linux无人值守安装Centos7系统
创建挂载点 /media/cdrom
$ mkdir -p /media/cdrom

挂载 ISO 到 /media/cdrom
$ mount /dev/cdrom /media/cdrom/

DHCP

DHCP配置文件中允许 BOOTP 引导程序协议, 旨在让局域网内暂时没有操作系统的主机也能获取静态 IP地址;在配置文件的最下面加载了引导驱动文件 pxelinux.0(这个文件会在下面的步骤中创建), 其目的是让客户端主机获取到 IP 地址后主动获取引导驱动文件;

$ vi /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.158.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.158.2;
    range dynamic-bootp 192.168.158.100 192.168.158.200;
    default-lease-time 21600;
    max-lease-time 43200;
    next-server 192.168.158.2;
    filename "pxelinux.0";
}

在确认 DHCP 服务程序的参数都填写正确后,重新启动该服务程序,并将其添加到开机启动 项中;这样在设备下一次重启之后,在无须人工干预的情况下,自动为客户端主机安装系统;

$ systemctl restart dhcpd
$ systemctl enable dhcpd

TFTP

vsftpd 是一款功能丰富的文件传输服务程序,允许多种认证方式来进行访问认证;但是,当前的客户端主机没有安装操作系统,无法进行登录认证;而 TFTP 作为一种基于 UDP 协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源;配置 TFTP 服务程序,为客户端主机提供引导及驱动文件;当客户端主机有了基本的驱动程序之后,再通过 vsftpd 服务程序将完整的光盘镜像文件传输过去;

TFTP 是一种非常精简的文件传输服务程序, 它的运行和关闭是由 xinetd 网络守护进程服务来管理的;xinetd 服务程序会同时监听系统的多个端口, 然后根据用户请求的端口号调取相应的服务程序来响应用户的请求;

$ vi /etc/xinetd.d/tftp
service tftp
{
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot
    disable = no  # 将 YES 改为 NO
    per_source = 11
    cps = 100 2
    flags = IPv4
}

$ systemctl restart xinetd
$ systemctl enable xinetd

TFTP 服务程序默认使用的是 UDP 协议, 占用的端口号为 69, 所以在生产环境中还需要在 firewalld 防火墙管理工具中写入使其永久生效的允许策略, 以便让客户端主机顺利获取到引导文件;

添加 TFTP 端口
$ firewall-cmd --permanent --add-port=69/udp

重启防火墙
$ firewall-cmd --reload

SYSLinux

SYSLinux 是一个用于提供引导加载的服务程序;与其说 SYSLinux 是一个服务程序, 不如说更需要里面的引导文件, 在安装好 SYSLinux 服务程序软件包后, /usr/share/syslinux 目录中会出现很多引导文件;

将 SYSLinux 提供的引导文件复制到 TFTP 服务程序的默认目录中,也就是文件 pxelinux.0,这样客户端主机就能够顺利地获取到引导文件了;

$ cd /var/lib/tftpboot
复制 pxelinux.0 文件到 /var/lib/tftpboot
$ cp /usr/share/syslinux/pxelinux.0 .

需进行 ISO 挂载, 否则出现 No such file or directory
$ cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
$ cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .

在 TFTP 服务程序的目录中新建 pxelinux.cfg 目录;将系统光盘中的开机选项菜单复制到该目录中,并命名为 default, 这个 default 文件就是开机时的选项菜单;

$ mkdir /var/lib/tftpboot/pxelinux.cfg
$ cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

Centos 镜像默认的开机菜单中有两个选项, 安装系统 |安装介质检验;采用无人值守的方式安装系统,所以编辑 default 文件,把第 1 行的 default 参数 修改为 linux,这样系统在开机时就会默认执行那个名称为 linux 的选项;对应的 linux 选项 大约在 64 行,将默认的光盘镜像安装方式修改成 FTP 文件传输方式,并指定好光盘镜像的获取网址以及 Kickstart 应答文件的获取路径;

$ vi /var/lib/tftpboot/pxelinux.cfg/default
1 default linux # 将 这个修改为 default linux
64 append initrd=initrd.img inst.stage2=ftp://192.168.158.2 ks=ftp://192.168.158.2/pub/ks.cfg quiet # 镜像安装方式改成FTP传输方式

vsftpd

参考文档:https://www.cnblogs.com/HOsystem/p/16629572.html

无人值守安装系统的服务中,光盘镜像是通过 FTP 协议传输的,因此要用到 vsftpd 服务程序;当然,也可以使用 httpd 服务程序来提供 Web 网站访问的方式,只要能确保将光盘镜像顺利传输给客户端主机即可;

打算使用 Web 网站服务来提供光盘镜像,一定记得将上面配置文件中的光盘镜像获取网址和 Kickstart 应答文件获取网址 修改一下;

在确认系统光盘镜像已经正常挂载到/media/cdrom 目录后,把目录中的光盘镜像文件全部复制到 vsftpd 服务程序的工作目录中;

$ cp -r /media/cdrom/* /var/ftp

$ firewall-cmd --permanent --add-service=ftp
$ firewall-cmd --reload
$ setsebool -P ftpd_connect_all_unreserved=on

开启vsftpd服务
$ systemctl start vsftpd
加入vsftpd至开机启动项
$ systemctl enable vsftpd

KickStart

Kickstart 其实并不是一个服务程序,而是一个应答文件;Kickstart 应答文件中包含了系统安装过程中需要使用的选项和参数 信息,系统可以自动调取这个应答文件的内容,从而彻底实现了无人值守安装系统;

在 root 管理员的家目录中有一个名为 anaconda-ks.cfg 的文件,它就是应答文件;下面将这个文件复制到 vsftpd 服务程序的工作目 录中(在开机选项菜单的配置文件中已经定义了该文件的获取路径,也就是 vsftpd 服务程序 数据目录中的 pub 子目录中);使用 chmod 命令设置该文件的权限,确保所有人都有可读的权 限,以保证客户端主机可以顺利获取到应答文件及里面的内容;

$ cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
$ chmod +r /var/ftp/pub/ks.cfg

Kickstart 应答文件并没有想象中的那么复杂,它总共只有 46 行左右的参数和注释内容, 完全可以通过参数的名称及介绍来快速了解每个参数的作用;

把第 6 行的光盘镜像安装方式修改成 FTP 协议,仔细填写好 FTP 服务器的 IP 地址,并 用本地浏览器尝试打开下检查有没有报错。然后把第 21 行的时区修改成上海(Asia/Shanghai),再把 29 行的磁盘选项设置为清空所有磁盘内容并初始化磁盘,最后通过reboot把主机重启。

$ vi /var/ftp/pub/ks.cfg
Use CDROM installation media
url --url=ftp://192.168.158.2 # 在Use CDROM 下添加 url
System timezone
timezone Asia/Shanghai --isUtc --nontp
Partition clearing information
clearpart --all --initlabel
reboot

如果觉得系统默认自带的应答文件参数较少,不能满足生产环境的需求,则可以通过 Yum软件仓库来安装 system-config-kickstart 软件包;这是一款图形化的 Kickstart 应答文件生成工具,可以根据自己的需求生成自定义的应答文件,然后将生成的文件放到/var/ftp/pub 目录中并将名字修改为 ks.cfg 即可。

测试

测试步骤
- 新建虚拟机
- 设置虚拟机向导
- 硬件配置 & 无人值守安装

新建虚拟机

Vmware部署Linux无人值守安装Centos7系统

设置虚拟机向导

  • 典型

Vmware部署Linux无人值守安装Centos7系统
  • 稍后安装操作系统

Vmware部署Linux无人值守安装Centos7系统
  • 客户机操作系统

客户机操作系统需要和无人值守系统(操作系统版本)一致

Vmware部署Linux无人值守安装Centos7系统
  • 命名虚拟机&虚拟机存放位置

Vmware部署Linux无人值守安装Centos7系统
  • 虚拟磁盘容量(默认)

Vmware部署Linux无人值守安装Centos7系统
  • 自定义硬件

Vmware部署Linux无人值守安装Centos7系统

注意:网络适配器一定要和无人值守系统的网络(VMnet6)在同一个;
VMware硬件设置只需保留最少的设备,需要的时候再自行添加即可;

Vmware部署Linux无人值守安装Centos7系统
  • 完成

Vmware部署Linux无人值守安装Centos7系统

无人值守安装

  • 开机

注意:一定要确保无人值守安装系统是开机状态

Vmware部署Linux无人值守安装Centos7系统

Vmware部署Linux无人值守安装Centos7系统
  • 等待安装

Vmware部署Linux无人值守安装Centos7系统

问题汇总

问题一:

问题描述:

在配置 dhcpd.conf 后,使用 systemctl restart dhcpd 时,出现以下错误:

Sep 23 00:29:39 localhost.localdomain dhcpd[9744]: Please report for this software via the CentOS Bugs Database:
Sep 23 00:29:39 localhost.localdomain dhcpd[9744]:     http://bugs.centos.org/
Sep 23 00:29:39 localhost.localdomain dhcpd[9744]: nt
Sep 23 00:29:39 localhost.localdomain dhcpd[9744]: exiting.

Sep 23 00:29:39 localhost.localdomain systemd[1]: dhcpd.service: main process exited, code=exited, status=1/FAILUR
Sep 23 00:29:39 localhost.localdomain systemd[1]: Failed to start DHCPv4 Server Daemon.

-- Subject: Unit dhcpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit dhcpd.service has failed.

--
-- The result is failed.

Sep 23 00:29:39 localhost.localdomain systemd[1]: Unit dhcpd.service entered failed state.

Sep 23 00:29:39 localhost.localdomain systemd[1]: dhcpd.service failed.

Sep 23 00:29:39 localhost.localdomain polkitd[8602]: Unregistered Authentication Agent for unix-process:9738:3132

问题原因:

虚拟机网卡 ensxxx 和dhcpd.conf的网段不一致;总的来说,就是 dhcpd.conf 配置中出现错误;

问题解决:

重新配置 dhcpd.conf 文件;

$ vi /etc/dhcp/dhcpd.conf
#
DHCP Server Configuration file.

  see /usr/share/doc/dhcp*/dhcpd.conf.example
  see dhcpd.conf(5) man page
#
allow booting;  # 允许 booting 模式
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet: 子网IP段
netmask: 子网掩码
subnet-mask: 子网掩码
option domain-name-servers: 无人值守系统IP地址
range dynamic-bootp: 客户端主机可获取的IP范围
default-lease-time:
max-lease-time:
next-server:
filename:
subnet 192.168.158.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.158.2;
    range dynamic-bootp 192.168.158.100 192.168.158.200;
    default-lease-time 21600;
    max-lease-time 43200;
    next-server 192.168.158.2;
    filename "pxelinux.0";
}

问题二:

问题描述:

在 进行无人值守安装时,启动系统时,出现 PXE-E32: TFTP open timeout错误;

问题原因:

  • 原因一:

TFTP配置文件错误,将 disable = yes 改为 disable = no

  • 原因二:

xinetd 服务未安装或未开启

  • 原因三:

防火墙未放行ftp服务

问题解决:

  • 原因一解决:修改TFTP配置文件
$ vi /etc/xinetd.d/tftp
disable = no
  • 原因二解决:安装xinetd或开启xinetd
$ yum install -y xinetd
$ systemctl start xinetd
  • 原因三解决:放行ftp服务
$ firewall-cmd --permanent --add-service=ftp
$ firewall-cmd --reload
$ setsebool -P ftpd_connect_all_unreserved=on

问题三:

问题描述:

在 进行无人值守安装时,启动系统时,出现以下错误

Warning: /dev/root does not exist

Generaing "/run/initramfs/rdsosreport.txt"

Entering emergency mode. Exit the shell to continue
Type "journalctl" to view system logs.

You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot
after moounting them and attach it to a bug report.

Vmware部署Linux无人值守安装Centos7系统

问题原因:

default 文件中,append行没设置正确;

问题解决:

重新配置 default文件;

问题四:

问题描述:

在 进行无人值守安装时,启动系统时,出现以下错误:

PXE-E51: No DHCP or proxyDHCP offers were received.

PXE-M0F: Exiting Intel PXE ROM.

Operating System not found

问题原因:

dhcp服务未配置正确

问题解决:

重新配置 dhcpd.conf 文件;

$ vi /etc/dhcp/dhcpd.conf
#
DHCP Server Configuration file.

  see /usr/share/doc/dhcp*/dhcpd.conf.example
  see dhcpd.conf(5) man page
#
allow booting;  # 允许 booting 模式
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet: 子网IP段
netmask: 子网掩码
subnet-mask: 子网掩码
option domain-name-servers: 无人值守系统IP地址
range dynamic-bootp: 客户端主机可获取的IP范围
default-lease-time:
max-lease-time:
next-server:
filename:
subnet 192.168.158.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.158.2;
    range dynamic-bootp 192.168.158.100 192.168.158.200;
    default-lease-time 21600;
    max-lease-time 43200;
    next-server 192.168.158.2;
    filename "pxelinux.0";
}

重启DHCP服务
$ systemctl restart dhcpd

Original: https://www.cnblogs.com/HOsystem/p/16724702.html
Author: HOsystem
Title: Vmware部署Linux无人值守安装Centos7系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607092/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 机器学习入门笔记02–流行学习与图嵌入理论基础

    核化线性降维 线性降维方法假设从高维空间到低维空间的函数映射是线性的,然而,在不少现实任务中,可能需要非线性映射才能找到恰当的低维嵌入。 流行学习 “流形”…

    Linux 2023年6月6日
    082
  • 部署solr服务

    前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 一、S orl单机部署 准备:solr5.5、tomcat8.5、jdk1.8 2.复制./solr-5.5.0/s…

    Linux 2023年6月14日
    0113
  • AOP+Redis+SpringCache翻译字典状态

    1,字典表Or枚举类? 项目里有很多标识状态的字段,比如订单状态:0-未支付,1-已支付,2-已取消。或者性别sex: 0-未知,1-男,2-女 。等等。一般这种我们都会建相应的枚…

    Linux 2023年5月28日
    0113
  • PyTorch 介绍 | DATSETS & DATALOADERS

    用于处理数据样本的代码可能会变得凌乱且难以维护;理想情况下,我们希望数据集代码和模型训练代码解耦(分离),以获得更好的可读性和模块性。PyTorch提供了两个data primit…

    Linux 2023年6月16日
    097
  • 【C++基础】函数的分文件编写

    cpp函数的分文件编写 作用:让代码结构更加清晰 如下步骤: 创建后缀名为.h的头文件 创建后缀名为.cpp的源文件 在头文件中写函数的声明 在源文件中写函数的定义,同时引入自定义…

    Linux 2023年6月13日
    0102
  • docker安装xxl-job-admin

    拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.1 运行容器 docker run -d -e PARAMS=”–sp…

    Linux 2023年6月7日
    087
  • 018.CentOS升级内核

    作者:木二 出处:http://www.cnblogs.com/itzgr/ 关于作者:云计算、虚拟化,Linux,多多交流! 本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月13日
    0110
  • Android安卓进阶技术分享之AGP工作原理

    1.基础准备 在分析源码之前,我想你应该对 Android 打包流程已经有基础的了解,至少了解了下图的打包过程: 否则你有可能不了解下文中的专业术语。 2.AGP源码的打开方式 看…

    Linux 2023年6月13日
    0111
  • IDEA对数据库、表、记录的(增删改查可视化操作)、数据库安全性问题的演示

    演示脏读 一个事物里面读到了另外一个事物没有提交的数据: read uncommitted 1.开启A,B窗口 2.分别查询A,B的隔离级别 select @@tx_isolati…

    Linux 2023年6月6日
    099
  • 《闲扯Redis十一》Redis 有序集合对象底层实现

    一、前言 Redis 提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开…

    Linux 2023年5月28日
    095
  • XShell免费版的安装配置教程以及使用教程(超级详细)

    ​一、 XShell的作用 XShell可以在Windows界面下来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。它支持 RLOGIN、SFTP、SERIAL、T…

    Linux 2023年5月27日
    0160
  • 应用实战:从Redis到Aerospike,我们踩了这些坑

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/duanxz/p/15878002.htmlAuthor…

    Linux 2023年5月28日
    095
  • 异常—异常安全问题–内存泄漏动图演示

    异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的 直接或间接的调用者处理这个错误。 throw: 当问题出现时,程序会抛出一个异常。这是通过使用…

    Linux 2023年6月13日
    087
  • rsync

    rsync是什么 rsync特性 1)可以镜像保存整个目录树和文件系统。 2)可以很容易做到保持原来文件的权限、时间、软硬连接等。 3)无需特殊权限即可安装。 4)快速:第一次同步…

    Linux 2023年6月6日
    088
  • locate-updatedb命令检索不全

    执行updatedb 命令,用于立刻更新locate 命令所必需的数据库文件,但有些文件可能会在检索过程中被过滤掉。 有时候明明存在的文件,用find 命令都能搜得出来,但用loc…

    Linux 2023年6月13日
    088
  • Vim配置文件-详解(.vimrc)

    Vim配置文件的作用 Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim 所有系统用户在启动Vim时,都会加载这个配置文件。…

    Linux 2023年6月13日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球