-
Shlink可在Linux直接运行,但必须满足PHP8.4+、Composer及MySQL/PostgreSQL/SQLite之一;Docker部署最简捷,源码部署需注意扩展启用、权限配置与Web服务器路由设置。
-
需满足Java17、PostgreSQL数据库及专用用户等前置条件;依次完成JDK配置、PostgreSQL建库授权、SonarQube下载解压、sonar.properties数据库与网络配置、以sonar用户启动服务并访问Web界面。
-
Wine不是虚拟机或万能钥匙,运行32位程序需先启用i386架构(如Ubuntu执行sudodpkg--add-architecturei386&&sudoaptupdate),再配合独立WINEPREFIX和正确WINEARCH(如WINEARCH=win32WINEPREFIX=...)及winetricks安装对应依赖(如vcrun2015),并依据debug日志精准排查DLL缺失等兼容性问题。
-
改完hostnamectl后不生效,首要检查/etc/hosts是否同步更新新主机名映射,否则SSH连接失败或服务报“unknownhost”;需确保/etc/hosts含127.0.0.1新主机名,删除旧条目,并重启systemd-hostnamed服务。
-
直接查看/proc/[pid]/fd/目录条目数可得当前打开fd数量;用cat/proc/[pid]/limits|grep"Maxopenfiles"查软硬限制;systemd服务需在unit文件中配置LimitNOFILE才能永久生效。
-
mysqldump需配合Shell脚本与cron实现生产级备份:用/root/.my.cnf隔离密码(chmod600),加-B和--single-transaction参数,按文件名时间戳清理旧备份,校验文件大小及SQL结构,并检查mysqldump退出状态。
-
Linux默认不预装tree命令,需按发行版用apt/dnf/yum安装;无权限时可用find模拟树形结构;注意-L、-d、-a等参数的特殊行为及中文路径编码问题。
-
常见原因有三:默认不递归、不忽略大小写、不处理二进制文件;实操需用-r递归、-i忽略大小写、--binary-files=without-match跳过二进制文件。
-
ChrootDirectory必须满足三个硬性条件:目录及其所有父路径须root所有且非root不可写,目录权限为755,且仅能配合internal-sftp子系统使用。
-
安全修改chrony.conf需先备份并用chronyctracking确认同步状态,再以sudochronyd-t-d前台调试验证语法;server行必带iburst,禁用pool混用,makestep阈值按场景设为0.53或1.0-1,同时检查防火墙、SELinux及UDP123端口监听。
-
使用setenforce0可临时关闭SELinux,进入宽容模式,排查服务问题后建议恢复并调整策略。
-
pwdxPID可直接查看进程当前工作目录,即启动时所在目录;ls-l/proc/PID/exe获取可执行文件真实路径;cat/proc/PID/cmdline配合tr'\0''\n'查看原始启动命令。
-
最常用、最稳当的命令是sudofdisk-l/dev/sdX,输出中“Disklabeltype:dos”为MBR,“Disklabeltype:gpt”为GPT;sudoparted/dev/sdXprint次之,首行“PartitionTable:msdos”或“gpt”亦可判定,但fdisk更可靠。
-
必须用default_server而非if判断,因其是Nginx底层路由机制,在SSL握手后、请求解析前即生效,更可靠;而if在server级不支持return、$host易被恶意构造绕过,且HTTPS下若未配ssldefault_server会导致IP直连落入业务块。
-
外部客户端无法连接Linux服务端口通常因防火墙阻止入站流量,需根据firewalld、iptables或规则文件配置开放端口,并禁用冲突防火墙、验证连通性。