centos cximage恢复步骤
导读:场景说明与准备 目标:将 CentOS 上的 CXImage 环境恢复到可用状态,覆盖两类场景:仅恢复程序/库文件,或连同系统一起从镜像恢复。 建议准备: 原编译包或源码(如 cximage-x.x.x.tar.gz),以及你当时的编译...
场景说明与准备
- 目标:将 CentOS 上的 CXImage 环境恢复到可用状态,覆盖两类场景:仅恢复程序/库文件,或连同系统一起从镜像恢复。
- 建议准备:
- 原编译包或源码(如 cximage-x.x.x.tar.gz),以及你当时的编译参数/补丁记录。
- 备份归档(如 backup.tgz 或 backup.tar.bz2),或系统级镜像/救援介质。
- 运行环境信息(如 CentOS 7/8/9、x86_64)、已安装依赖清单(如 gcc、make、cmake)。
- 恢复操作建议以 root 执行,并在操作前做好重要数据备份。
仅恢复 CXImage 程序与库
-
方式一 使用既有备份归档恢复
- 将备份归档拷回服务器,按原路径解压覆盖(示例):
- Gzip 归档:
tar xvpfz backup.tgz -C / - Bzip2 归档:
tar xvpfj backup.tar.bz2 -C /
- Gzip 归档:
- 归档制作时的常用排除项:
/proc、/lost+found、/backup.tgz、/mnt、/sys,恢复时保持一致可减少冲突。恢复后执行ldconfig刷新动态库缓存。
- 将备份归档拷回服务器,按原路径解压覆盖(示例):
-
方式二 无备份时从源码重装
- 安装编译依赖:
sudo yum install -y gcc make cmake - 解压与编译安装:
tar -zxvf cximage-x.x.x.tar.gz cd cximage-x.x.x mkdir build & & cd build cmake .. make -j$(nproc) sudo make install - 默认安装到 /usr/local。如需自定义路径,使用
-DCMAKE_INSTALL_PREFIX=/your/path。
- 安装编译依赖:
-
环境配置与验证
- 让系统找到头文件与库(若安装到 /usr/local):
可选:在echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/cximage.conf sudo ldconfig~/.bashrc或/etc/profile中加入export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH source ~/.bashrc # 或 source /etc/profile - 编译运行验证程序(示例):
若提示找不到库,检查g++ test_cximage.cpp -o test_cximage -lcximage ./test_cximageldconfig -p | grep cximage,确认库路径已纳入缓存。
- 让系统找到头文件与库(若安装到 /usr/local):
连同系统一起从镜像恢复
-
使用安装介质进入救援模式
- 准备可启动 USB(≥8GB),用
dd写入镜像(注意将 /dev/sdX 替换为实际设备):sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress sync - 开机进 BIOS 设置 USB 优先启动,在安装界面选择 Troubleshooting → Rescue a CentOS system 进入救援模式。
- 准备可启动 USB(≥8GB),用
-
在救援环境中恢复
- 挂载系统分区(示例):
chroot /mnt/sysimage - 恢复系统级备份归档(示例):
- Gzip:
tar xvpfz /mnt/backup.tgz -C / - Bzip2:
tar xvpfj /mnt/backup.tar.bz2 -C /
- Gzip:
- 修复引导(示例,按实际磁盘调整 /dev/sdX):
grub2-install /dev/sdX grub2-mkconfig -o /boot/grub2/grub.cfg - 检查文件系统(示例,按实际分区调整 /dev/sdXY):
fsck /dev/sdXY - 退出并重启:
exit后reboot。
- 挂载系统分区(示例):
常见问题与排查
-
库找不到或符号未定义
- 确认库路径已加入
/etc/ld.so.conf.d/*.conf并执行sudo ldconfig;使用ldd your_app检查依赖是否解析到正确路径。
- 确认库路径已加入
-
头文件或链接参数错误
- 确认包含路径与链接库:
-I/usr/local/include -lcximage;若自定义安装前缀,请同步调整编译与运行环境变量。
- 确认包含路径与链接库:
-
64 位系统编译旧版源码报错
- 若遇到类似
cast from ‘CxFile*’ to ‘int’ loses precision的错误,可按如下方式修补(路径因版本可能不同):
然后重新// 文件:cxp_w_picpath/CxImage/tif_xfile.cpp // 将:return (_TIFFFdOpen((int)stream, "TIFF IMAGE", mode)); // 改为:return (_TIFFFdOpen((long)stream, "TIFF IMAGE", mode));make clean & & make。
- 若遇到类似
-
救援模式下找不到备份或分区
- 先确认已正确挂载根分区(如
chroot /mnt/sysimage),再执行恢复;分区设备名可能与安装时不同,使用lsblk、blkid确认后再恢复。
- 先确认已正确挂载根分区(如
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos cximage恢复步骤
本文地址: https://pptw.com/jishu/788351.html
