2025年6月

在CentOS 中,要对大硬盘进行分区和格式化,需要使用 parted 工具进行分区,并根据需求选择合适的文件系统(如 ext4 或 xfs)进行格式化。对于超过2TB的磁盘,需要使用GPT 分区表。

1. 确定磁盘和分区:

使用 fdisk -l 或 lsblk 命令查看系统中的磁盘和分区信息,找到需要操作的大硬盘(例如 /dev/sdb)。
确认要操作的磁盘,例如 /dev/sdb。

2. 使用parted 进行分区:

如果磁盘小于2TB,可以使用 fdisk。如果大于2TB,则使用 parted。
使用 parted /dev/sdb 进入parted 工具。
输入 mklabel gpt 将磁盘标签设置为GPT (如果需要,对于超过2TB的磁盘是必须的)。
输入 mkpart primary 0 -1 创建一个主分区,覆盖整个磁盘。
输入 print 查看分区信息。
输入 quit 退出parted。

3. 格式化分区:

选择合适的文件系统,例如 ext4 或 xfs。
使用 mkfs.ext4 /dev/sdb1 或 mkfs.xfs /dev/sdb1 (假设新分区是 /dev/sdb1)。

4. 挂载分区:

创建挂载点,例如 mkdir /mnt/data。
使用 mount /dev/sdb1 /mnt/data 挂载分区。
为了实现开机自动挂载,需要编辑 /etc/fstab 文件,添加一行类似 UUID=xxxx-xxxx-xxxx-xxxx /mnt/data ext4 defaults 0 0 的内容,其中 xxxx-xxxx-xxxx-xxxx 是分区对应的UUID (可以通过 blkid /dev/sdb1 获得)。

注意事项:

在进行分区和格式化操作前,请务必备份重要数据,以免丢失。
fdisk 对于大于2TB的磁盘可能无法正确识别和分区,需要使用 parted。
ext4 和 xfs 是常用的文件系统,根据需求选择。
parted 工具更适合用于大型磁盘分区,且支持GPT 分区。
mkfs.ext4 或 mkfs.xfs 命令会擦除分区上的所有数据,请谨慎操作。
开机自动挂载需要正确编辑 /etc/fstab 文件

一、什么是S.M.A.R.T.

SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及

每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来

这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等

硬盘运行了几千小时后,很多内在的物理参数都会发生变化

某一参数超过报警阈值,则说明硬盘接近损坏

此时硬盘依然在工作,如果用户不理睬这个报警继续使用

那么硬盘将变得非常不可靠,随时可能故障.

二、安装

yum install smartmontools

三、使用

1、smartctl -i :显示设备的身份信息,检查硬盘是否打开了SMART支持。

看到有:

SMART support is: Enabled 

说明硬盘支持SMART。
如果为Disabled,使用:
smartctl --smart=on --offlineauto=on --saveauto=on
启用SMART。

2、smartctl -H :查看硬盘的健康状况。(df -h 查看硬盘 如:/dev/sda )

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED 

PASSED表示硬盘健康状态良好,如果为Failure那就要立刻更换硬盘。

3、smartctl -A :显示设备SMART厂商属性和值。

4、smartctl -l error :显示硬盘历史错误信息。

5、smartctl --test=TEST :硬盘自测。

TEST可取值:offline, short, long, conveyance, select,M-N, pending,N, afterselect,[on|off], scttempint,N[,p]

此时可以用smartctl -X中断后台测试。

6、smartctl -l selftest :显示硬盘测试信息。

7、smartctl -a :显示硬盘SMART的全部信息

8、smartctl --all /dev/sda 显示硬盘SMART的全部信息

以下是在CentOS 7上安装VNC Server并配置远程访问的步骤:

安装VNC Server

1. 首先更新系统,执行命令 

sudo yum update -y 

2. 安装VNC Server,命令为 

sudo yum install tigervnc-server -y 

配置VNC Server

1. 安装完成后,为用户设置VNC密码,执行 

vncpasswd

按提示输入并确认密码。
2. 复制配置模板,命令为 

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service 

3. 编辑配置文件,使用 

sudo vi /etc/systemd/system/vncserver@:1.service

将 USER 替换为实际要使用VNC的用户名。
4.修改/root/.vnc/xstartup文件

mv /root/.vnc/xstartup /root/.vnc/xstartup.bak  # 备份原文件 

修改该文件内容如下:

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/etc/X11/xinit/xinitrc
# Assume either Gnome or KDE will be started by default when installed
# We want to kill the session automatically in this case when user logs out. In case you modify
# /etc/X11/xinit/Xclients or ~/.Xclients yourself to achieve a different result, then you should
# be responsible to modify below code to avoid that your session will be automatically killed
#if [ -e /usr/bin/gnome-session -o -e /usr/bin/startkde ]; then #注释掉
#    vncserver -kill $DISPLAY #注释掉
#fi #注释掉
xrdb $HOME/.Xresources #添加这两句
startxfce4 & #添加这两句

启动与设置开机自启

1. 启动VNC Server,执行 

sudo systemctl start vncserver@:1.service 

2. 设置开机自启,执行 

sudo systemctl enable vncserver@:1.service

配置防火墙

1. 若防火墙开启,需要允许VNC端口通过,执行 

sudo firewall-cmd --add - port = 5901 / tcp --permanent

2. 重新加载防火墙配置,执行 

sudo firewall-cmd --reload

完整重启流程

systemctl stop vncserver@:1
vncserver -kill :1
rm -rf /tmp/.X11-unix/*
systemctl daemon-reload
systemctl start vncserver@:1 

配置完成后,在远程设备上使用VNC客户端,输入CentOS 7服务器的IP地址和端口号(如 IP:5901 ),即可连接到VNC Server进行远程访问。

常用的调试命令

完整重启流程

systemctl stop vncserver@:1
vncserver -kill :1
rm -rf /tmp/.X11-unix/*
systemctl daemon-reload
systemctl start vncserver@:1

查看状态

systemctl status vncserver@:1

查看端口是否开放

netstat -lunt

分析日志文件

cat /root/.vnc/xiaozhuji:1.log
cat /root/.vnc/xiaozhuji:1.log  # 这是最重要的错误信息来源
journalctl -xe -u vncserver@:1  # 查看系统日志详情


直接在界面下打开百度网盘没有反应,如何调试百度网盘呢?
在桌面下的命令终端切换到百度网盘安装目录
[root@xiaozhuji ~]# cd /opt/baidunetdisk/
[root@xiaozhuji baidunetdisk]# ls
baidunetdisk libbrowserengine.so LICENSES.chromium.html
baiduNetdiskContext.conf libEGL.so locales
baidunetdisk.desktop libffmpeg.so resources
baidunetdisk.svg libGLESv2.so resources.pak
baidunetdiskv.desktop libkernel.so snapshot_blob.bin
chrome_100_percent.pak libminosagent.so swiftshader
chrome_200_percent.pak libplayer.so v8_context_snapshot.bin
chrome-sandbox libvk_swiftshader.so vk_swiftshader_icd.json
icudtl.dat libvulkan.so
libbnusdk.so LICENSE.electron.txt
[root@xiaozhuji baidunetdisk]# ./baidunetdisk
[3108:0621/084423.333184:FATAL:electron_main_delegate.cc(253)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Trace/breakpoint trap
[root@xiaozhuji baidunetdisk]# ./baidunetdisk --no-sandbox
找到错误提示,安装提示进行修复如下:

My personal server uses CentOS 7.9, and there are often strange errors when deploying some AI applications.

For example, recently, an error was reported when deploying an application:

/lib64/libstdc++.so.6: version GLIBCXX_3.4.xx not found
Online search for solutions, there are different opinions, either reinstall gcc, or recompile and install libstdc++,export LD_LIBRARY_PATH and so on.

Several attempts have failed, and there is no way to upgrade the os version. Finally, a suitable solution is found, and it’s worked for me.

Find and display all packages that provide libstdc++.so.6 as a library file through yum
sudo yum provides libstdc++.so.6

  1. Download new version libstdc.so.

NOTICE: Since I need version 3.4.22+, so I can just update it to 3.4.26. Other versions are the same.

cd /usr/local/lib64
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip

  1. Copy libstdc++.so.6.0.26 to /usr/lib64

cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64

  1. Check the soft link version of libstdc++.so.6,

ls -l | grep libstdc++
It may shows like this:

libstdc++.so.6 ->libstdc++.so.6.0.19

  1. Remove /usr/lib64 original link libstdc++.so.6, you can backup it before remove.

sudo rm libstdc++.so.6
then, relink it.

sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6

  1. OK, check the newest link

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
It may shows like this:

GLIBCXX_3.4

GLIBCXX_3.4.25

GLIBCXX_3.4.26

GLIBCXX_DEBUG_MESSAGE_LENGTH

Well Done!

在CentOS中安装RPM包通常可以使用以下步骤:

1. 下载RPM包

可以通过官网、软件仓库等途径获取RPM包,将其下载到本地系统的某个目录,比如 /root/rpm_packages 。

2. 安装RPM包

打开终端,使用 rpm -ivh 命令来安装RPM包。例如,要安装名为 package.rpm 的包,且该包位于 /root/rpm_packages 目录下,可执行以下命令:

bash

rpm -ivh /root/rpm_packages/package.rpm
 

  •  i 表示安装(install)。
  •  v 表示显示详细信息(verbose)。
  •  h 表示以哈希(hash)标记显示安装进度。

3. 解决依赖关系

如果RPM包有依赖关系,可能需要先安装其依赖的软件包。安装过程中若提示缺少依赖,可根据提示信息使用 yum 或 dnf 命令安装依赖包,然后再重新安装当前RPM包。例如:

bash

yum install -y dependency_package
 

 -y 参数表示自动回答“yes”进行安装。

4. 验证安装

安装完成后,可以使用相关命令来验证软件是否安装成功。比如,如果安装的是一个可执行程序,可以在终端中输入该程序的名称,看是否能正常运行;或者检查相关的配置文件是否存在等。

另外,也可以使用 rpm -qa | grep package_name 命令来查看系统中是否已安装指定名称的RPM包。