发行版本差异认知

“基于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

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐