Debian 12 安装 InspIRCd 4.12.1 指南

目标:在一台全新 Debian 12 服务器上从零安装 InspIRCd 4.12.1,完成最小可连配置、服务启动与监听验证,并分别用 irssi 与 WeeChat 两种客户端完成真实连接验证。全文命令与回显均在 Debian 12 实机环境实测取得,可直接照做。

InspIRCdInspIRCdIRC即时通讯2026/10/26

Debian 12 安装 InspIRCd 4.12.1 指南

目标:在一台全新 Debian 12 服务器上从零安装 InspIRCd 4.12.1,完成最小可连配置、服务启动与监听验证,并分别用 irssi 与 WeeChat 两种客户端完成真实连接验证。全文命令与回显均在 Debian 12 实机环境实测取得,可直接照做。

一、环境信息

本文使用的服务器与客户端环境如下:

角色主机名IP 地址操作系统说明
IRC 服务器irc1.example.com192.168.1.10Debian GNU/Linux 12 (bookworm)amd64 架构,监听 6667 端口
IRC 客户端client1.example.net192.168.1.100Debian GNU/Linux 12 (bookworm)与服务器同处 192.168.1.0/24 内网

服务器系统版本与编译工具链实测回显:

$ head -2 /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"

$ gcc --version | head -1
gcc (Debian 12.2.0-14+deb12u1) 12.2.0

$ g++ --version | head -1
g++ (Debian 12.2.0-14+deb12u1) 12.2.0

$ make --version | head -1
GNU Make 4.3

$ pkg-config --version
1.8.1

$ perl --version | sed -n 2p
This is perl 5, version 36, subversion 0 (v5.36.0) built for x86_64-linux-gnu-thread-multi

💡 网络说明:InspIRCd 的官方发布件托管在 GitHub Releases(https://github.com/inspircd/inspircd/releases)。本次实测时该地址从服务器直连超时,下载步骤已改走 HTTP 代理完成(代理配置见「常见问题」Q4);官方发布件本身随时可用,仅网络链路问题。

二、前置条件

  1. 一台 Debian 12 服务器,具备 root 或 sudo 权限;
  2. 服务器与客户端网络互通,且 6667 端口未被占用(ss -ltn | grep 6667 确认无输出即可);
  3. 更新软件包索引:
apt update
  1. 按所选安装路线安装依赖(两条路线的依赖在对应章节给出,互不冲突)。

三、版本选型说明

InspIRCd 当前主要版本线情况(检索日期 2026-10-26,来源官方站点与 v4 Change Log):

版本线状态说明
v4.x(4.12.1)当前稳定线2026-09-25 发布,本文安装对象
v3.x已停止维护官方支持至 2026-01-01,不建议新装
v5.x开发早期功能未稳定,不适合生产

同版本号在不同安装形态下的版本标签不同,可通过 inspircd --version 区分(两路线实测回显):

安装形态inspircd --version 输出deb 包版本号
官方 deb 包InspIRCd-4.12.1-deb14.12.1~deb12u1
源码编译InspIRCd-4.12.1无

选型结论:生产环境优先选官方 deb 包(方案 A)——依赖自动解析、自带 systemd 服务单元、升级卸载干净;需要启用官方 deb 未编译的扩展模块(如 SSL/TLS、数据库后端)或需要定制安装路径时选源码编译(方案 B)。

四、方案 A:官方 deb 包安装(推荐)

4.1 下载 deb 包

从 GitHub Releases 下载对应 Debian 12 的 deb 包:

wget https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd_4.12.1.deb12u1_amd64.deb

⚠️ 官方源当时直连超时,实测改用代理下载:curl -x http://192.168.1.62:7897 -LO 加上方 URL,效果等同。

下载完成后校验 sha256(实测回显):

$ sha256sum inspircd_4.12.1.deb12u1_amd64.deb
43540ceb51ca478d83162a6c41ee4a3e1f4d9b854dc6a3f4f25823ffbbe89af5  inspircd_4.12.1.deb12u1_amd64.deb

4.2 安装

使用 apt 安装本地 deb 文件(注意 ./ 前缀),依赖由 apt 自动解析:

apt install ./inspircd_4.12.1.deb12u1_amd64.deb

实测回显(节选,中间解包过程略):

The following NEW packages will be installed:
  inspircd libargon2-1 libgdbm-compat4 libgdbm6 libio-socket-ssl-perl
  libmariadb3 libnet-ssleay-perl libperl5.36 libpq5 libre2-9
  libregexp-ipv6-perl libsqlite3-0 liburi-perl mariadb-common mysql-common
  netbase perl perl-modules-5.36 perl-openssl-defaults publicsuffix
……(解包与配置过程略)
Setting up inspircd (4.12.1~deb12u1) ...
Processing triggers for libc-bin (2.36-9+deb12u14) ...

安装器会自动创建 irc 运行用户(实测回显):

$ getent passwd irc
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin

4.3 安装产物盘点

dpkg -L inspircd 列出包内全部文件,关键路径整理如下:

路径说明
/usr/bin/inspircd服务主程序
/usr/bin/inspircd-testsslTLS 配置检测辅助工具
/usr/lib/inspircd/core_*.so19 个核心模块(core_channel、core_clients、core_dns 等)
/etc/inspircd/help.txt/HELP 命令帮助文本
/etc/logrotate.d/inspircd日志轮转配置
/etc/apparmor.d/inspircdAppArmor 配置
/lib/systemd/system/inspircd.servicesystemd 服务单元
/run/inspircd运行时目录(PID 文件)
/usr/share/doc/inspircd/examples/完整示例配置(inspircd.example.conf、links、modules、opers、filter 等)

注意:包内不含 /etc/inspircd/inspircd.conf(dpkg -L 输出证实),安装后需按第七章自行创建最小配置。

包自带的 systemd 服务单元全文(实测取得):

[Unit]
After=network.target
Description=InspIRCd - Internet Relay Chat Daemon
Documentation=https://docs.inspircd.org
After=network-online.target
Wants=network-online.target

[Service]
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/bin/inspircd --nofork --nopid
Restart=on-failure
Type=simple
User=irc
Group=irc

[Install]
WantedBy=multi-user.target

4.4 安装验证

$ inspircd --version
InspIRCd-4.12.1-deb1

五、方案 B:源码编译安装

5.1 安装编译依赖

apt install -y build-essential pkg-config libssl-dev perl

实测环境中各包在位版本:build-essential 12.9(含 gcc/g++ 12.2.0、make 4.3)、pkg-config 1.8.1、libssl-dev 3.0.22-1~deb12u2、perl 5.36.0(Debian 12 系统自带)。其中 libssl-dev 是编译 OpenSSL 扩展模块(ssl_openssl)的依赖。

5.2 下载源码包

wget https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd-4.12.1.tar.gz
tar -xzf inspircd-4.12.1.tar.gz -C /usr/src/
cd /usr/src/inspircd-4.12.1

⚠️ 官方源当时直连超时,同 4.1 走代理下载。

校验 sha256(实测回显):

$ sha256sum inspircd-4.12.1.tar.gz
d88d16014349c572776d5dc0a55e4b28e61caba857b5fbee47c3a49ca1591fef  inspircd-4.12.1.tar.gz

5.3 运行 configure(注意两步行为)

启用 OpenSSL 扩展模块并按系统路径安装:

./configure --system --enable-extras ssl_openssl --uid inspircd

⚠️ 关键行为:这一步只会登记 extra 模块状态就立即返回,并不生成构建文件——此时目录下没有 GNUmakefile,直接执行 make 会报 No targets specified and no makefile found。必须再执行一次不带 --enable-extras 的 configure 完成完整配置:

./configure --system --uid inspircd

第二次 configure 的实测输出(尾部):

  Log:     /var/log/inspircd
  Manual:  /usr/share/man/man1
  Module:  /usr/lib/inspircd
  Runtime: /run/inspircd
  Script:  /usr/share/inspircd

Execution Group: irc (39)
Execution User:  inspircd (999)
Socket Engine:   epoll

To build with these settings run 'make -j7 install' now.

确认 GNUmakefile 已生成:

$ ls -la /usr/src/inspircd-4.12.1/GNUmakefile
-rw-r--r-- 1 root root 13997 Oct 26 05:34 /usr/src/inspircd-4.12.1/GNUmakefile

5.4 编译与安装

按提示的并行度编译并安装(-j7 为实测值,可按 CPU 核数调整):

make -j7 install

安装完成的实测回显:

*************************************
*        INSTALL COMPLETE!          *
*************************************
Paths:
  Configuration: /etc/inspircd
  Binaries: /usr/bin
  Modules: /usr/lib/inspircd
  Data: /var/lib/inspircd
To start the ircd, run: /usr/share/inspircd/inspircd start
Remember to create your config file: /etc/inspircd/inspircd.conf
Examples are available at: /usr/share/doc/inspircd/examples

5.5 安装产物盘点

安装过程创建了 inspircd 运行用户(实测回显):

$ id inspircd
uid=999(inspircd) gid=999(inspircd) groups=999(inspircd)

编译产出 193 个可加载模块文件:

$ ls /usr/lib/inspircd/*.so | wc -l
193

配套管理脚本与托管配置位于 /usr/share/inspircd/:

$ ls /usr/share/inspircd/
apparmor
deploy-ssl.sh
inspircd
inspircd.openrc
inspircd.service
logrotate

其中 inspircd 即服务管理脚本(启动/停止/状态,用法见第八章),inspircd.service 为 systemd 单元样例。示例配置同样位于 /usr/share/doc/inspircd/examples/。

安装验证:

$ inspircd --version
InspIRCd-4.12.1

六、方案对比与选择建议

对比项方案 A:官方 deb 包方案 B:源码编译
版本标签InspIRCd-4.12.1-deb1(4.12.1~deb12u1)InspIRCd-4.12.1
依赖处理apt 自动解析(约 20 个运行库)手工安装编译链与开发库
模块范围打包时预定的模块集编译时可选 extra 模块(ssl_openssl、数据库、正则引擎等)
运行用户irc(uid 39,由 deb 自动创建)inspircd(uid 999,由安装创建)
启动方式systemd 单元(推荐)或直接运行主程序自带管理脚本 /usr/share/inspircd/inspircd
配置文件安装后需自建 /etc/inspircd/inspircd.conf同左
升级/卸载apt 一条命令,干净彻底重新编译覆盖;卸载需手工删目录
适用场景生产环境快速部署需要特定扩展模块或定制路径

选择建议:常规部署直接选方案 A;仅当需要官方 deb 未编译进来的模块(如 ssl_gnutls、mysql/pgsql/sqlite3 后端、ldap、argon2 等)或要修改安装布局时,再选方案 B。

七、最小可连配置(两条路线通用)

无论哪种安装路线,InspIRCd 都从 /etc/inspircd/inspircd.conf 读取主配置,且安装后该文件不存在,必须手工创建。以下是最小可连配置(本文件在实测服务器上原样使用):

<server name="irc1.example.com" description="InspIRCd 4.12.1 Demo Server" network="ExampleNet" id="1AB">

<admin name="Server Admin" nick="admin" email="admin@example.com">

<bind address="" port="6667" type="clients">

<connect allow="*" name="default" pingfreq="120" timeout="60" localmax="10" globalmax="10" commandrate="1000" fakelag="on">

<log method="file" level="normal" type="* -USERINPUT -USEROUTPUT" target="inspircd.log">

逐项说明:

配置块关键属性说明
<server>name本服务器域名,客户端 WHOIS 时显示,须能被服务器解析
description服务器描述,WHOIS 回显中展示
network网络名称,客户端欢迎横幅中展示
id服务器 SID,固定三个字符且第一个必须是数字(本例 1AB),服务器互联时全局唯一
<admin>name/nick/email管理员信息,客户端执行 /ADMIN 时返回
<bind>address监听地址,空字符串表示监听全部网卡
port监听端口,6667 为明文 IRC 惯例端口
typeclients 为客户端监听(servers 用于服务器互联)
<connect>allow允许连接的来源网段,* 表示不限制
name连接类名称
pingfreq空闲 ping 间隔(秒),120 秒检测一次死连接
timeout注册(NICK/USER 握手)超时秒数
localmax/globalmax同 IP 本机/全网最大连接数
commandrate每秒命令速率上限
fakelagon 表示超速时延迟响应而非立即断开
<log>method/target日志输出到文件 /var/log/inspircd/inspircd.log
level日志级别,normal 为常规级别
type记录类别,* 全部,-USERINPUT -USEROUTPUT 排除用户消息原文

💡 说明:此最小配置未接入 MOTD(登录后显示的当日消息),客户端会看到 There is no message of the day.,属正常现象;MOTD、管理员账号(oper)、TLS 等进阶配置见 《InspIRCd 4.12.1 配置参数详解》,服务启停与运行期管理命令见 《InspIRCd 4.12.1 常用 CLI 命令与工具详解》。

配置写好后即可进入下一章的正常启动流程;若启动失败,具体报错会记录在 /var/log/inspircd/inspircd.log(排查方法见「常见问题」Q5)。

八、启动服务与运行验证

8.1 方案 A(deb 路线):systemd 托管

⚠️ 以下 systemctl 流程需要带 systemd 的真机执行(实验验证以 8.2 的进程方式回显为准)。

systemctl daemon-reload
systemctl enable inspircd
systemctl start inspircd
systemctl is-active inspircd

单元中 ExecStart=/usr/bin/inspircd --nofork --nopid,以 irc 用户前台运行,由 systemd 负责拉起与失败重启。

无 systemd 环境的等价启动:以 irc 用户直接运行主程序(进程自动转入后台),实测回显:

$ su -s /bin/bash irc -c "/usr/bin/inspircd"
InspIRCd - A high-performance IRCv3 server for UNIX-like and Windows systems.
See /INFO for a list of developers and contributors.

Website:       https://www.inspircd.org
Documentation: https://docs.inspircd.org
Support:       https://docs.inspircd.org/support

InspIRCd is open source and is reliant on your support to stay maintained. Read
https://docs.inspircd.org/contributing to find out how to become a contributor
or https://www.inspircd.org/donate to donate to the project.

(进程转入后台运行)

$ ss -ltn | grep 6667
LISTEN 0      4096               *:6667             *:*

$ grep ^Uid /proc/<pid>/status
Uid:	39	39	39	39

回显确认:监听 6667,进程属主为 irc 用户(uid 39)。

8.2 方案 B(源码路线):管理脚本

源码安装自带管理脚本 /usr/share/inspircd/inspircd,支持 start、stop、restart、status、rehash 等动作。

直接以 root 执行会被拒绝(实测完整回显):

$ /usr/share/inspircd/inspircd start
InspIRCd - A high-performance IRCv3 server for UNIX-like and Windows systems.
See /INFO for a list of developers and contributors.

Website:       https://www.inspircd.org
Documentation: https://docs.inspircd.org
Support:       https://docs.inspircd.org/support

InspIRCd is open source and is reliant on your support to stay maintained. Read
https://docs.inspircd.org/contributing to find out how to become a contributor
or https://www.inspircd.org/donate to donate to the project.

Error! You have started as root. Running as root is generally not required
and may allow an attacker to gain access to your system if they find a way to
exploit your IRC server.

If you are sure that you need to run as root then you can pass the --runasroot
option to disable this error.

正确方式是以安装时创建的运行用户启动(实测回显):

$ su -s /bin/bash inspircd -c "/usr/share/inspircd/inspircd start"
InspIRCd - A high-performance IRCv3 server for UNIX-like and Windows systems.
See /INFO for a list of developers and contributors.

Website:       https://www.inspircd.org
Documentation: https://docs.inspircd.org
Support:       https://docs.inspircd.org/support

InspIRCd is open source and is reliant on your support to stay maintained. Read
https://docs.inspircd.org/contributing to find out how to become a contributor
or https://www.inspircd.org/donate to donate to the project.

InspIRCd-4.12.1 [PID 5938] is now running as irc1.example.com [1AB] with 524288 max open sockets

横幅末行给出进程号、服务器名、SID 与最大 socket 数。确认状态:

$ su -s /bin/bash inspircd -c "/usr/share/inspircd/inspircd status"
InspIRCd is running (PID: 5938)

停止服务(实测回显):

$ su -s /bin/bash inspircd -c "/usr/share/inspircd/inspircd stop"
Stopping InspIRCd (pid: 5938)...

脚本停止逻辑为:先发 SIGTERM 并等待最多 15 秒,期间每秒检测一次进程,检测到退出即打印 InspIRCd Stopped.;超时则打印 InspIRCd not dying quietly -- forcing kill 并升级为 SIGKILL。若 stop 后 status 仍报 running,参见「常见问题」Q2。

8.3 监听与日志验证

两种路线通用。监听验证(实测回显):

$ ss -ltn | grep 6667
LISTEN 0      4096               *:6667             *:*

日志位于 /var/log/inspircd/inspircd.log,启动成功的关键行(实测节选):

Mon 26 Oct 2026 05:37:32 core_dns: WARNING: <dns:server> not defined, attempting to find working server in /etc/resolv.conf...
Mon 26 Oct 2026 05:37:32 STARTUP: Startup complete as 'irc1.example.com'[1AB], 524288 max open sockets

出现 STARTUP: Startup complete 即启动完成;core_dns 的 WARNING 表示未显式配置 DNS 服务器、已自动取 /etc/resolv.conf 第一个解析地址,功能无碍。

九、客户端连接验证

9.1 irssi(主力验证)

在客户端机器(client1.example.net)安装 irssi:

$ apt install -y irssi
$ irssi --version
irssi 1.4.3 (20221031 1403)

连接服务器(-c 指定服务器、-p 端口、-n 昵称,在 irssi 内执行):

/CONNECT irc1.example.com 6667

也可直接以命令行参数启动:irssi -c irc1.example.com -p 6667 -n admin。连接成功后的服务端欢迎横幅(irssi 实测回显):

 Irssi v1.4.3 - https://irssi.org
06:15 -!- Welcome to the ExampleNet IRC Network
          admin!admin@client1.example.net
06:15 -!- Your host is irc1.example.com, running version InspIRCd-4
06:15 -!- This server was created on 26 Oct 2026 at 06:15:11 GMT
06:15 -!- irc1.example.com InspIRCd-4 iosw biklmnopstv bklov
06:15 -!- AWAYLEN=200 CASEMAPPING=ascii CHANLIMIT=#:20 CHANMODES=b,k,l,imnpst
          CHANNELLEN=60 CHANTYPES=# ELIST=CMNTU EXTBAN=, HOSTLEN=64 KEYLEN=32
          KICKLEN=300 LINELEN=512 are supported by this server
06:15 -!- MAXLIST=b:100 MAXTARGETS=5 MODES=20 NAMELEN=130 NETWORK=ExampleNet
          NICKLEN=30 PREFIX=(ov)@+ SAFELIST SAFERATE STATUSMSG=@+ TOPICLEN=330
          USERLEN=10 are supported by this server
06:15 -!- USERMODES=,,s,iow WHOX are supported by this server
06:15 -!- There are 0 users and 0 invisible on 1 servers
06:15 -!- 1 unknown connections
06:15 -!- 0 channels formed
06:15 -!- I have 0 clients and 0 servers
06:15 -!- Current local users: 0  Max: 0
06:15 -!- Current global users: 0  Max: 0
06:15 -!- Highest connection count: 0 (0 clients) (0 connections received)
06:15 -!- There is no message of the day.
06:15 -!- Mode change [+i] for user admin

横幅中的 NETWORK=ExampleNet、irc1.example.com 均来自第七章配置,说明配置已生效。

加入频道并发言(实测回显,irssi 频道窗口):

06:15 -!- admin [admin@client1.example.net] has joined #test
06:15 [Users #test]
06:15 [@admin]
06:15 -!- Irssi: #test: Total of 1 nicks [1 ops, 0 halfops, 0 voices, 0 normal]
06:16 <@admin> Hello from irssi on client1!
06:16 -!- Channel #test created Mon Oct 26 06:15:58 2026
06:16 -!- Irssi: Join to #test was synced in 11 secs

WHO 与 WHOIS 查询(实测回显,irssi 状态窗口):

06:16 -!-      #test admin     H@  0  admin@client1.example.net [admin]
06:16 -!- End of /WHO list
06:16 -!- admin [admin@client1.example.net]
06:16 -!-  ircname  : admin
06:16 -!-  hostname : admin@client1.example.net 192.168.1.100
06:16 -!-  channels : @#test
06:16 -!-  server   : irc1.example.com [InspIRCd 4.12.1 Demo Server]
06:16 -!-  modes    : +i
06:16 -!-  idle     : 0 days 0 hours 0 mins 4 secs [signon: Mon Oct 26 06:15:13 2026]
06:16 -!- End of WHOIS

WHOIS 回显中的服务器描述 InspIRCd 4.12.1 Demo Server 与 <admin> 块中的昵称、邮箱均来自配置文件,端到端验证完成。

9.2 WeeChat(备选验证)

Debian 12 仓库自带 WeeChat 3.8:

$ apt install -y weechat
$ weechat --version
3.8

在 weechat 中添加服务器并连接(实测命令):

/server add ex irc1.example.com/6667 -nicks=admin2 -usernames=admin -realnames=admin
/connect ex

连接成功的关键日志(weechat 日志实测回显):

2026-10-26 06:21:05	--	irc: connecting to server irc1.example.com/6667...
2026-10-26 06:21:05	--	irc: connected to irc1.example.com/6667 (192.168.1.10)
2026-10-26 06:21:05	--	irc1.example.com: *** Looking up your hostname...
2026-10-26 06:21:05	--	irc1.example.com: *** Found your hostname (client1.example.net)
2026-10-26 06:21:06	--	Welcome to the ExampleNet IRC Network admin2!admin@client1.example.net
2026-10-26 06:21:06	--	Your host is irc1.example.com, running version InspIRCd-4

💡 WeeChat 提示:/join、/who 等频道命令必须在对应的 IRC 缓冲区(服务器/频道缓冲)中执行,在核心缓冲区直接执行会报 irc: command "join" must be executed on irc buffer (server, channel or private)——先用 /buffer 切换到服务器缓冲区即可。

至此,从安装到客户端收发消息的完整链路验证通过。

十、常见问题

10.1 Q1:启动报 Error! You have started as root

InspIRCd 拒绝以 root 运行(完整报错见 8.2 节)。解决:以运行用户启动——deb 路线用 su -s /bin/bash irc -c "/usr/bin/inspircd",源码路线用 su -s /bin/bash inspircd -c "/usr/share/inspircd/inspircd start"。程序提供 --runasroot 强行越过检查,但官方明确不建议。

10.2 Q2:stop 后 status 仍报 running,start 报 InspIRCd is already running.

管理脚本以「/proc/<pid> 可见」判定存活,若服务进程已退出但未被父进程回收(僵尸态),判定会失真。排查方法:

$ grep ^State /proc/5938/status
State:	Z (zombie)

State: Z (zombie) 即僵尸态:进程实体已退出,SIGTERM/SIGKILL 对其无效,只能等 init 回收。处理:确认真实监听进程已消失(ss -ltn | grep 6667 无输出)后,删除残留 PID 文件再启动:

rm -f /run/inspircd/inspircd.pid
su -s /bin/bash inspircd -c "/usr/share/inspircd/inspircd start"

正常服务器环境(systemd 作为 init 负责回收子进程)不会出现该现象。

10.3 Q3:./configure --enable-extras ... 之后 make 报 No targets specified and no makefile found

--enable-extras 只切换扩展模块的登记状态,configure 会立即返回、不生成 GNUmakefile。必须再执行一次完整 configure(见 5.3 节两步操作),确认 GNUmakefile 存在后再 make。

10.4 Q4:官方源下载缓慢或超时

GitHub Releases 直连不稳定时,为会话配置 HTTP 代理后重试:

export https_proxy=http://192.168.1.62:7897
export http_proxy=http://192.168.1.62:7897
wget https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd_4.12.1.deb12u1_amd64.deb

10.5 Q5:启动后 6667 未监听

按序排查:① tail -50 /var/log/inspircd/inspircd.log 看启动报错(配置块缺失、端口被占用都会在此留痕);② 检查 /etc/inspircd/inspircd.conf 是否存在且五个必需块(server/bind/connect 等)齐全;③ 确认启动用户对 /var/log/inspircd/、/run/inspircd/ 有写权限。

10.6 Q6:客户端能建连但收不到欢迎横幅

多为 <connect allow> 未覆盖客户端来源网段,或客户端被 localmax/globalmax 限额拒绝。检查 <connect> 块的 allow 取值(* 为不限制),并查看日志中 CONNECT/DISCONNECT 类别行。

十一、升级与卸载

11.1 方案 A(deb 路线)

升级:从官方 Releases 页面(https://github.com/inspircd/inspircd/releases)查看当期 Debian 12 发布件的文件名,命名规律为 inspircd_<上游版本>~deb12u<N>_amd64.deb(本文 4.12.1 即 inspircd_4.12.1.deb12u1_amd64.deb),将文件名代入下载与安装命令即可,配置文件保留:

wget https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd_4.12.1.deb12u1_amd64.deb
apt install ./inspircd_4.12.1.deb12u1_amd64.deb

注:升级前先备份 /etc/inspircd/;当期版本号以官方 Releases 页面为准。

卸载(--purge 连同包内配置一并清除):

apt remove --purge inspircd
apt autoremove

irc 运行用户与自建的 /etc/inspircd/inspircd.conf 如需彻底清理可手工删除。

11.2 方案 B(源码路线)

升级:停止服务 → 下载新版本源码并解压 → 重复 5.3–5.4(configure 两步 + make -j7 install,安装路径相同会覆盖旧文件,配置保留)→ 重新启动。

卸载:停止服务后删除安装产物:

su -s /bin/bash inspircd -c "/usr/share/inspircd/inspircd stop"
rm -f /usr/bin/inspircd /usr/bin/inspircd-testssl
rm -rf /usr/lib/inspircd /usr/share/inspircd /usr/share/doc/inspircd
rm -rf /etc/inspircd /var/lib/inspircd /var/log/inspircd /run/inspircd
userdel inspircd

十二、参考链接