ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

[Linux]从发行版差异到系统排查:一份Linux部署指令的入门混搭笔记

[Linux]从发行版差异到系统排查:一份Linux部署指令的入门混搭笔记

发行版本差异认知

“基于Debian”指的是基于Debian Linux发行版进行开发或衍生出的其他发行版。Debian是一个非常基础且重要的Linux发行版,许多知名的Linux发行版都衍生自它,例如Ubuntu、Kali Linux、Purism PureOS等 。这些基于Debian的发行版会在Debian的基础上,根据不同的目标和受众,进行定制和优化 。
“基于Red Hat”,这通常指基于Red Hat Enterprise Linux(RHEL,红帽企业级Linux) 开发或衍生的操作系统。
RHEL是红帽公司推出的商业级Linux发行版,以稳定性、安全性和长期技术支持为核心优势,主要面向企业服务器、数据中心等商业场景。由于其开源内核和部分开源组件的特性,衍生出了多个知名操作系统,这些系统会在RHEL的基础上进行定制(如调整软件源、优化桌面或服务器功能等),典型包括:
- CentOS Stream:红帽官方支持的上游开发版本,可视为RHEL的“测试预览版”,免费且开源。
- Rocky Linux、AlmaLinux:均为1:1兼容RHEL的社区驱动发行版,旨在提供与RHEL功能一致的免费替代方案,适用于企业用户迁移或低成本部署。

Linux安转QT指令

解压指令:
sudo unzip xxxx.zip
通用linux包:
qt_opensource_linux_x64.5.9.9.run
qt_opensource_linux_x64.5.12.8.run
Way2一系列包:
桌面版 .deb
dpkg -i *.deb
服务器版 .rpm
dnf 或者 yum命令
rpm -i *.rpm

Linux加密压缩

# 1. 加密压缩单个文件(需输入密码)
zip -e 压缩包名.zip 待压缩文件
# 示例:加密压缩 test.txt 为 test.zip
zip -e test.zip test.txt

# 2. 加密压缩文件夹(加 -r 递归)
zip -e -r 压缩包名.zip 待压缩文件夹
# 示例:加密压缩 docs 文件夹为 docs.zip
zip -e -r docs.zip docs

# 3. 解压加密 zip(需输入密码)
unzip 压缩包名.zip

Linux处理进程阻塞

建议先通过 ps -ef | grep 进程名 查看进程状态(STAT列若为“S”表示睡眠阻塞,“D”表示不可中断阻塞),再用 strace -p 进程ID 跟踪系统调用.

Linux权限不够

chmod +x
chown -r 777
su - root

Linux Server识别不了光驱

2. 系统层面(Linux):

- 执行 lsblk 或 fdisk -l 查看是否识别光驱(通常显示为 /dev/sr0 );

- 若未识别,执行 lspci | grep -i cd-rom 检查PCI总线是否检测到设备,无结果可能是光驱硬件故障;

- 若已识别,尝试手动挂载: mkdir /mnt/cdrom + mount /dev/sr0 /mnt/cdrom ,报错则排查驱动或光盘问题。

1. 手动挂载(最快解决):先创建挂载点,再执行挂载命令。依次输入 sudo mkdir -p /media/cdrom 和 sudo mount /dev/sr0 /media/cdrom ,之后就能去 /media/cdrom 目录查看光驱内容。若报错,可加文件系统参数: sudo mount -t iso9660 /dev/sr0 /media/cdrom 。

Linux根目录扩容

在 Linux 中给根目录(/)扩容,核心是将其他文件系统的空闲空间“合并”到根目录所在分区,以下是 直接可操作的步骤(以 LVM 分区为例,最常用且安全):

一、前提检查(必做)

1. 确认根目录是否为 LVM 管理:执行 lsblk 或 pvdisplay ,若根目录分区显示为 vgname-lvroot 格式,说明支持 LVM 扩容(多数 Linux 发行版默认采用)。
2. 确认待合并的文件系统:需先卸载待合并的分区(如 /dev/sdb1),或利用其所在卷组的空闲空间。

二、具体扩容步骤(以合并空闲分区为例)

1. 卸载待合并的分区(若已挂载)

bash
# 查看分区挂载点(假设待合并分区为 /dev/sdb1,挂载点为 /data)
df -h
# 卸载分区(确保该分区无正在运行的程序)
umount /data


2. 将分区转为物理卷(PV)并加入根目录卷组(VG)

bash
# 格式化分区为 LVM 支持的格式(注意:会清空该分区数据!)
pvcreate /dev/sdb1
# 查看根目录所在的卷组名称(假设为 centos 或 ubuntu-vg)
vgdisplay
# 将新 PV 加入根目录卷组(替换为你的卷组名)
vgextend centos /dev/sdb1


3. 扩展根目录逻辑卷(LV)并刷新文件系统

bash
# 查看逻辑卷名称(假设为 root 或 lv-root)
lvdisplay
# 扩展逻辑卷(使用卷组所有空闲空间,或指定大小如 +50G)
lvextend -l +100%FREE /dev/centos/root
# 刷新文件系统(ext4 用 resize2fs,xfs 用 xfs_growfs)
# 先查看根目录文件系统类型:df -T
resize2fs /dev/centos/root # ext4 系统
# xfs_growfs /dev/centos/root # xfs 系统(如 CentOS 7+)


4. 验证扩容结果

bash
df -h # 查看根目录容量是否增加


三、非 LVM 分区扩容(需无损调整分区表)

若根目录不是 LVM 分区,需用 gparted 工具(图形化更安全):

1. 安装工具: yum install gparted (CentOS)或 apt install gparted (Ubuntu)。
2. 运行 gparted ,调整待合并分区的位置(需在根目录分区之后),删除后将空闲空间合并到根目录分区。
3. 刷新文件系统: resize2fs /dev/sda2 (替换为根目录分区)。

启动Shell脚本

和bat脚本一样,实现Start与End两个功能的命令行集成。
#!/bin/bash

# 时间间隔(秒),自己改
INTERVAL=10

while true; do
echo "===== 检查并重启进程 ====="

# 1. 杀掉已存在的 acosDORE
pid1=$(pgrep -f "acosDORE")
if [ -n "$pid1" ]; then
echo "找到 acosDORE 进程: $pid1,准备杀死"
kill -9 $pid1
fi

# 2. 杀掉已存在的 QtHTTPServer
pid2=$(pgrep -f "QtHTTPServer")
if [ -n "$pid2" ]; then
echo "找到 QtHTTPServer 进程: $pid2,准备杀死"
kill -9 $pid2
fi

# 3. 等待确保杀死
sleep 1

# 4. 启动新进程(后台运行)
echo "启动 acosDORE & QtHTTPServer"
./acosDORE &
./QtHTTPServer &

# 5. 等待间隔
echo "等待 $INTERVAL 秒后重新检查..."
sleep $INTERVAL
done

返回列表