• 第十四章、账号控管: NIS 服务器

第十四章、账号控管: NIS 服务器

2025-05-03 04:57:11 23 阅读

14.1 NIS 的由来与功能

在一个大型的网域当中,如果有多部 Linux 主机,万一要每部主机都需要设定相同的账号与密码时,你该怎么办?复制 /etc/passwd ?应该没有这么呆吧?如果能够有一部账号主控服务器来管理网域中所有主机的账号, 当其他的主机有用户登入的需求时,才到这部主控服务器上面要求相关的账号、密码等用户信息, 如此一来,如果想要增加、修改、删除用户数据,只要到这部主控服务器上面处理即可, 这样就能够降低重复设定使用者账号的步骤了。

这样的功能有很多的服务器软件可以达成,这里我们要介绍的则是 Network Information Services (NIS server) 这个服务器软件喔!底下就先来谈一谈这个 NIS 的相关功能吧!

Tips:
NIS 主要提供的是用户的账号、密码、家目录文件名、UID等信息,但 NIS 并没有提供文件系统。同时, NIS 同样使用前一章谈到的 RPC 服务器,因此在本章开始前,你还是得要认识一下第十三章谈到的 NFS 与 RPC, 同时你还得要知道基础学习篇第三版里面的第十四章账号管理, 同时也得了解一下基础学习篇第二十二章 make/Makefile 的信息才好。


14.1.1 NIS 的主要功能:管理帐户信息

通常我们都会建议,一部 Linux 主机的功能越单纯越好,也就是说,一部 Linux 就专门进行一项服务。这样有许多的好处,这包含功能单纯所以系统资源得以完整运用, 并且在发生入侵或者是系统产生状况的时候,也比较容易追查问题所在。因此,一个公司内部常常会有好几部 Linux 主机,有的专门负责 WWW 、有的专门负责 Mail 、有的专门负责 SAMBA 等等的服务。

不过,这样虽然有分散风险、容易追踪问题的好处,但是,由于是同一个公司内的多部主机,所以事实上所有的 Linux 主机的账号与密码都是一样的!哇!那如果公司里面有 100 的人的话, 我们就需要针对这么多部的主机去设定账号密码了!而且,如果未来还有新进员工的话, 那么光是设定密码就会使系统管理员抓狂了!

这个时候,让我们换一个角度来思考:如果我设计了一部专门管理账号与密码的服务器,而其他的 Linux 主机当有客户端要登入的时候,就必须要到这部管理密码的服务器来查寻用户的账号与密码, 如此一来,我要管理所有的 Linux 主机的账号与密码,只要到那部主服务器上面去进行设定即可! 包括新进人员的设定,反正其他的 Linux 主机都是向它查寻的嘛!没错!真是好~这个就是 Network Information Service, NIS 服务器的主要功能啦!

事实上,Network Information Service 最早应该是称为 Sun Yellow Pages (简称 yp),也就是 Sun 这家公司出的一个名为 Yellow Pages 的服务器软件,请注意, NIS 与 YP 是一模一样的咚咚喔!这个 Yellow Pages 名字取的真是好!怎么说呢?知道黄页 (Yellow Pages) 是什么吗?就是我们家里的电话簿啦! 今天如果你要查寻一家厂商的电话号码,通常就是直接去查黄页上面的纪录来取得电话号码啊!而这个 NIS 也一样,当使用者要登入时, Linux 系统就会到 NIS 服务器上面去找寻这个使用的账号与密码信息来加以比对, 以提供使用者登入之用的检验啊!很棒吧! ^_^

那么 NIS 服务器提供了哪些信息呢?还记得账号与密码放置在哪里吧?NIS 就是提供那些数据啦! 主要有底下这些基本的数据提供给有登入需求的主机喔:

服务器端文件名档案内容
/etc/passwd提供用户账号、UID、GID、家目录所在、Shell 等等
/etc/group提供群组数据以及 GID 的对应,还有该群组的加入人员
/etc/hosts主机名与 IP 的对应,常用于 private IP 的主机名对应
/etc/services每一种服务 (daemons) 所对应的埠口 (port number)
/etc/protocols基础的 TCP/IP 封包协定,如 TCP, UDP, ICMP 等
/etc/rpc每种 RPC 服务器所对应的程序号码
/var/yp/ypserversNIS 服务器所提供的数据库

至少可以提供上述这些功能,当然啦,你也可以自行定义哪些数据库需要,哪些数据库不需要!


14.1.2 NIS 的运作流程:透过 RPC 服务

由于 NIS 服务器主要是提供用户登入的信息给客户端主机来查询之用,所以, NIS 服务器所提供的数据当然就需要用到传输与读写比较快速的 "数据库" 文件系统, 而不是传统的纯文本数据。为了要达到这个目的,所以 NIS 服务器就必须要将前一小节提到的那些档案制作成为数据库档案, 然后使用网络协议让客户端主机来查询啰。至于所使用的通讯协议与前一章的 NFS 相同,都使用远程过程调用 (RPC) 这个玩意儿喔!

此外,如果在一个很大型的网域里面,万一所有的 Linux 主机都向同一部 NIS 服务器要求用户数据时, 这部 NIS 服务器的负载 (loading) 可能会过大。甚至如果考虑到数据使用的风险, 要是这单一的一部 NIS 服务器挂点时,那其他的 Linux 主机还要不要让 users 登入啊? 所以啰,在较为大型的企业环境当中, NIS 服务器可以使用 master/slave (主控/辅助服务器) 架构的

Master NIS 服务器提供系统管理者制作的数据库, slave 则取得来自 master 的数据,并藉以提供其他客户端的查询。 客户端可以向整个网域要求用户资料的响应,master 与 slave 皆可回答, 由于 slave 的数据来自于 master ,所以用户账号数据本身是同步的! 如此一方面可以分散 NIS 服务器的负载,而且也可以避免因 NIS 服务器挂点而导致的无法登入的风险。


图 14.1-1、NIS 服务器与客户端的运作与查询方式示意图

整个 NIS 的运作就如同上图,首先必须要有 NIS server 的存在,之后才会有 NIS Client 的存在。 那么当使用者有登入的需求时,整个 NIS 的运作程序是:

  • 关于 NIS Server (master/slave) 的运作程序:
    1. NIS Master 先将本身的账号密码相关档案制作成为数据库档案;
    2. NIS Master 可以主动的告知 NIS slave server 来更新;
    3. NIS slave 亦可主动的前往 NIS master server 取得更新后的数据库档案;
    4. 若有账号密码的异动时,需要重新制作 database 与重新同步化 master/slave。
  • 关于当 NIS Client 有任何登入查询的需求时:
    1. NIS client 若有登入需求时,会先查询其本机的 /etc/passwd, /etc/shadow 等档案;
    2. 若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS 网域的主机广播查询;
    3. 每部 NIS server (不论 master/slave) 都可以响应,基本上是『先响应者优先』。

从上面的流程当中,你会发现 NIS client 还是会先针对本机的账号数据进行查询,若本机查不到时才到 NIS server 上头寻找。因此,如果你的 NIS client 本身就有很多一般使用者的账号时,那跟 NIS server 所提供的账号就可能产生一定程度的差异啰!所以,一般来说,在这样的环境下,NIS client 或 NIS slave server 会主动拿掉自己本机的一般使用者账号,仅会保留系统所需要的 root 及系统账号而已。 如此一来,一般使用者才都会经由 NIS master server 所控管啊! ^_^

根据上面图 14.1-1 的说明,我们的 NIS 环境大致上需要设定的基本组件就有:

  • NIS Master server :将档案建置成数据库,并提供 slave server 来更新;
  • NIS Slave server :以 Master server 的数据库作为本身的数据库来源;
  • NIS client :向 master/server 要求登入者的验证数据。

就如同上面提到的,在大型环境中才会使用到这么复杂的 NIS master/slave 架构。因此,本章仅会介绍 NIS Master 的建置, 以及 NIS client 的设定而已。其实,NIS 服务使用的环境大概越来越仅局限在学术数值模式仿真的丛集计算机架构中 (PC cluster), 在那样的架构中,老实说,鸟哥认为仅要学会 NIS master 即可。如果还有其他账号方面的要求,例如跨平台的帐户信息提供, 那可能就得要参考 Samba 或更进阶的 LDAP 才好呦!这里我们不谈啦~现在,就让我们开始来玩一玩这个 NIS 的设定吧!


14.2 NIS Server 端的设定

NIS 服务器端主要在于提供数据库给客户端作为验证之用,虽然 NIS 服务器类型有 Master 与 Slave , 不过鸟哥这里介绍的并不是大型企业环境,因此仅介绍 NIS master 的设定而已啦~那就来设定看看啰!
 


14.2.1 所需要的软件

由于 NIS 服务器需要使用 RPC 协议,且 NIS 服务器同时也可以当成客户端,因此它需要的软件就有底下这几个:

  • yp-tools :提供 NIS 相关的查寻指令功能
  • ypbind   :提供 NIS Client 端的设定软件
  • ypserv   :提供 NIS Server 端的设定软件
  • rpcbind  :就是 RPC 一定需要的数据啊!

如果你是使用 Red Hat 的系统,例如我们的 CentOS 6.x 的话,那你可以利用『 rpm -qa | grep '^yp' 』 来检查是否有安装上述的软件。一般来说 yp-tools, ypbind 都会主动的安装,不过 ypserv 可能就不会安装了。 此时建议你直接使用『 yum install ypserv 』来安装吧!立刻就装好了。底下立刻来设定啰!


14.2.2 NIS 服务器相关的配置文件

在 NIS 服务器上最重要的就是 ypserv 这个软件了,但是,由于 NIS 设定时还会使用到其他网络参数设定数据, 因此在配置文件方面需要有底下这些数据喔:

  • /etc/ypserv.conf:这是最主要的 ypserv 软件所提供的配置文件,可以规范 NIS 客户端是否可登入的权限。
  • /etc/hosts:由于 NIS server/client 会用到网络主机名与 IP 的对应,因此这个主机名对应档就显的相当重要!每一部主机名与 IP 都需要记录才行!
  • /etc/sysconfig/network:可以在这个档案内指定 NIS 的网域 (nisdomainname)。
  • /var/yp/Makefile:前面不是说账号数据要转成数据库文件吗? 这就是与建立数据库有关的动作配置文件;

至于 NIS 服务器提供的主要服务方面有底下两个:

  • /usr/sbin/ypserv:就是 NIS 服务器的主要提供服务;
  • /usr/sbin/rpc.yppasswdd:提供额外的 NIS 客户端之用户密码修改服务, 透过这个服务, NIS 客户端可以直接修改在 NIS 服务器上的密码。相关的使用程序则是 yppasswd 指令;

与账号密码的数据库有关的指令方面有底下几个:

  • /usr/lib64/yp/ypinit:建立数据库的指令,非常常用 (在 32 位的系统下,文件名则是 /usr/lib/yp/ypinit 喔!);
  • /usr/bin/yppasswd:与 NIS 客户端有关,主要在让用户修改服务器上的密码。

14.2.3 一个实作案例

如果你有观察过图 14.1-1 的话,你会发现到我们的 NIS 需要设定 Master/Slave 及 client 等, 不过我们这里仅介绍 NIS master server 与 NIS client 两个组件而已,如果你有需要额外的 slave 的话, 再请查阅 NIS 官网的介绍啰。底下鸟哥先拟一个简单的案例,做完案例我们再来谈谈实际可能会使用于丛集计算机的案例吧!

  • NIS 的域名为 vbirdnis
  • 整个内部的信任网域为 192.168.100.0/24
  • NIS master server 的 IP 为 192.168.100.254 ,主机名为 www.centos.vbird
  • NIS client 的 IP 为 192.168.100.10,主机名为 clientlinux.centos.vbird

底下我们就一个一个来设定吧!


14.2.4 NIS server 的设定与启动

NIS 服务器的设定真是很简单,首先,你必须要在 NIS 服务器上面搞定你的账号与密码相关数据, 这包括 /etc/passwd, /etc/shadow, /etc/hosts, /etc/group .... 等等,都得要先搞定才行! 详细的账号相关资料请参考基础篇的第十四章账号管理。 等到搞定之后你就可以继续 NIS 服务器的设定了:
 


  • 1. 先设定 NIS 的域名 (NIS domain name)

NIS 是会分领域名 (domain name) 来分辨不同的账号密码数据的,因此你必须要在服务器与客户端都指定相同的 NIS 领域名才行。设定这个 NIS 领域名的动作很简单,就直接编辑 /etc/sysconfig/network 即可!如下所示:

[root@www ~]# vim /etc/sysconfig/network
# 不要更改其他既有数据,只要加入底下这几行即可:
NISDOMAIN=vbirdnis      <==设定 NIS 领域名
YPSERV_ARGS="-p 1011"   <==设定 NIS 每次都启动在固定的埠口

当然,你也可以使用手动的方式暂时设定好你的 NIS 领域名,透过的方法就是 nisdomainname 这个指令。 (其实 nisdomainname 与 ypdomainname 及 domainname 都是一模一样的指令啦!你只要记住一个指令名称即可。请自行 man domainname 吧!)不过,这个指令现在大概只用来检查设定是否正确,因为启动 NIS 服务器时,服务器去捉取的数据就是从 network 这个档案里面捉取的!所以只要改这个配置文件即可啊!

另外,由于未来想使用 iptables 直接管理 NIS 的使用,因此我们想要控制 NIS 启动在固定的埠口上。此时, 就使用『YPSERV_ARGS="-p 1011"』这个设定值来固定埠口在 1011 吧!
 


  • 2. 主要配置文件 /etc/ypserv.conf

这个配置文件就是 NIS 服务器最主要的配置文件啦!内容其实很简单,你可以保留默认值即可。不过,也可以作一些更动啦!

[root@www ~]# vim /etc/ypserv.conf
dns: no
# NIS 服务器大多使用于内部局域网络,只要有 /etc/hosts 即可,不用 DNS 啦

files: 30
# 预设会有 30 个数据库被读入内存当中,其实我们的账号档案并不多,30 个够用了。

xfr_check_port: yes
# 与 master/slave 有关,将同步更新的数据库比对所使用的端口,放置于 <1024 内。

# 底下则是设定限制客户端或 slave server 查询的权限,利用冒号隔成四部分:
# [主机名/IP] : [NIS域名] : [可用数据库名称] : [安全限制]
# [主机名/IP]   :可以使用 network/netmask 如 192.168.100.0/255.255.255.0 
# [NIS域名]   :例如本案例中的 vbirdnis
# [可用数据库名称]:就是由 NIS 制作出来的数据库名称;
# [安全限制]      :包括没有限制 (none)、仅能使用 <1024 (port) 及拒绝 (deny)
# 一般来说,你可以依照我们的网域来设定成为底下的模样:
127.0.0.0/255.255.255.0     : * : * : none
192.168.100.0/255.255.255.0 : * : * : none
*                           : * : * : deny
# 星号 (*) 代表任何数据都接受的意思。上面三行的意思是,开放 lo 内部接口、
# 开放内部 LAN 网域,且杜绝所有其他来源的 NIS 要求的意思。

# 还有一个简单作法,你可以先将上面三行批注,然后加入底下这一行即可:
*                         : * : * : none

由于鸟哥习惯在内部网域并不设定比较严格的限制,因此通常鸟哥都是选择使用『 * : * : * : none 』那个设定值! 然后透过 iptables 来管控可使用的来源就是了。当然,你可以依据你的需求来设定啦!
 


  • 3. 设定主机名与 IP 的对应 (/etc/hosts)

在 /etc/ypserv.conf 的设定当中我们谈到 NIS 大部分是给局域网络内的主机使用的,所以当然就不需要 DNS 的设定了。不过,由于 NIS 使用到很多的主机名,但是网络联机透过的是 IP 啊!所以你一定要设定好 /etc/hosts 里面的主机名与 IP 的对应,否则会无法成功联机 NIS !这个很重要,绝大部分的朋友无法达成 NIS server/client 的联机都是这里出问题而已。 依据本案例的设定值,你应该这样做:

[root@www ~]# vim /etc/hosts
# 原本就有的 localhost 与 127.0.0.1 之类的设定都不要更动,只要新增数据:
192.168.100.254   www.centos.vbird
192.168.100.10    clientlinux.centos.vbird

[root@www ~]# hostname
www.centos.vbird
# 再做个确认,确定输出的主机名与本机 IP 确实有写入 /etc/hosts 喔!

注意!如果你的主机名 (hostname) 与 NIS 的主机名不一样,那么在这个档案当中还是需要将你的主机名给他设定进来! 否则在后面数据库的设定时,肯定会发生问题。当然啦,你也可以直接在 /etc/sysconfig/network 当中直接重新设定主机名,然后重新启动,或者是利用 hostname 这个指令重新设定你的主机名也可以。
 


  • 4. 启动与观察所有相关的服务

接下来当然是先启动所有相关的服务啰,这包括 RPC, ypserv 以及 yppasswdd 啰!不过,如果你的 RPC 本来就已经启动的话,那就不要重新启动 rpcbind 了!此外,为了也让 yppasswdd 启动在固定的埠口,方便防火墙的管理, 因此,我们也建议你可以设定一下 /etc/sysconfig/yppasswdd 喔!

[root@www ~]# vim /etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port  1012"    <==找到这个设定值,修改一下内容成这样!

[root@www ~]# /etc/init.d/ypserv start
[root@www ~]# /etc/init.d/yppasswdd start
[root@www ~]# chkconfig ypserv on
[root@www ~]# chkconfig yppasswdd on

注意,主要的 NIS 服务是 ypserv ,不过,如果要提供 NIS 客户端的密码修改功能的话, 最好还是得要启动 yppasswdd 这个服务才好。在启动完毕后,我们可以利用 rpcinfo 来检查看看:

[root@www ~]# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100004    2   udp   1011  ypserv
    100004    1   udp   1011  ypserv
    100004    2   tcp   1011  ypserv
    100004    1   tcp   1011  ypserv
    100009    1   udp   1012  yppasswdd
# 其他不相干的 RPC 鸟哥将它拿掉了,与 NIS 有关的至少要有上面这几个!要仔细看,
# 看看埠口是否为我们规定的 1011, 1012 ,若不是的话,得要修改一下配置文件。

[root@www ~]# rpcinfo -u localhost ypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting

很多时候,很多朋友在设定完 NIS 后又回去设定 NFS 了,结果看了前一章的介绍,竟然又重新启动 rpcbind , 这将导致 ypserv 的注册数据被注销掉。因此,使用上述的动作来检查看看服务有没有在等待中, 要看到如上的『就绪并等待服务』才会是正常的呦!
 


  • 5. 处理账号并建立数据库

在完成了上面的所有步骤后,接下来我们得要开始将主机上面的账号档案转成数据库档案啦! 不过,因为担心与 NIS 客户端的账号有冲突,加上之前我们已经建立过一些账号了。所以,这里我们建立三个新账号, 分别是 nisuser1, nisuser2, nisuser3 。不过账号主要是依据 UID 来判断的啊!因此,我们使用大于 1000 的 UID 来建立这三个账号喔!

[root@www ~]# useradd -u 1001 nisuser1
[root@www ~]# useradd -u 1002 nisuser2
[root@www ~]# useradd -u 1003 nisuser3
[root@www ~]# echo password | passwd --stdin nisuser1
[root@www ~]# echo password | passwd --stdin nisuser2
[root@www ~]# echo password | passwd --stdin nisuser3

接下来,将建立的帐密数据转成数据库吧!转换的动作直接透过 /usr/lib64/yp/ypinit 这个指令来处理即可!整个步骤是这样做的:

[root@www ~]# /usr/lib64/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS
servers.  www.centos.vbird is in the list of NIS server hosts.  Please continue
to add the names for the other hosts, one per line.  When you are done with the
list, type a .
        next host to add:  www.centos.vbird  <==系统根据主机名自动捉取
        next host to add:                    <==这个地方按下 [crtl]-d
The current list of NIS servers looks like this:

www.centos.vbird

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/vbirdnis/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/vbirdnis'
Updating passwd.byname...
Updating passwd.byuid...
....(中间省略)....
gmake[1]: Leaving directory `/var/yp/vbirdnis'

www.centos.vbird has been set up as a NIS master server.

Now you can run ypinit -s www.centos.vbird on all slave server.

要注意出现的信息当中,在告知你可以直接输入 [ctrl]-d 以结束的那个地方, 你的主机名会主动的被捉出来,注意!这个主机名务必需要在 /etc/hosts 可以被找到 IP 的对应, 否则会出现问题。另外,万一在执行 ypinit -m 时,出现如下的错误,那肯定就是有些数据没有被建立了!

gmake[1]: *** No rule to make target `/etc/aliases', needed by `mail.aliases'.  Stop.
gmake[1]: Leaving directory `/var/yp/vbirdnis'
make: *** [target] Error 2
Error running Makefile.
Please try it by hand.

[root@www ~]# touch /etc/aliases
# 解决方法很简单吶!缺少什么档案,就 touch 他就是了!

[root@www ~]# /usr/lib64/yp/ypinit -m
# 然后再重新执行一次即可!

如果是如下的错误,那可能是因为:

  • 你的 ypserv 服务没有顺利启动,请利用 rpcinfo 检查看看;
  • 你的主机名与 IP 没有对应好,请检查 /etc/hosts
gmake[1]: Entering directory `/var/yp/vbirdnis'
Updating passwd.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating passwd.byuid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.byname...
....(底下省略)....

要注意啊,如果你的用户密码有变动过,那么你就得要重新制作数据库,重新启动 ypserv 及 yppasswdd 喔! 注意注意啊!整个 NIS 服务器这样就给搞定了,有没有很简单啊!


14.2.5 防火墙设置

又来到了防火墙的规划了!要注意的是,我们的 NIS 与 NFS 都是使用 RPC Server 的,所以啰,除了上述谈到的固定埠口之外, 你还得要开放 port 111 才行。假设你已经看过前一章,而且是使用鸟哥的 iptables.rule 脚本来处理你的防火墙, 那么你可以修改该档案的内容,新增几条规则去:

[root@www ~]# vim /usr/local/virus/iptables/iptables.allow
iptables -A INPUT -i $EXTIF -p tcp -s 192.168.100.0/24 --dport 1011 -j ACCEPT
iptables -A INPUT -i $EXTIF -p udp -s 192.168.100.0/24 -m multiport 
         --dport 1011,1012 -j ACCEPT

[root@www ~]# /usr/local/virus/iptables/iptables.rule
# 千万记得要重新建置防火墙规则啊!

14.3 NIS Client 端的设定

我们知道网络联机是双向的,所以 NIS server 提供数据库档案,NIS client 当然也需要提供一些联机的软件啰!这个联机的软件就是 ypbind 啦!此外,如同图 14.1-1 的介绍,在 NIS client 端有登入需求时,NIS client 基本上还是先搜寻自己的 /etc/passwd, /etc/group 等数据后才再去找 NIS server 的数据库啊!所以 NIS client 最好能够将本身的账号密码删除到仅剩下系统账号,亦即 UID, GID 均小于 500 以下的账号即可, 如此一来既可让系统执行无误,也能够让登入者的信息完全来自 NIS server ,比较单纯啦!

Tips:
事实上,你想要让 NIS 服务器写入的各项账号数据都在 NIS server 的 /var/yp/Makefile 那个档案设定的! 你可以进入该档案搜寻一下 UID 就知道了! ^_^


14.3.1 NIS client 所需软件与软件结构

NIS client 端所需要的软件仅有:

  • ypbind
  • yp-tools

yp-tools 是提供查询的软件,至于 ypbind 则是与 ypserv 互相沟通的客户端联机软件啦! 另外,在 CentOS 当中我们还有很多配置文件是与认证有关的,包含 ypbind 的配置文件时, 在设定 NIS client 你可能需要动到底下的档案:

  • /etc/sysconfig/network:就是 NIS 的领域名嘛!
  • /etc/hosts:至少需要有各个 NIS 服务器的 IP 与主机名对应;
  • /etc/yp.conf:这个则是 ypbind 的主要配置文件,里面主要设定 NIS 服务器所在
  • /etc/sysconfig/authconfig:规范账号登入时的允许认证机制;
  • /etc/pam.d/system-auth :这个最容易忘记!因为账号通常由 PAM 模块所管理, 所以你必须要在 PAM 模块内加入 NIS 的支持才行!
  • /etc/nsswitch.conf :这个档案可以规范账号密码与相关信息的查询顺序,默认是先找 /etc/passwd 再找 NIS 数据库;

另外, NIS 还提供了几个有趣的程序给 NIS 客户端来进行账号相关参数的修改,例如密码、shell 等等, 主要有底下这几个指令:

  • /usr/bin/yppasswd :更改你在 NIS database (NIS Server 所制作的数据库) 的密码
  • /usr/bin/ypchsh   :同上,但是是更改 shell
  • /usr/bin/ypchfn   :同上,但是是更改一些用户的讯息!

OK!那么底下就让我们开始来设定 NIS 客户端吧!^_^


14.3.2 NIS client 的设定与启动

启动 NIS client 的设定就简单多了!最主要是加入 NIS domain 当中,然后再启动 ypbind 即可。 虽然你可以手动去修改所有的配置文件,然而近期以来的 Linux distributions 账号处理机制越来越复杂, 所以如果你想要手动修改所有配置文件,恐怕会疯掉的~因此,这里建议你使用系统提供的工具来设定, 至于一些重要配置文件,最后有机会再去参考一下即可。

那么 CentOS 6.x 提供了什么好用的管理工具呢?很简单,就利用 setup 这个指令即可!输入 setup 就会出现如下的图示, 然后依序这么处理就好了呦!


图 14.3-1、利用 setup 进入 authconfig 认证项目

记得在出现上图 14.3-1 后,选择认证设定,如果是出现英文的话,那么你就得要选择『Authentication configuration』的项目,之后就会进入下面的画面:


图 14.3-2、进入 authconfig 之后,选择 NIS 项目

因为我们要用 NIS 作为登入者身份验证的机制,因此就得要选择 NIS 项目,如果是英文的话,得要选择『Use NIS』项目即可。


图 14.3-3、填写 NIS 领域以及 NIS 服务器的 IP 即可

最后再填写 NIS 网域 (Domain) 以及 NIS 服务器的 IP (Server),按下确定即可。如果系统很快的就跳回图 14.3-1 的画面, 代表你的设定理论上是没有问题的。如果一直卡在如下的画面中:

正在激活 rpcbind:                                         [  确定  ]
正在关闭 NIS 服务:                                        [  确定  ]
正在启动 NIS 服务:                                        [  确定  ]
正在绑定 NIS 服务:.......  <==这里一直卡住,没办法结束

上述的数据就是出问题啦!那代表你的 NIS client 没有办法连接上 NIS server,最常发生的就是服务器的防火墙忘记放行,或者是你客户端输入服务器 IP 时,打错数字了~ 那也是很常发生的错误啦!这时请自行去修改一番吧!那么这个 setup 到底做了什么修改呢?我们也来看看几个被改掉的重要配置文件吧:

[root@clientlinux ~]# cat /etc/sysconfig/network
HOSTNAME=clientlinux.centos.vbird
NETWORKING=yes
GATEWAY=192.168.100.254
NISDOMAIN=vbirdnis    <==这个玩意儿会主动的被建立起来

[root@clientlinux ~]# cat /etc/yp.conf
....(前面省略)....
domain vbirdnis server 192.168.100.254  <==主动建立这玩意儿~

[root@clientlinux ~]# vim /etc/nsswitch.conf
passwd:     files nis
shadow:     files nis
group:      files nis
hosts:      files nis dns
# 上面几个项目是比较重要的,包括身份参数、密码、群组名、主机名与 IP 对应数据等。
# 你会看到,每个项目后面都会接着 nis ,所以 nis 有被支持啰!

因为更动到的档案实在太多了,所以鸟哥还是建议使用 setup 来调整即可。但是,如果你真的想要手动处理的话, 那么你必须要手动的修改底下这些档案:

  • /etc/sysconfig/network (加入 NISDOMAIN 项目)
  • /etc/nsswitch.conf (修改许多主机验证功能的顺序)
  • /etc/sysconfig/authconfig (CentOS 的认证机制)
  • /etc/pam.d/system-auth (许多登入所需要的 PAM 认证过程)
  • /etc/yp.conf (亦即是 ypbind 的配置文件)

14.3.3 NIS client 端的检验: yptest, ypwhich, ypcat

如何确定 NIS client 已经连上 NIS server 呢?基本上,只要刚刚使用 setup 去设定时,最后的步骤并没有被卡住, 那应该就是顺利成功啦!该步骤会自动启动 rpcbind 与 ypbind 两个服务呦!那如何确认数据传送是正确的? 简单的要命啊!你可以利用 id 这个指令直接检查 NIS server 有的,但是 NIS client 没有的账号,如果有出现该账号的相关 UID/GID 信息时,那表示数据传输也是正确的。 除此之外,我们还可以透过 NIS 提供的相关检验功能来检查喔!底下分别来瞧一瞧:
 


  • 利用 yptest 检验数据库之测试:

直接在 NIS client 输入 yptest 即可检查相关的测试数据,如下所示:

[root@clientlinux ~]# yptest
Test 1: domainname
Configured domainname is "vbirdnis"

Test 2: ypbind
Used NIS server: www.centos.vbird

Test 3: yp_match
WARNING: No such key in map (Map passwd.byname, key nobody)
....(中间省略)....

Test 6: yp_master
www.centos.vbird

....(中间省略)....

Test 8: yp_maplist
passwd.byname
protocols.byname
hosts.byaddr
hosts.byname
....(中间省略)....

Test 9: yp_all
nisuser1 nisuser1:$1$U9Gccb60$K5lDQ.mGBw9x4oNEkM0Lz/:1001:1001::/home/nisuser1:/bin/bash
....(中间省略)....
1 tests failed

从这个测试当中我们可以发现一些错误,就是在 Test 3 出现的那个警告信息啦。还好,那只是说没有该数据库而已~ 该错误是可以忽略的。重点在第 9 个步骤 yp_all 必须要有列出你 NIS server 上头的所有帐户信息,如果有出现账号相关数据的话,那么应该就算验证成功了

Tips:
比较有问题的是第三步骤,他会出现在 passwd.byname 当中找不到 nobody 的字样。这是因为早期的 nobody 之 UID 都设定在 65534 ,但 CentOS 则将 nobody 设定为系统账号的 99 ,所以当然不会被记录,也就出现这一个警告。不过,这个错误是可忽略的啦!


  • 利用 ypwhich 检验数据库数量

单纯使用 ypwhich 的时候显示的是『NIS Client 的 domain』名称,而当加入 -x 这个参数时, 则是显示『NIS Client 与 Server 之间沟通的数据库有哪些?』你可以这样测试哩!

[root@clientlinux ~]# ypwhich -x
Use "hosts"     for map "hosts.byname"
Use "group"     for map "group.byname"
Use "passwd"    for map "passwd.byname"
....(以下省略)....

由上面我们可以很清楚的就看到相关的档案啦!这些数据库档案则是放置在我的 NIS Server 的 /var/yp/vbirdnis/* 里面啰!
 


  • 利用 ypcat 读取数据库内容

除了 yptest 之外,你还可以直接利用 ypcat 读取数据库的内容喔!一般作法是这样:

[root@clientlinux ~]# ypcat [-h nisserver] [数据库名称]
选项与参数:
-h nisserver :如果有设定的话,指向某一部特定的 NIS 服务器,
               如果没有指定的话,就以 ypbind 之设定为主;
数据库名称:亦即在 /var/yp/vbirdnis/ 内的档名啊!例如 passwd.byname

# 读出 passwd.byname 的数据库内容
[root@clientlinux ~]# ypcat passwd.byname

这三个指令在进行 NIS Client 端的检验时,是相当有用的喔!不要忽略了他的存在啊!尤其是刚架设好 NIS Client 时,一定要使用 yptest 去检查看看有没有设定错误喔!根据屏幕显示的讯息去一个一个校正错误才行啊!


14.3.4 使用者参数修改: yppasswd, ypchfn, ypchsh

好了,完成了上述的设定后,你的 NIS server/client 的账号已经同步了!真是高兴不是吗? 不过,还有个挺大的问题,那就是...使用者如何在 NIS client 修改他自己的登入参数,例如密码、shell 等等? 因为 NIS client 是藉由数据库来取得用户的账号密码,那如何在 NIS 客户端处理账号密码的订正?

问的好!这也是为何我们需要在 NIS server 启动 yppasswdd 这支服务的主要用意! 因为 yppasswdd 可以接收 NIS client 端传来的密码修改,藉此而处理 NIS server 的 /etc/passwd, /etc/shadow , 然后 yppasswdd 还能够重建密码数据库,让 NIS server 同步更新数据库!真是很不错啊! ^_^

那该如何下达指令呢?很简单啊!透过 yppasswd, ypchsh, ypchfn 来处理即可。这三个指令的对应是:

  • yppasswd :与 passwd 指令相同功能;
  • ypchfn :与 chfn 相同功能;
  • ypchsh :与 chsh 相同功能。

因为功能相当,所以鸟哥这里仅说明一下 yppasswd 而已。假设你已经登入 NIS client 那部主机, 并且是以 nisuser1 这个使用者登入的,记住,这个用户相关数据仅在 NIS server 上。 接下来,这个使用者可以下达 yppasswd ,如下所示:

[root@clientlinux ~]# grep nisuser /etc/passwd  <==不会出现任何讯息,因为无此账号
[root@clientlinux ~]# su - nisuser1             <==直接切换身份看看!
su: warning: cannot change directory to /home/nisuser1: No such file or directory
-bash-4.1$ id
uid=1001(nisuser1) gid=1001(nisuser1) groups=1001(nisuser1)
# 因为我们 client.centos.vbird 仅有帐户信息,并没有用户家目录,
# 所以就会出现如上的警告,因此才需要用 id 验证,并且需要加挂 NFS 嘛!
# 仔细看,现在的身份确实是 nisuser1 喔!确实有连上 NIS server 啦!

-bash-4.1$ yppasswd
Changing NIS account information for nisuser1 on www.centos.vbird.
Please enter old password:    <==这里输入旧密码
Changing NIS password for nisuser1 on www.centos.vbird.
Please enter new password:    <==这里输入新密码
Please retype new password:   <==再输入一遍

The NIS password has been changed on www.centos.vbird.

-bash-4.1$ exit

嘿嘿!如何,这样就更新了 NIS server 上头的 /etc/shadow 以及 /var/yp/vbirdnis/passwd.by* 的数据库, 简单吧!一下子就同步化了。不过,如果要教育使用者使用 yppasswd 的话,他可能不太能适应, 不要紧,你可以透过修改 alias 或者是置换掉 /usr/bin/passwd 这支程序即可!那现在让我们回到 NIS 服务器端看看真的有更动到数据库吗?

[root@www ~]# ll /var/yp/vbirdnis/
-rw-------. 1 root root   13836 Jul 28 13:10 netid.byname
-rw-------. 1 root root   14562 Jul 28 13:29 passwd.byname
-rw-------. 1 root root   14490 Jul 28 13:29 passwd.byuid
-rw-------. 1 root root   28950 Jul 28 13:10 protocols.byname
# 仔细看,就是那个密码档案被更动过~时间已经不一样了!再看看登录档吧!

[root@www ~]# tail /var/log/messages
Jul 28 13:29:14 www rpc.yppasswdd[1707]: update nisuser1 (uid=1001) from host 
192.168.100.10 successful.

最终从登录档里面,我们也能够得到相关的记录!这样就非常完美啦! ^_^


14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用

刚刚在 NIS 客户端的 nisuser1 登入测试中,你应该已经发现了一件事,那就是怎么 nisuser1 没有家目录啊?这很正常啊!因为 nisuser1 的家目录是在服务器端的 /home 上头,而你在客户端登入时, 在客户端的 /home 底下根本不可能有 nisuser1 的家目录嘛!那怎办?很简单,将服务器端的 /home 挂载到客户端上面即可啊! 那这个观念跟丛集计算机有啥关系啊?就让我们来谈谈吧!


  • 什么是丛集计算机?

因为个人计算机的 CPU 速度越来越快,核心数目越来越多,因此个人计算机的效能已经不比服务器等级的大型计算机差了! 不过,如果要用来作为计算大型数值模式的应用,即使是最快的个人计算机,还是没有办法有效的负荷的。此时你可能就得要考虑一下, 是要买超级计算机 (Top 500) 还是要自己组一部 PC 丛集计算机 (PC cluster)。

超级计算机的结构中,主要是透过内部电路将好多颗 CPU 与内存连接在一块,因为是特殊设计,因此价格非常昂贵。 如果我们可以将较便宜的个人计算机串接在一块,然后将数值运算的任务分别丢给每一部串接在一块的个人计算机, 那不就很像超级计算机了吗?没错!这就是 PC cluster 最早的想法。

但是这个作法当中有几个限制喔,因为每部计算机都需要运算相同的程序,而我们知道运算的数据都在内存当中, 而程序启动时需要给予一个身份,而程序读取的程序在每部计算机上面都需要是相同的!同时,每部计算机都需要支持平行化运算! 所以,在 PC cluster 上面的所有计算机就得要有:

  • 相同的用户帐户信息,包括账号、密码、家目录等等一大堆信息;
  • 相同的文件系统,例如 /home, /var/spool/mail 以及数值程序放置的位置
  • 可以搭配的平行化函式库,常见的有 MPICH, PVM...

上面的三个项目中,第一个项目我们可以透过 NIS 来处理,第二个项目则可以使用 NFS 来搞定~所以啰,你说, NIS 与 NFS 有没有可使用的空间啊? ^_^

Tips:
由于『预测』这个玩意儿越来越重要,比如说气象预报、空气质量预报等等,而预测需要一个很庞大的模式来进行仿真的工作, 这么庞大的模拟工作需要大量的运算,在学校单位要买一部很贵的大型主机实在很不容易!不过,如果能够串接十部四核心的个人计算机的话, 那么可能只需要不到 20 万便能够组成相当于具有 40 颗 CPU 的大型主机的运算能力了!所以说,在未来 PC cluster 是一个可以发展的课题喔!


  • 另一个不成材的实例

那我们有没有办法来实作一下平行化的丛集架构呢?老实说,很麻烦~不过,至少我们可以先完成前面谈到的两个组件! 分别是 NIS 与 NFS 嘛!但是,在我们目前这个网络环境中,用户账号实在是太紊乱了~所以,如果想要将服务器的 /home 挂载到客户端的 /home,那么那个测试用的客户端可能很多本地用户都无法登入了~因此,在这个测试练习中, 我们打算这样做:

  • 账号:建立大于 2000 以上的账号,账号名称为 cluser1, cluser2, cluser3 (将 cluster user 缩写为 cluser,不是少写一个 t 喔!),且这些账号的家目录预计放置于 /rhome 目录内,以与 NIS client 本地的用户分开;
  • NIS 服务器:领域名为 vbirdcluster,服务器是 www.centos.vbird (192.168.100.254),客户端是 clientlinux.centos.vbird (192.168.100.10);
  • NFS 服务器:服务器分享了 /rhome 给 192.168.100.0/24 这个网域,且预计将所有程序放置于 /cluster 目录中。 此外,假设所有客户端都是很干净的系统,因此不需要压缩客户端 root 的身份。
  • NFS 客户端:将来自 server 的文件系统都挂载到相同目录名称底下!

那就分别来实作一下啰!
 


  • NIS 实作阶段
# 1. 建立此次任务所需要的账号数据:
[root@www ~]# mkdir /rhome
[root@www ~]# useradd -u 2001 -d /rhome/cluser1 cluser1
[root@www ~]# useradd -u 2002 -d /rhome/cluser2 cluser2
[root@www ~]# useradd -u 2003 -d /rhome/cluser3 cluser3
[root@www ~]# echo password | passwd --stdin cluser1
[root@www ~]# echo password | passwd --stdin cluser2
[root@www ~]# echo password | passwd --stdin cluser3

# 2. 修改 NISDOMAIN 的名称
[root@www ~]# vim /etc/sysconfig/network
NISDOMAIN=vbirdcluster  <==重点在改这个项目喔!

这个案例中,你只要做完上述的动作就即将完成了,其他的配置文件请参考前面 14.2 节所谈到的各个必要项目。 接下来当然就是重新启动 ypserv 以及制作数据库啰!

# 3. 制作数据库以及重新启动所需要的服务:
[root@www ~]# nisdomainname vbirdcluster
[root@www ~]# /etc/init.d/ypserv restart
[root@www ~]# /etc/init.d/yppasswdd restart
[root@www ~]# /usr/lib64/yp/ypinit -m

依序一个一个指令下达!上述的这四个指令稍微有相依性关系的!所以不要错乱了顺序喔!接下来,请换到客户端进行:

  1. 以 setup 进行 NIS 的设定,在领域的部分请转为 vbirdcluster 才对!
  2. 做完后再以 id cluser1 确认看看。

作法太简单了,鸟哥这里就不示范啰。
 


  • NFS 服务器的设定
# 1. 设定 NFS 服务器开放的资源:
[root@www ~]# mkdir /cluster
[root@www ~]# vim /etc/exports
/rhome          192.168.100.0/24(rw,no_root_squash)
/cluster        192.168.100.0/24(rw,no_root_squash)

# 2. 重新启动 NFS 啰:
[root@www ~]# /etc/init.d/nfs restart
[root@www ~]# showmount -e localhost
Export list for localhost:
/rhome       192.168.100.0/24
/cluster     192.168.100.0/24

服务器的设定是很单纯的~客户端的设定得要注意啰!

# 1. 设定 NIS Client 的 mount 数据!
[root@clientlinux ~]# mkdir /rhome /cluster
[root@clientlinux ~]# mount -t nfs 192.168.100.254:/rhome   /rhome
[root@clientlinux ~]# mount -t nfs 192.168.100.254:/cluster /cluster
# 如果上述两个指令没有问题,可以将他加入 /etc/rc.d/rc.local 当中啊!

[root@clientlinux ~]# su - cluser1
[cluser1@clientlinux ~]$ 

最后你应该就能够在客户端以 cluser1 登入系统!就这么简单的将账号与文件系统同步做完啦!如果你真的想要玩一下 PC Cluster 的话,鸟哥也有写过一篇不是很成熟的 PC cluster 简易架设,有兴趣的话请自行参考:

  • http://linux.vbird.org/linux_server/0600cluster.php

14.5 重点回顾

  • Network Information Service (NIS) 也可以称为 Sun Yellow Pages (yp),主要是负责在网域当中帮忙 NIS Client 端查寻账号与密码以及其他相关网络参数的服务;
  • NIS server 其实就是提供本身的 /etc/passwd, /etc/shadow, /etc/group, /etc/hosts 等账号密码数据,以及相关的网络参数等,以提供网域当中 NIS Client 的搜寻之用;
  • NIS 为 server/client 架构,当 NIS client 有账号登入需求时,该主机会 (1)先找自己的 /etc/passwd, (2)再前往 NIS server 搜寻相关账号资料。
  • NIS 使用的软件就是 yp 这个软件,主要分为两部份, ypserv 用在 NIS Server,至于 ypbind 与 yp-tools 则用在 NIS Client 上面。
  • 为加快 NIS 查询的速度,因此 NIS server 会将本机的账号数据制成传输较快的数据库档案, 并放置于 /var/yp/(nisdomainname)/ 目录当中;
  • 不论是 NIS 或者是 NFS 都是藉由 RPC Server 所启用的,因此都可以使用 rpcinfo 来查寻 NIS 是否已经启动,以及该 daemon 是否已经向 portmapper (RPC server) 注册了!
  • 在 NIS Server 的设定当中,最重要的一个步骤就是将账号、密码、网络参数等 ASCII 格式档案转成数据库档案 (database file),以提供 NIS client 的查寻!而启动 ASCII 转成 database 的程序可以使用 /usr/lib64/yp/ypinit -m 或者到 /var/yp 底下执行 make 均可。
  • 由于 NIS 通常使用于内部网域当中,因此 /etc/hosts 这个档案的设定相当重要!
  • 若想让使用者在任一部 NIS 管辖的主机登入都可以使用同一份家目录,则需开启 NFS 提供 /home 给所有的主机挂载使用;

14.6 本章习题

  • 请简单说明 NIS server 的功能与工作流程
    当你有多部具有相同账号的 Linux 主机时,即可利用 NIS 所提供的服务,来利用一部 NIS 主机掌控所有的 linux 主机的登入时所需查阅的账号与密码验证。流程如下:
    1. NIS Server 将自己系统内的 /etc/passwd, /etc/group, /etc/hosts 等制作成为 DBM 的数据库格式档案;
    2. NIS Client 若有用户登入的要求时,会前往 NIS Server 搜寻数据库里面的数据做为验证之用。
    3. 每次更动 NIS Server 上面的用户数据时,则 NIS Server 需要重新制作 DBM 数据库档案才行!
  • 请简单说明 NIS Server/client 的架构
    NIS master/client 的特色为:
    1. NIS Server 的 master 先将自己的账号、密码相关档案制作成为数据库档案(database file);
    2. NIS Server 的 master 将自己的数据库档案传送到 slave 上面;
    3. NIS Server 的 slave 接收来自『信任的 NIS Server master 主机』的数据后,更新自己的数据库,使自己的数据库与 master 主机的数据同步;
    4. 网域当中的所有 NIS Client 查寻 NIS Server 时,会找寻『最先响应的那一部 NIS 主机的数据库内容』。
    也就是说,架设 slave NIS server 可以分担区域内 NIS 的工作!
  • NIS 启动之前需要先启动那个服务,否则就无法启动成功 (提示:RPC Server)
    因为 NIS 是 RPC Server 的一种,所以必须要启动 rpcbind 这个 daemon 才行!
  • 我的 NIS 域名为 bird ,另外,我主机的 IP 与主机名为 192.168.5.1/bird.nis.org ,请问要这些信息需要设定在 NIS Server 的哪些档案之内?
    域名可以直接手动下达『 nisdomainname bird 』也可以写入 /etc/sysconfig/network 里面『NISDOMAIN=bird』; IP 与 主机名 需要写入在 /etc/hosts 里面。
  • /etc/nsswitch.conf 的功能为何?如果我想要让密码查寻先本地的密码文件,再查寻 NIS ,需要如何设定?
    该档案的功能很多,在 DNS 方面,可以用来决定正、反解的顺序,至于密码则可以用来判断何者为先!如果需要先查本机再查 NIS 的密码时,需要的参数:
    passwd: files nis
    shadow: files nis
  • 如果我想要增加网域当中一个新的账号:newaccount,并且这个 newaccount 可以让 NIS Client 查寻到他的账号与密码,需要进行哪些步骤?
    1. 先登入 NIS Server 以 useradd newaccount 以及 passwd newaccount 来新增账号;
    2. 制作密码数据库:『/usr/lib64/yp/ypinit -m』
    3. 重新启动:『/etc/rc.d/init.d/ypserv restart ; /etc/rc.d/init.d/yppasswdd restart』。
  • 实作范例题:底下是我的网域参数特征:
    network/netmask:192.168.1.0/255.255.255.0
    NIS server : 192.168.1.100 (hostname: server.nis.test)
    NIS cient: 192.168.1.200 (hostname: client1.nis.test)
    NIS domain name: nis.test
    利用上面的参数来设定 NIS 架构,请一步一步的写下你的设定。
    请自行参考本章节的内容设定

本文地址:https://www.vps345.com/7457.html

搜索文章

Tags

docker 容器 运维 java-rabbitmq java PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP CC攻击 攻击怎么办 服务器 网络 远程连接 vscode 安全 linux 嵌入式硬件 AI Dify 大模型应用 ide macos ubuntu 无人机 机器人 python c++ php ubuntu24.04 todesk ai nlp wireshark 边缘计算 部署 开源 自动化 n8n dity make 人工智能 LLM 大模型面经 大模型 职场和发展 Deepseek 大模型学习 Linux 维护模式 语言模型 AI大模型 DeepSeek agi 智能驾驶 BEVFusion Ubuntu pytorch tensorflow linux环境变量 具身智能 强化学习 qt linuxdeployqt 打包部署程序 appimagetool 搜索引擎 程序员 prompt windows conda flutter Google pay Apple pay 硬件工程 单片机 物联网 IPMI rag ragflow ollama 大模型部署 远程工作 数据库 postgresql pgpool github 虚拟机 ROS 自动驾驶 经验分享 springsecurity6 oauth2 授权服务器 前后端分离 机器学习 chatgpt gpu算力 AIGC comfyui comfyui教程 appium 软件测试 自动化测试 功能测试 程序人生 Agent llama CrewAI uniapp vue 中间件 网络安全 web安全 可信计算技术 安全架构 网络攻击模型 游戏引擎 学习 debian wps 安卓 c# 开发语言 网络协议 android studio 交互 后端 websocket android Qwen3 qwen3 32b vllm 本地部署 vite Svelte MacMini Mac 迷你主机 mini Apple intellij-idea centos 深度学习 zabbix ESXi 数据分析 计算机视觉 django 阿里云 云计算 spring boot spring r语言 数据挖掘 数据可视化 harmonyos 华为 华为云 华为od onlyoffice 在线office 技能大赛 云原生 iventoy VmWare OpenEuler tcp/ip mcu c语言 MCP rtsp h.265 Java进程管理 DevOps自动化 脚本执行 跨平台开发 远程运维 Apache Exec JSch oracle 关系型 分布式 vmamba 相机 milvus fiddler 爬虫 http HTTP 服务器控制 ESP32 DeepSeek MQTT mosquitto 消息队列 蓝桥杯 YOLO yolov5 动态库 GCC编译器 -fPIC -shared 网络工程师 华为认证 环境迁移 智能路由器 web3 区块链 区块链项目 mac 截图 录屏 gif 工具 大数据 政务 分布式系统 监控运维 Prometheus Grafana ShapeFile GeoJSON Python Nginx Docker Docker Compose Kubernetes Apache Flume 数据采集 安装部署 配置优化 高级功能 大数据工具集成 FTP服务器 GIS 遥感 WebGIS Dell HPE 联想 浪潮 微信开放平台 flask 微信公众平台 微信公众号配置 Linux WSL2 上安装 Ubuntu 网页服务器 web服务器 pip Kali 渗透 Claude Desktop Claude MCP Windows Cli MCP oceanbase 传统数据库升级 银行 H3C mysql adb 服务器扩容没有扩容成功 fpga开发 vmware 1024程序员节 prometheus grafana ssh 远程 命令 执行 sshpass 操作 kvm qemu libvirt tidb GLIBC hadoop big data 编辑器 gpt transformer 自然语言处理 GCC crosstool-ng CosyVoice opencv webpack nginx 程序 编程 内存 性能分析 知识图谱 大模型教程 科技 Windows ai工具 mcp mcp协议 go-zero mcp服务器 鸿蒙系统 hdc 鸿蒙NEXT 算法 神经网络 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 SSE 集成学习 集成测试 remote-ssh FTP 服务器 DNS rc.local 开机自启 systemd 麒麟 pycharm 存储维护 NetApp存储 EMC存储 mamba 重启 排查 系统重启 日志 原因 流程图 mermaid kubernetes nac 802.1 portal ssh漏洞 ssh9.9p2 CVE-2025-23419 金融 主从复制 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 vue3 前端 ffmpeg 音视频 视频编解码 p2p 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 分布式账本 智能合约 信任链 共识算法 AI-native elasticsearch 7-zip servlet 企业微信 嵌入式 linux驱动开发 arm开发 快捷键 旋转屏幕 自动操作 cursor cron crontab日志 卷积神经网络 open webui fastapi Cline 交换机 硬件 设备 GPU PCI-Express 智能手机 NAS Termux Samba ansible playbook 自动化运维 deepseek chrome chrome devtools selenium chromedriver 鸿蒙 前端框架 笔记 rocketmq pygame eclipse tomcat 负载均衡 压力测试 大模型压力测试 EvalScope devops LSTM 毕设 游戏 飞腾处理器 硬件架构 国产化 gitee gitee go ipython virtualenv arm 网络结构图 yaml Ultralytics 可视化 redis 线程 多线程 ragflow 源码启动 javascript react.js 前端面试题 node.js 持续部署 DevOps 软件交付 数据驱动 应用场景 数据安全 k8s docker desktop 镜像 nohup 异步执行 考研 学习方法 MCP server agent C/S 王者荣耀 自定义客户端 SAS 架构 PyQt PySide6 电脑 NVML nvidia-smi chatbox HTTP状态码 客户端错误 服务器端错误 API设计 harmonyOS面试题 cocoapods xcode AI编程 visual studio code notepad openssl Ollama RockyLinux ros 树莓派项目 目标检测 YOLOv12 车载系统 Vmamba AI提示词优化 嵌入式Linux IPC ruoyi 多线程服务器 Linux网络编程 Kylin-Server 国产操作系统 服务器安装 LLM Web APP Streamlit CUDA PyTorch aarch64 编译安装 HPC matlab muduo 网络库 CH340 串口驱动 CH341 uart 485 数据结构 隐藏文件 GPU训练 wsl 操作系统 flash-attention 报错 计算生物学 生物信息学 生物信息 基因组 智能体开发 mcp-proxy mcp-inspector fastapi-mcp sse dash json 正则表达式 golang 驱动开发 嵌入式实习 vue.js typescript IM即时通讯 QQ 微信 剪切板对通 HTML FORMAT 安全漏洞 信息安全 卡死 maxkb ARG 程序员创富 gcc g++ g++13 终端工具 远程工具 arkUI arkTs nvm Kali Linux react native 实时音视频 实时互动 rpa 单例模式 k8s部署 MySQL8.0 高可用集群(1主2从) 显卡驱动持久化 GPU持久化 计算机学习路线 编程语言选择 卸载 软件 列表 工作流自动化工具 bushujiaocheng 部署教程 算家云 AI算力 租算力 到算家云 Trae IDE AI 原生集成开发环境 Trae AI rpc 远程过程调用 Windows环境 jenkins maven svn visualstudio RAID RAID技术 磁盘 存储 iot Deepseek-R1 私有化部署 推理模型 jar jupyter udp sdkman ddos UEFI Legacy MBR GPT U盘安装操作系统 安卓模拟器 iNode Macos gnu unix bash iTerm2 图像处理 计算机网络 csrf 策略模式 mac安装软件 mac卸载软件 mac book rnn 框架搭建 eureka opengl cuda cudnn nvidia EVE-NG 进程间通信 超级终端 多任务操作 提高工作效率 信息与通信 SSH Xterminal armbian u-boot gitlab llama3 Chatglm 开源大模型 CDN webrtc 语音识别 es6 qt6.3 g726 localhost git ip spring cloud 微服务 源码 毕业设计 课程设计 计算机外设 虚拟显示器 远程控制 fstab ubuntu20.04 开机黑屏 python2 桌面环境 vim 打不开xxx软件 无法检查其是否包含恶意软件 ollama api ollama外网访问 SecureCRT node css css3 js python3.11 Claude 群晖 低代码 抓包工具 edge go 系统安全 AD域 物联网开发 我的世界 我的世界联机 数码 音乐服务器 Navidrome 音流 网工 运维开发 TCP服务器 qt项目 qt项目实战 qt教程 opensearch helm FunASR ASR grub 版本升级 扩容 https 虚拟化 哈希算法 rsync openEuler jmeter 混合开发 环境安装 JDK Mac内存不够用怎么办 nohup后台启动 实时内核 测试工具 创业创新 系统架构 鸿蒙面试 面试题 rk3588 npu rknn-toolkit2 数据集 知识库 RAGFlow 本地知识库部署 DeepSeek R1 模型 openwrt USB网络共享 网络爬虫 ip协议 7z top Linux top top命令详解 top命令重点 top常用参数 Apache Beam 批流统一 性能优化 案例展示 数据分区 容错机制 图形化界面 tcpdump gru llm stm32 RTSP xop RTP RTSPServer 推流 视频 华为机试 C++ Java kind xrdp 远程桌面 大大通 第三代半导体 碳化硅 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 代码调试 ipdb 视频平台 录像 视频转发 性能测试 视频流 Chatbox 虚幻 信号处理 ftp服务 文件上传 树莓派 element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 密码学 商用密码产品体系 finebi 云计算面试题 sqlite 缓存 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 WSL resolv.conf mac设置host 火绒安全 mybase Python教程 pycharm安装 5G 3GPP 卫星通信 Python基础 Python技巧 arcgis 拓扑图 seleium docker-compose kali 共享文件夹 tar openjdk powerpoint 软考设计师 中级设计师 SQL 软件设计师 UOS 开机自启动 桌面快捷方式 NVIDIA 切换root SRS 流媒体 直播 bug 升级 CVE-2024-7347 漏洞 RustDesk自建服务器 rustdesk服务器 docker rustdesk 大模型推理 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap BMC 带外管理 kylin gaussdb YOLOv8 NPU Atlas800 A300I pro midjourney AI写作 状态管理的 UDP 服务器 Arduino RTOS NFC 近场通讯 智能门锁 3d bigdata openvpn server openvpn配置教程 centos安装openvpn jvm sqlserver chromium dpi 进程信号 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 面试 nacos Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 ros2 moveit 机器人运动 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer 网络药理学 生信 分子对接 autodock mgltools PDB PubChem docker compose jdk 物理地址 页表 虚拟地址 镜像源 京东云 dns是什么 如何设置电脑dns dns应该如何设置 lvs 向量数据库 雨云 NPS AutoDL 服务器配置 rsyslog llama.cpp 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 Pyppeteer Playwright gunicorn Python 视频爬取教程 Python 视频爬取 Python 视频教程 RK3568 OpenGL 图形渲染 微信小程序 notepad++ 概率论 串口服务器 万物互联 工业自动化 工厂改造 SFTP SFTP服务端 我的世界服务器搭建 minecraft Ubuntu20.04 2.35 IP地址 IPv4 IPv6 端口号 计算机基础 vnc NVIDIA显卡安装 Ubuntu开机黑屏 网络用户购物行为分析可视化平台 大数据毕业设计 centos 7 ubuntu安装 linux入门小白 换源 国内源 Debian Linux Vim 安装MySQL excel MLLMs VLM gpt-4v RagFlow RAG langchain 代理模式 sql 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 nuxt3 弹性计算 KVM 计算虚拟化 弹性裸金属 Anolis nginx安装 linux插件下载 mariadb apache 规格说明书 设计规范 软件需求 昇腾 华为昇腾910b3 socket 云电脑 5090 显卡 AI性能 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 计算机系统 网络编程 ftp 进程 进程控制 邮件APP 免费软件 gpt-3 Linux find grep 人工智能生成内容 stable diffusion tar.gz tar.xz linux压缩 mac cocoapods macos cocoapods GeneCards OMIM TTD android-studio 欧拉系统 BCLinux Autoware 辅助驾驶 pdf 仙盟大衍灵机 东方仙盟 仙盟创梦IDE 大模型微调 云电竞 oneapi 大模型入门 dell服务器 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 模型联网 API CherryStudio 服务器繁忙 gitea 文件分享 WebDAV 联想开天P90Z装win10 模拟退火算法 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 云服务器 裸金属服务器 弹性裸金属服务器 ssl 程序化交易 量化交易 高频交易 银河麒麟 小程序 gitlab服务器 sequoiaDB Cursor make命令 makefile文件 飞牛NAS 飞牛OS MacBook Pro NFS SenseVoice Qwen2.5-coder 离线部署 mysql安装报错 windows拒绝安装 VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 grep termux 环境搭建 Bug解决 Qt platform OpenCV brew milvus安装 OpenCore 产品经理 unity libreoffice word转pdf 安装 进程等待 内存泄漏 开发环境 VSCode 开发工具 微软 docker run 数据卷挂载 环境变量 端口映射 交互模式 deep learning apt elk Logstash 日志采集 ui searxng etcd RBAC 安全威胁分析 gromacs 分子动力学模拟 MD 动力学模拟 perl dify 本地化部署 Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 MobaXterm 文件传输 kernel centos-root /dev/mapper yum clean all df -h / du -sh xml 宝塔面板 easyTier 内网穿透 组网 三维重建 rdp 实验 spark HistoryServer Spark YARN jobhistory v10 pillow EasyConnect LDAP cpu 实时 使用 IMM web3.py 监控 frp 内网服务器 内网代理 内网通信 数据库系统 PVE iis X11 Xming asp.net大文件上传 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 Windsurf 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors uni-app 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 Web服务器 多线程下载工具 PYTHON ios ecmascript aws .netcore .net microsoft lua 智能硬件 yum iftop 网络流量监控 向日葵 系统开发 binder framework 源码环境 腾讯云 电子信息 通信工程 毕业 软链接 硬链接 智慧农业 开源鸿蒙 团队开发 其他 ArkUI ArkTS 移动端开发 Ubuntu 22.04 MySql 算力租赁 安装教程 Obsidian Dataview 权限 swift hive ranger MySQL8.0 防火墙 ufw 二级页表 腾讯云大模型知识引擎 eNSP 企业网络规划 华为eNSP 网络规划 ShenTong OpenSSH yolov8 ai小智 语音助手 ai小智配网 ai小智教程 esp32语音助手 diy语音助手 设置代理 实用教程 文心一言 云原生开发 接口优化 k8s二次开发 版本 qt5 客户端开发 网络管理 软考 2024 2024年上半年 下午真题 答案 LVM 磁盘分区 lvresize 磁盘扩容 pvcreate autoware 小智 论文笔记 scrapy 健康医疗 wsl2 vsxsrv 常用命令 文本命令 目录命令 rustdesk 孤岛惊魂4 adobe Headless Linux 无桌面 命令行 freebsd 测试用例 kafka 毕昇JDK 浪潮信息 AI服务器 iphone lighttpd安装 Ubuntu配置 Windows安装 服务器优化 锁屏不生效 vmware tools VMware linq 性能监控 raid 矩阵乘法 3D深度学习 中兴光猫 换光猫 网络桥接 自己换光猫 Ubuntu Server Ubuntu 22.04.5 Hive环境搭建 hive3环境 Hive远程模式 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 Redis Desktop 软件工程 稳定性 看门狗 设计模式 protobuf 序列化和反序列化 MacOS jellyfin nas ROS2 大版本升 升级Ubuntu系统 rime pthread 系统 WSL2 IP 地址 渗透测试 环境部署 openssh DevEco Studio HarmonyOS OpenHarmony 文档 TRAE minio VLAN 企业网络 工作流 workflow Open WebUI 办公自动化 自动化生成 pdf教程 DBeaver 数据仓库 kerberos 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 cnn DenseNet PPI String Cytoscape CytoHubba 自动化任务管理 虚拟局域网 ip命令 新增网卡 新增IP 启动网卡 yum换源 miniapp 真机调试 调试 debug 断点 网络API请求调试方法 反向代理 性能调优 安全代理 读写锁 c/c++ 串口 nftables Mermaid 可视化图表 Crawlee deepseek-v3 ktransformers Reactor Reactor反应堆 axure 轮播图 模拟器 pnet 百度 pnetlab RTX5090 torch2.7.0 命名管道 客户端与服务端通信 技术 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 react next.js 部署next.js springboot 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 ssrf 失效的访问控制 媒体 nextjs reactjs HCIE 数通 豆瓣 追剧助手 迅雷 express okhttp CORS 跨域 rust腐蚀 黑客 信息收集 ldap 外网访问 项目部署到linux服务器 项目部署过程 html5 firefox 网站搭建 serv00 博客 KylinV10 麒麟操作系统 Vmware Jellyfin 统信 UOS1070e 机柜 1U 2U samba 镜像下载 postman deepseek-r1 大模型本地部署 免费 pythonai PlaywrightMCP fpga Cache Aside Read/Write Write Behind 私有化 ArcTS 登录 ArcUI GridItem embedding prometheus数据采集 prometheus数据模型 prometheus特点 VMware安装mocOS macOS系统安装 PX4 本地部署AI大模型 匿名管道 英语 shell脚本免交互 expect linux免交互 虚拟现实 代码 对比 meld Beyond Compare DiffMerge powerbi 磁盘挂载 新盘添加 partedUtil jdk11安装 jdk安装 openjdk11 openjdk11安装 系统内核 Linux版本 FS 文件系统 mount bootfs rootfs linux目录 鲲鹏 热榜 单元测试 增强现实 沉浸式体验 技术实现 案例分析 AR ue5 vr 流水线 脚本式流水线 MVS 海康威视相机 DeepSeek r1 VGG网络 卷积层 池化层 postgres Docker Desktop Dify重启后重新初始化 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 MAVROS 四旋翼无人机 ACL 流量控制 基本ACL 规则配置 文件共享 GPUGEEK RAGflow Playwright MCP pppoe radius C语言 网卡的名称修改 eth0 ens33 EMQX 通信协议 autodl dubbo odoo 服务器动作 Server action 单一职责原则 虚拟机安装 直播推流 游戏程序 AI作画 大数据平台 计算机 SWAT 配置文件 服务管理 网络共享 剧本 信创 信创终端 中科方德 less Qwen2.5-VL 飞牛 云桌面 AD域控 证书服务器 硅基流动 ChatBox 宝塔 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 AI员工 word 建站 kotlin GPU状态 客户端-服务器架构 点对点网络 服务协议 网络虚拟化 网络安全防御 零日漏洞 CVE linux cpu负载异常 Featurize Mobilenet 分割 麒麟OS deepseek r1 bcompare 灵办AI 个人开发 软件构建 进程优先级 调度队列 进程切换 perf linux内核 CPU 使用率 系统监控工具 linux 命令 export env 变量 initramfs Linux内核 Grub burp suite 抓包 IP配置 netplan 星河版 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia devmem 统信UOS tftp nfs lvgl8.3 lvgl9.2 lvgl lvgl安装 AI代码编辑器 openstack Xen Hyper-V Linux24.04 deepin DocFlow 大语言模型 Docker Hub docker pull daemon.json springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 Xinference Helm k8s集群 ros1 Noetic 20.04 apt 安装 WireGuard 异地组网 su sudo sudo原理 su切换 远程服务 rtc Alist rclone 挂载 网盘 企业风控系统 互联网反欺诈 DDoS攻击 SQL注入攻击 恶意软件和病毒攻击 dns 双系统 多系统 Apache OpenNLP 句子检测 分词 词性标注 核心指代解析 Kylin OS pyqt java-ee ukui 麒麟kylinos openeuler Dell R750XS 银河麒麟高级服务器 外接硬盘 Kylin zookeeper 网络穿透 netty asm ABAP db 客户端 联机 僵尸毁灭工程 游戏联机 开服 笔灵AI AI工具 HP Anyware Qualcomm WoS QNN AppBuilder Netty pyside6 界面 shell 框架 Putty 花生壳 ECS服务器 实时传输 深度优先 Lenovo System X GNOME edge浏览器 anaconda neo4j Ubuntu共享文件夹 共享目录 Linux共享文件夹 ArkTs 沙盒 list GPU环境配置 Ubuntu22 Anaconda安装 pyicu 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 推荐算法 NVM Node Yarn PM2 材料工程 photoshop firewall SPI C paddle latex HarmonyOS Next 管道 pipe函数 管道的大小 匿名管道的四种情况 direct12 cuda驱动 嵌入式实时数据库 esp32 SSH 服务 SSH Server OpenSSH Server can 线程池 pyautogui bot minicom 串口调试工具 firewalld 自动化编程 x64 SIGSEGV xmm0 easyui docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 网络建设与运维 网络搭建 神州数码 神州数码云平台 云平台 监控k8s 监控kubernetes cfssl Typore 输入系统 宝塔面板无法访问 client-go 进程地址空间 写时拷贝 Linux的进程调度队列 活动队列 STP 生成树协议 PVST RSTP MSTP 防环路 网络基础 CAN 多总线 BMS 储能 CKA rust 僵尸世界大战 游戏服务器搭建 glibc open Euler dde 统信操作系统 live555 源码剖析 rtsp实现步骤 流媒体开发 ISO镜像作为本地源 磁盘监控 即时通信 NIO 聊天室 致远OA OA服务器 服务器磁盘扩容 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 C# MQTTS 双向认证 emqx AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 MQTT协议 消息服务器 html .net core CNNs 图像分类 大模型训练/推理 推理问题 mindie 显示器 log4j java-zookeeper 匿名FTP 邮件传输代理 SSL支持 chroot监狱技术 科勘海洋 数据采集浮标 浮标数据采集模块 LangGraph 模型上下文协议 MultiServerMCPC load_mcp_tools load_mcp_prompt proto actor actor model Actor 模型 DICOM mysql离线安装 ubuntu22.04 mysql8.0 数据库开发 database rabbitmq ruby HiCar CarLife+ CarPlay QT RK3588 网络文件系统 cmake Charles 线程同步 线程互斥 条件变量 orbslam2 苹果电脑装windows系统 mac安装windows系统 mac装双系统 macbook安装win10双 mac安装win10双系统 苹果电脑上安装双系统 mac air安装win function address 函数 地址 内核 linux/cmake homebrew windows转mac ssh密匙 Mac配brew环境变量 SSH 密钥生成 SSH 公钥 私钥 生成 ssh远程登录 QT 5.12.12 QT开发环境 Ubuntu18.04 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos ue4 着色器 mq intellij idea zip unzip mongodb 富文本编辑器 Zoertier 内网组网 工具分享 开放端口 访问列表 进程池实现 dify部署 Typescript Quixel Fab Unity UE5 游戏商城 虚幻引擎 去中心化 弹性 sse_starlette Starlette FastAPI Server-Sent Eve 服务器推送事件 DeepSeek-R1 API接口 个人博客 kylin v10 麒麟 v10 SSL证书 银河麒麟桌面操作系统 游戏服务器 TrinityCore 魔兽世界 黑客技术 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 java-rocketmq 崖山数据库 YashanDB 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 bonding 链路聚合 思科模拟器 思科 Cisco 云服务 tcp W5500 OLED u8g2 LORA NLP OD机试真题 华为OD机试真题 服务器能耗统计 AD 域管理 client close 配置原理 deepseak 豆包 KIMI 腾讯元宝 IIS 跨域请求 web logstash LVS CPU架构 服务器cpu OSB Oracle中间件 SOA 客户端/服务器架构 分布式应用 三层架构 Web应用 跨平台兼容性 trae Linux PID 用户缓冲区 华为证书 HarmonyOS认证 华为证书考试 csrutil mac恢复模式进入方法 恢复模式 设备树 harmonyosnext mybatis MAC Android ANDROID_HOME zshrc 信息可视化 charles uni-app x 代码复审 codereview code-review linux常用命令 药品管理 北亚数据恢复 数据恢复 服务器数据恢复 数据库数据恢复 oracle数据恢复 空Ability示例项目 讲解 深度求索 私域 环境配置 实习 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 iperf3 带宽测试 P2P HDLC yum源切换 更换国内yum源 监控k8s集群 集群内prometheus 电视剧收视率分析与可视化平台 国产数据库 瀚高数据库 数据迁移 下载安装 Alexnet compose LInux qps 高并发 大屏端 考试 Masshunter 质谱采集分析软件 使用教程 科研软件 冯诺依曼体系 Multi-Agent 开发 SoC 原子操作 AXI 根目录 authorized_keys 密钥 驱动器映射 批量映射 win32wnet模块 网络驱动器映射工具 lsof linux命令 MS Materials Hosting Bundle .NET Framework vs2022 Flask Waitress Gunicorn uWSGI Uvicorn LLMs micropython mqtt 半虚拟化 硬件虚拟化 Hypervisor VNC iBMC UltraISO 服务器管理 配置教程 网站管理 echarts numpy EtherCAT转Modbus EtherCAT转485网关 ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口网关 ECT转Modbus串口服务器 华为OD 可以组成网络的服务器 massa sui aptos sei 日志分析 系统取证 mvc vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 源代码管理 janus 证书 签名 分类 笔记本电脑 VMware安装Ubuntu Ubuntu安装k8s 教程 matplotlib AList webdav fnOS ArtTS Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 archlinux kde plasma Isaac Sim 虚拟仿真 Xshell 免密 公钥 私钥 动静态库 可执行程序 miniconda OS 软件商店 livecd systemtools 基础指令 指令 chrome历史版本下载 chrominum下载 dnf 编译 烧录 机床 仿真 课件 教学 课程 gstreamer 鸿蒙项目 sublime text GoogLeNet deekseek 显示过滤器 ICMP Wireshark安装 deployment daemonset statefulset cronjob AzureDataStudio SystemV IO npm LLaMA-Factory 软路由 服务注册与发现 搜狗输入法 中文输入法 Jenkins流水线 声明式流水线 MinerU unionFS OverlayFS OCI docker架构 写时复制 CUPS 打印机 Qt5 dataworks maxcompute 高考 省份 年份 分数线 数据 coze UDP audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 做raid 装系统 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 ESP32 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 存储数据恢复 音乐库 windows 服务器安装 Carla outlook 错误代码2603 无网络连接 2603 asp.net大文件上传下载 yashandb cocos2d 3dcoat pyscenic 生信教程 http状态码 请求协议 CPU 网络IO 队列 数据库占用空间 若依 内存不足 outofmemory Key exchange 主包过大 teamspeak 英语六级 gemini gemini国内访问 gemini api gemini中转搭建 Cloudflare TCP 多进程 TCP回显服务器 jvm调优 LRU策略 内存增长 垃圾回收 键盘 diskgenius beautifulsoup STL Maxkb RAG技术 本地知识库 vm JAVA Mac部署 Ollama模型 Openwebui 配置教程 AI模型 容器清理 大文件清理 空间清理 leetcode libtorch ubuntu24.04.1 redhat 计算机科学与技术 ci/cd webview IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 visual studio d3d12 DrissionPage 蜂窝网络 频率复用 射频单元 无线协议接口RAN 主同步信号PSS 百度云 智能体 飞书 安全性测试 软件安装 muduo库 issue stm32项目 回显服务器 UDP的API使用 Minecraft 智能电视 React Next.js 开源框架 网络原理 c/s 文件存储服务器组件 pxe 全栈 网络带宽 问题排查 量子计算 过期连接 相机标定 AudioLM 宠物 免费学习 宠物领养 宠物平台 小游戏 五子棋 RAGFLOW 检索增强生成 文档解析 大模型垂直应用 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 Maven lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 GRANT REVOKE 迁移 泰山派 根文件系统 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 Python学习 Python编程 illustrator HP打印机 编译器 Ubuntu22.04 electron MAC地址 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 web环境 目标跟踪 可用性测试 python高级编程 Ansible elk stack Linux的进程控制 AOD-PONO-Net 图像去雾技术 Makefile Make 客户端和服务器端 TraeAgent 调试方法 Valgrind 内存分析工具 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 rtp 同步 备份 IIS服务器 IIS性能 日志监控 DOIT 四博智联 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 充电桩 欧标 OCPP saltstack 影刀 zerotier PTrade QMT 量化股票 aac DELL R730XD维修 全国服务器故障维修 MateBook Scoket 套接字 Spring AI 大模型应用开发 AI 应用商业化 JavaWeb Echo chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 数学建模 Echarts图表 折线图 柱状图 异步动态数据 鸿蒙开发 可视化效果 Metastore Catalog 导航栏 互联网实用编程指南 c CTE AGE 软硬链接 文件 zephyr IMX317 MIPI H265 VCU #影刀RPA# AnythingLLM AnythingLLM安装 运维监控 软负载 camera Arduino WebVM image 命令模式 linux子系统 忘记密码 VM虚拟机 容器化 Serverless 内存管理 学习路线 烟雾检测 yolo检测 消防检测 Web3 Telegram 本地环回 bind 转换 电脑操作 回归 生成对抗网络 聚类 lstm LSTM-SVM 时间序列预测 Linux权限 xshell 权限掩码 粘滞位 多媒体 BitTorrent 搜索 冯诺依曼体系结构 Nginx报错413 Request Entity Too Large 的客户端请求体限制 SSM 项目实战 页面放行 局域网 shell编程 pytorch3d zotero 同步失败 asi_bench windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 kamailio sip VoIP 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 swoole 备选 网站 api 调用 示例 oracle fusion oracle中间件 支持向量机 qwen2vl web开发 openvino 环境 非root anonymous 站群服务器 电子信息工程 RHEL 信创国产化 达梦数据库 进程管理 CLI JavaScript langgraph.json blender three.js 数字孪生 开发效率 Windmill struts 物联网嵌入式开发实训室 物联网实训室 嵌入式开发实训室 物联网应用技术专业实训室 加密 SQI iOS Server Trust Authentication Challenge cn2 带宽 mcp client mcp server 移动开发 高级IO epoll Linux的权限 composer PostgreSQL15数据库 nano debezium 数据变更 数码相机 全景相机 设备选择 实用技巧 数字空间 MDK 嵌入式开发工具 产测工具框架 IMX6ULL 管理框架 lb 协议 scapy 隐藏目录 管理器 通配符 漏洞报告生成 深度强化学习 深度Q网络 Q_Learning 经验回收 Arduino下载开发板 esp32开发板 esp32-s3 电子器件 二极管 三极管 青少年编程 编程与数学 xfce 机器人操作系统 思科实验 高级网络互联 mysql 8 mysql 8 忘记密码 Docker 部署es9 Docker部署es Docker搭建es9 Elasticsearch9 Docker搭建es Invalid Host allowedHosts 阻塞队列 生产者消费者模型 服务器崩坏原因 opcua opcda KEPServer安装 ecm bpm file server http server web server googlecloud raid5数据恢复 磁盘阵列数据恢复 WebRTC 三级等保 服务器审计日志备份 繁忙 解决办法 替代网站 汇总推荐 AI推理 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 AimRT #STC8 #STM32 事件驱动 gateway 视频服务器 ueditor导入word messages dmesg 大学大模型可视化教学 全球气象可视化 大学气象可视化 flink flinkcdc 微信分享 Image wxopensdk USB转串口 termius iterm2 Linux的基础指令 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 wifi驱动 更换镜像源 热键 clipboard 剪贴板 剪贴板增强 文件权限 ceph nvcc A100 jina bat GRUB引导 Linux技巧 飞牛nas fnos 免费域名 域名解析 selete virtualbox Docker快速入门 全文检索 图搜索算法 openresty 恒玄BES Agentic Web NLWeb 自然语言网络 微软build大会 自动化测试框架 数字化转型 MySQL csapp 缓冲区 vscode1.86 1.86版本 ssh远程连接 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 远程看看 远程协助 thingsboard rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 状态模式 阿里云ECS 浏览器自动化 WebServer 话题通信 服务通信 蓝桥杯C++组 券商 股票交易接口api 类型 特点 股票量化接口 股票API接口 惠普服务器 惠普ML310e Gen8 惠普ML310e Gen8V2 显卡驱动 nvidia驱动 Tesla显卡 ECS 漫展 材质 贴图 观察者模式 进度条 前端项目部署 微前端 webgl 医疗APP开发 app开发 基础入门 sonoma 自动更新 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 lvm systemctl 图论 PATH 命令行参数 main的三个参数 vr看房 在线看房系统 房产营销 房产经济 三维空间 react Native token 模块测试 elementui 若依框架 美食 ebpf 蓝耘科技 元生代平台工作流 ComfyUI k8s集群资源管理 烟花代码 烟花 元旦 OpenVINO 推理应用 并查集 大模型技术 本地部署大模型 开发人员主页 llamafactory 微调 Qwen 代理配置 企业级DevOps risc-v Linux系统编程 wpf dsp开发 记账软件 容器部署 能效分析 huggingface WebFuture pandas 迭代器模式 Spring Boot es 进程状态 僵尸进程 脚本 c盘 磁盘清理 ping++ 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 DeepSeek行业应用 Heroku 网站部署 并集查找 换根法 树上倍增 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 银河麒麟操作系统 triton 模型分析 创意 社区 IPMITOOL 硬件管理 域名服务 DHCP 符号链接 配置 ECT转Modbus协议 EtherCAT转485协议 ECT转Modbus网关 弹性服务器 机架式服务器 1U工控机 国产工控机 机器人仿真 模拟仿真 asp.net 零售 抽象工厂模式 服务器租用 物理机 SPP HarmonyOS5 链表 玩机技巧 软件分享 软件图标 cmos curl wget bpf bpfjit pcap 服务 源码软件 实战项目 入门 精通 podman 单用户模式 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm 金仓数据库 2025 征文 数据库平替用金仓 ubuntu24 vivado24 路径解析 AI Agent 字节智能运维 lio-sam SLAM 输入法 自学笔记 小米 澎湃OS Sealos import save load 迁移镜像 K8S k8s管理系统 一切皆文件 RDP kubeless autogen openai isaacgym nacos容器环境变量 docker启动nacos参数 nacos镜像下载 改行学it 人工智能作画 requests python库 WIFI7 无线射频 高通 射频校准 射频调试 射频匹配 Radius Ubuntu 24.04.1 轻量级服务器 RTMP 应用层 WinRM TrustedHosts vSphere vCenter 软件定义数据中心 sddc XFS xfs文件系统损坏 I_O error VPS 显示管理器 lightdm gdm tailscale derp derper 中转 干货分享 黑客工具 密码爆破 sqlite3 VMware创建虚拟机 VS Code 小智AI服务端 xiaozhi TTS 西门子PLC 通讯 主板 电源 网卡 服务器部署 本地拉取打包 服务器ssl异常解决 软件开发 MinIO vue在线预览excel和编辑 vue2打开解析xls电子表格 浏览器新开页签或弹框内加载预览 文件url地址或接口二进制文档 解决网页打不开白屏报错问题 光电器件 LED slave 服务发现 雾锁王国 决策树 滑动验证码 反爬虫 alphafold3 快速入门 软件高CPU占用 ProcessExplorer Process Hacker System Informer Windbg 线程的函数调用堆栈 多端开发 智慧分发 应用生态 鸿蒙OS 捆绑 链接 谷歌浏览器 youtube google gmail alias unalias 别名 EMUI 回退 降级 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 safari Cookie 权限命令 特殊权限 Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 java毕业设计 微信小程序医院预约挂号 医院预约 医院预约挂号 小程序挂号 idea vscode-server ubuntu18.04 TCP协议 telnet 远程登录 WebUI DeepSeek V3 CLion 端口聚合 win11 windows11 蓝牙 post.io 企业邮箱 搭建邮箱 需求分析 知行EDI 电子数据交换 知行之桥 EDI 4 - 分布式通信、分布式张量 游戏机 简单工厂模式 计算机八股 重构 网络配置 路由配置 webstorm ocr 网页设计 unity3d 银河麒麟服务器操作系统 系统激活 聊天服务器 Socket Dedicated Host Client 无头主机 Erlang OTP gen_server 热代码交换 事务语义 算力 能力提升 面试宝典 IT信息化 加解密 Yakit yaklang 工业4.0 gradle 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? Web应用服务器 glm4 行情服务器 股票交易 速度慢 切换 三次握手 大厂程序员 硅基计算 碳基计算 认知计算 生物计算 AGI 系统架构设计 软件哲学 程序员实现财富自由 独立服务器 cs144 HTTP3 全双工通信 多路复用 实时数据传输 服务网格 istio 黑苹果 threejs 3D trea 历史版本 下载 etl 软件卸载 系统清理 vpn fonts-noto-cjk 终端 容器技术 影视app 多路转接 Bluetooth 配对 Linux指令 Unlocker 命令键 TiDB测试集群 南向开发 北向开发 fd 文件描述符 子网掩码 公网IP 私有IP 浏览器开发 AI浏览器 seatunnel efficientVIT YOLOv8替换主干网络 TOLOv8 抗锯齿 springcloud Node-Red 编程工具 流编程 嵌入式系统开发 钉钉 GameFramework HybridCLR Unity编辑器扩展 自动化工具 桥接模式 windows虚拟机 虚拟机联网 finalsheel registries 打包工具 物理层 dnn 汇编 vb 无法解析服务器的名称或地址 SVN Server tortoise svn junit 多个客户端访问 IO多路复用 TCP相关API Spring Security 移动云 windows日志 直流充电桩 sas 大文件秒传跨域报错cors MI300x Clion Nova ResharperC++引擎 Centos7 远程开发 wsgiref Web 服务器网关接口 服务器主板 AI芯片 XCC Lenovo dba nosql WINCC 代码规范 内网渗透 靶机渗透 laravel shard 腾讯云服务器 轻量应用服务器 linux系统入门 RNG 状态 可复现性 随机数生成 物理服务器 云服务器租用 物理机租用 AI导航站 接口隔离原则 医药 华为OD机考 机考真题 需要广播的服务器数量 小艺 Pura X 多层架构 解耦 Linux环境 conda配置 conda镜像源 空间 查错 sublime text3 Bandizip Mac解压 Mac压缩 压缩菜单 高可用 底层实现 嵌入式软件 开源软件 RTOS 离线部署dify linux上传下载 docker命令大全 序列化反序列化 System V共享内存 进程通信 NLP模型 rancher ubuntu 18.04 图片增强 增强数据 netlink libnl3 网易邮箱大师 IPv6测试 IPv6测速 IPv6检测 IPv6查询 静态IP 源代码 hosts hosts文件管理工具 springboot容器部署 springboot容器化部署 微服务容器化负载均衡配置 微服务容器多节点部署 微服务多节点部署配置负载均衡 fabric 影刀证书 分享 HBase分布式集群 HBase环境搭建 HBase安装 HBase完全分布式环境 麒麟kos 网络检测 ping mcp-server coze扣子 AI口播视频 飞影数字人 coze实战 NAT转发 NAT Server hibernate h.264 SSL 域名 AI agent MNN 服务器部署ai模型 DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 雨云服务器 执法记录仪 智能安全帽 smarteye ardunio BLE 温湿度数据上传到服务器 Arduino HTTP skynet 技术共享 田俊楠 搭建个人相关服务器 智能音箱 智能家居 服务器正确解析请求体 安防软件 互信 banner ueditor导入pdf ueditor导入ppt 海康 Qt QModbus 矩池云 数据下载 数据传输 教育电商 实时云渲染 云渲染 3D推流 rtcp OpenAI bootstrap eventfd 高性能 鼠标 bug定位 缺陷管理 FreeRTOS js逆向 排序算法 访问公司内网 pve 科研绘图 生信服务器 linux安装配置 元服务 应用上架 regedit 开机启动 分析解读 Attention 代理服务器 模拟实现 HarmonyOS NEXT 原生鸿蒙 查看显卡进程 fuser 基础环境 DIFY fork wait waitpid exit 用户管理 视觉检测 Office macbook cpolar nginx默认共享目录 GKI KMI 系统完整性 越狱设备 GenAI LLM 推理优化 LLM serving 视频号 体验鸿蒙电脑操作系统 Windows电脑能装鸿蒙吗 ollama下载加速 xpath定位元素 uv WLAN copilot uprobe scikit-learn 生活 论文阅读 GRE UFW anythingllm open-webui docker国内镜像 智能问答 Milvus 通用环境搭建 ICMPv6 proxy_pass 触觉传感器 GelSight GelSightMini GelSight触觉传感器 开启关闭防火墙 数据链路层 pavucontrol 蓝牙耳机 ipv6 光猫设置 路由器设置 myeclipse vasp安装 流式接口 HAProxy 根服务器 查询数据库服务IP地址 SQL Server 内网环境 jetty undertow 相差8小时 UTC 时间 cpp-httplib 宕机切换 服务器宕机 hugo SysBench 基准测试 迁移指南 win服务器架设 windows server 端口测试 TrueLicense 代码托管服务 clickhouse 联网 easyconnect 代理 负载测试 solidworks安装 Webserver 异步 accept 自定义登录信息展示 motd 美化登录 access blocked 破解 动态域名 静态NAT rtmp 磁盘IO iostat 报警主机 豪恩 VISTA120 乐可利 霍尼韦尔 枫叶 时刻 udp回显服务器 labview tengine web负载均衡 WAF av1 电视盒子 机顶盒ROM 魔百盒刷机 MacOS录屏软件 CentOS Stream CentOS cd 目录切换 强制清理 强制删除 mac废纸篓 Mac软件 retry 重试机制 Github加速 Mac上Github加速 Chrome浏览器插件 tvm安装 深度学习编译器 webgis cesium HarmonyOS 5开发环境 智能手表 Pura80 WATCH 5 更新apt 安装hadoop前的准备工作 CMake 自动化编译工具 vmvare time时间函数 figma 互联网医院 dock 加速 proxy模式 交叉编译 OpenManus 问题解决 解决方案 ajax solr Trae叒更新了? mapreduce 定义 核心特点 优缺点 适用场景 broadcom 集成 sql注入 rxjava gerrit PP-OCRv5 ubuntu20.04 OCR openGauss code-server 恒源云 Wi-Fi 社交电子 KingBase ux 游戏开发 chfs ubuntu 16.04 矩阵 云耀服务器 授时服务 北斗授时 动态规划 VPN wireguard caddy MCP 服务器 JADX-AI 插件 网络接口 时间间隔 所有接口 多网口 EF Core 客户端与服务器评估 查询优化 数据传输对象 查询对象模式 MQTT Broker GMQT 语法 移动魔百盒 信号 navicat keepalived 合成模型 扩散模型 图像生成 支付 微信支付 开放平台 whistle 多产物 跨平台 玩游戏 提示词 实时日志 logs ubantu AppLinking 应用间跳转 本地不受DeepSeek 时间轮 路径规划 文件清理 亲测 杂质 coffeescript infini-synapse I/O 设备管理 uboot 部署方案 Bilibili B站 CAN总线 linux 命令 sed 命令 实战案例 端口 查看 ss CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 nmcli 5分钟快速学 docker入门 dockerfile 仓库 Jenkins 配置凭证 机床主轴 热误差补偿 风电齿轮箱 故障诊断 物理-数据融合 预测性维护 vscode 1.86 SEO Nuxt.js sysctl.conf vm.nr_hugepages URL 业界资讯 xss sentinel 架构与原理 AWS OpenManage jQuery 事件分析 边缘服务器 利旧 AI识别 机架式 IDC Modbustcp服务器 哥sika webserver 集群 java18 VR手套 数据手套 动捕手套 动捕数据手套 Ark-TS语言 极限编程 IO模型 Ardupilot 子系统 Linux的基础开发工具 数据库管理 顽固图标 启动台 NTP服务器 红黑树 C/C++ Navigation 路由跳转 鸿蒙官方推荐方式 鸿蒙原生开发 线程安全 C++11 lambda 包装类 RHCE 云盘 安全组 对话框showDialog showActionMenu 操作列表ActionSheet CustomDialog 文本滑动选择器弹窗 消息提示框 警告弹窗 PDF 图片 表格 文档扫描 发票扫描 mysql8.4.5 docker部署Python 项目部署 达梦 DM8 粘包问题 ELF加载 红黑树封装map和set 医院门诊管理系统 共享 设置 电子学会 AI控制浏览器 Browser user SonarQube gin 系统架构设计师 Searxng paddlepaddle 线性代数 服务器时间 压测 iDRAC R720xd Unity插件 分布式训练 IDEA idm hexo 超融合 充电桩平台 充电桩开源平台 金仓数据库概述 金仓数据库的产品优化提案 模板 泛型编程 能源 风扇散热策略 曙光 海光 宁畅 中科可控 选择排序 分布式数据库 集中式数据库 业务需求 选型误 A2A aiohttp asyncio 服务器托管 云托管 数据中心 idc机房 算法协商 故障排查 BIO Java socket Java BIO Java NIO Java 网络编程 ESP8266简单API服务器 Arduino JSON 支付宝小程序 云开发 uni-popup报错 连接服务器超时 点击屏幕重试 uniapp编译报错 uniapp vue3 imported module TypeError 国产芯片 win向maOS迁移数据 qtcreator mujoco 自定义shell当中管道的实现 匿名和命名管道 HarmonyOS SDK Map Kit 地图 Eigen CUDA Toolkit PCB 系统升级 16.04 上架 李心怡 集群管理 docker search homeassistant 基本指令 CodeBuddy首席试玩官 NAT VAD 视频异常检测 VAR 视频异常推理 推理数据集 强化微调 GRPO pi0 lerobot aloha act 视频会议 2025一带一路金砖国家 金砖国家技能大赛 技能发展与技术创新大赛 首届网络系统虚拟化管理与运维 比赛样题 工作流自动化 AI智能体 scala FreeLearning 佛山戴尔服务器维修 佛山三水服务器维修 AISphereButler 流量运营 高效I/O lrzsz 制造 流量 pikachu靶场 XSS漏洞 XSS DOM型XSS mobaxterm 风扇控制软件 macOS 接口返回 Ubuntu 24.04 搜狗输入法闪屏 Ubuntu中文输入法 端口开放 ps命令 手动分区 IT 护眼模式 Windows应急响应 应急响应 webshell 网络攻击防御 网络攻击 VUE Mysql octomap_server Windows Hello 摄像头 指纹 生物识别 九天画芯 铁电液晶 显示技术 液晶产业 技术超越 桶装水小程序 在线下单送水小程序源码 桶装水送货上门小程序 送水小程序 订水线上商城 程序地址空间 恢复 nvm安装 安全整改 原创作者 MVVM 鸿蒙5.0 备忘录应用 HDC2025 HarmonyOS 6 fast watchtower Modbus TCP containerd 微信自动化工具 微信消息定时发送 ROS1/ROS2 Wayland N8N FCN vue2 数字证书 签署证书 工厂方法模式 站群 多IP 低成本 Web测试 参数服务器 分布式计算 数据并行 Java 日志框架 Log4j2 Logback SLF4J 结构化日志 企业级应用 openlayers bmap tile server 泛微OA 转流 rtsp取流 rtmp推流 EasyTier bert Linux的进程概念 重置密码 激光雷达 镭眸 时序数据库 iotdb arkts arkui EulerOS 版本对应 Linux 发行版 企业级操作系统 开源社区 苹果 分布式锁 GDB调试 Ubuntu环境 四层二叉树 断点设置 mac完美终端 skywalking 进程操作 理解进程 机械臂 手机 docker安装mysql win下载mysql镜像 mysql基本操作 docker登陆私仓 docker容器 deepseek与mysql 集合 List 中文分词 UDS Bootloader 实时语音识别 流式语音识别 扩展错误 概率与统计 随机化 位运算 几何计算 数论 NGINX POD 线程同步与互斥 电商平台 火山引擎 Async注解 Windows 11 重装电脑系统 zipkin cangjie FS100P KingbaseES dos 批处理 日期 虚拟主机 物理服务器租用 android-ndk 分布式总线 汽车 学习笔记 CKEditor5 English CTF vsode 黑马 苍穹外卖 线程互斥与同步 黑屏 cp 进度显示 ai编程 数字比特流 模拟信号 将二进制数据映射到模拟波形上 频谱资源 振幅频率相位 载波高频正弦波 MobileNetV3 usb typec BiSheng 敏捷开发 authing CSDN开发云 gpu 协作 siteground siteground安装wp 一键安装wordpress 服务器安装wordpress 视频直播物理服务器租用 小亦平台 运维问题解决方法 gaussdb问题解决 食用文档 proteus 云解析 云CDN SLS日志服务 云监控 路由器 iptables Termius Vultr 远程服务器 Win10修改MAC FreeFileSync 定时备份 pow 指数函数 优化 docker 失效 docker pull失效 docker search超时 责任链模式 dockercompose安装 compose.yml文件详解 dockercompose使用 开启黑屏 dfs 物理机服务器 开闭原则 #Linux #shell #脚本 进程创建 进程退出 network NetworkManager Cilium 最新微服务 RustDesk 搭建服务器 cordova 跨域开发 统信uos 效率 ohmyzsh OpenTiny 信奥 几何绘图 三角函数 rtsp转rtmp 海康rtsp转rtmp 摄像头rtsp到rtmp rtsp转发 rtsp摄像头转rtmp rtsp2rtmp tty2 funasr asr 语音转文字 redisson WinCC OT与IT SCADA 智能制造 MES guava SpringBoot 地平线5