rpmrebuild备份glibc
任务:
- 备份已安装的glibc为RPM包,还原。
准备:
- 下载rpmrebuild
- 上传至服务器
链接: https://pan.baidu.com/s/1pKNGnur 密码: wgy9
操作:
1.以root用户登录
2.解压rpmrebuild.rar
#cd/tmp
#unrar x rpmrebuild.rar /usr/lib
3.修改/usr/lib/rpmrebuild目录下的文件权限。
#cd /usr/lib/rpmrebuild/
#chmod 755 *
4.创建/opt/ataebackup目录备份原glibc版本信息。
#mkdir -p /opt/ataebackup
#rpm -qa |grep glibc > /opt/ataebackup/glibc_version.txt
#rpm -qa |grep ^nscd > /opt/ataebackup/nscd_version.txt
5.依次执行以下命令备份原有的glibc。
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-32bit
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-devel
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-devel-32bit
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-html
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-i18ndata
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-info
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-locale
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-locale-32bit
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-profile
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-profile-32bit
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup nscd
异常处理:
- 若提示是否继续及输入版本时,请依次输入y和N。例如,执行过程如下:
/usr/lib/rpmrebuild/rpmrebuild.sh: WARNING: some files have been modified:
S.5....T c /etc/ld.so.conf
Do you want to continue ? (y/N) y
Do you want to change release number ? (y/N) N
Processing files: glibc-2.4-31.77.88.4
warning: Could not canonicalize hostname: linux
Wrote: /opt/ataebackup/x86_64/glibc-2.4-31.77.88.4.x86_64.rpm
result: /opt/ataebackup/x86_64/glibc-2.4-31.77.88.4.x86_64.rpm
其中,result行表示备份文件的存放路径。
- 若系统中未安装相应的包,则不需要备份,系统会提示以下类似信息,请忽略该错误提示。
atae-mo-slot4:/usr/lib/rpmrebuild # /usr/lib/rpmrebuild/rpmrebuild.sh glibc-html
/usr/lib/rpmrebuild/rpmrebuild.sh: ERROR: glibc-html package in not installed
- 备份原gblic包时,若提示以下类似信息,请忽略该错误提示。
linux02:/usr/lib/rpmrebuild # /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup glibc-32bit
Processing files: glibc-32bit-2.4-31.77.88.4.4491.2.PTF.772242
warning: Could not canonicalize hostname: linux02
- 备份nscd包时,若提示以下错误信息:
Processing files: nscd-2.4-31.63.7
error: File not found: /var/run/nscd/hosts
RPM build errors:
File not found: /var/run/nscd/hosts
/usr/lib/rpmrebuild/rpmrebuild.sh: ERROR: package 'nscd' build failed
需要手工创建该文件,备份后删除该文件。执行以下命令重新备份nscd包:
# touch /var/run/nscd/hosts
# /usr/lib/rpmrebuild/rpmrebuild.sh -d /opt/ataebackup nscd
# rm /var/run/nscd/hosts
还原:
1.进入备份目录。
# cd /opt/ataebackup/x86_64
2.重新安装旧版本的补丁包。
部分补丁包原来没有安装,因此无备份文件,忽略错误提示即可。
查看/opt/ataebackup/glibc_version.txt和/opt/ataebackup/nscd_version.txt中备份的glibc和nscd包的版本信息。以2.4-31.77.88.4版本为例,执行如下命令回退版本:
# rpm -Uvh --force glibc-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-32bit-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-devel-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-devel-32bit-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-html-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-i18ndata-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-info-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-locale-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-locale-32bit-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-profile-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force glibc-profile-32bit-2.4-31.77.88.4.x86_64.rpm
# rpm -Uvh --force nscd-2.4-31.77.88.4.x86_64.rpm
3.检查回退后的glibc库的版本信息。
# rpm -qa |grep glibc
如果系统没有安装相应的软件包,则不会被查询到。以版本2.4-31.77.88.4为例,显示结果如下:
glibc-2.4-31.77.88.4
glibc-locale-2.4-31.77.88.4
glibc-32bit-2.4-31.77.88.4
glibc-profile-32bit-2.4-31.77.88.4
glibc-devel-2.4-31.77.88.4
glibc-i18ndata-2.4-31.77.88.4
glibc-profile-2.4-31.77.88.4
glibc-html-2.4-31.77.88.4
glibc-locale-32bit-2.4-31.77.88.4
glibc-devel-32bit-2.4-31.77.88.4
glibc-info-2.4-31.77.88.4
4.检查nscd的版本是否回退。
# rpm -qa |grep ^nscd
例如,显示结果如下:
nscd-2.4-31.77.88.4
重启操作系统和应用。
rpmrebuild备份glibc的更多相关文章
- Linux高级运维 第四章 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在windows系统中,查看文件先进入相应的盘符,然后进入文件目录 在windows中,它是多根 c:\ d:\ e ...
- 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录 在WIN中,它是多根 c:\ d:\ e:\ Linux ...
- mydumper备份原理和使用方法
mydumper介绍 MySQL自身的mysqldump工具支持单线程工作,依次一个个导出多个表,没有一个并行的机,这就使得它无法迅速的备份数据. mydumper作为一个实用工具,能够良好支持多线程 ...
- 记一次CentOS5.7更新glibc导致libc.so.6失效,系统无法启动
以下是错误示范,错误过程还原,请勿模仿!!! wkhtmltopdf 启动,提示/lib64/libc.so.6版本过低 $ ./wkhtmltopdf http:www.baidu.com 1. ...
- 【linux】之Centos6.x升级glibc
因为Centos比较保守依赖的glibc最高版本是2.12 rpm -qa|grep glibc strings /lib64/libc.so. |grep GLIBC_ 但是经常我们安装一些源码包, ...
- Glibc编译报错:*** These critical programs are missing or too old: as ld gcc
Binutils版本升级 这里是binutils版本过低导致, 查看已部署版本 上传离线升级包 [root@sdw1 glibc]# tar -zxvf binutils-2.32.tar.gz [r ...
- centons6升级gcc和glibc版本
一.先升级gcc 这里配置yum源来升级 centos6系列更换阿里yum源 1.首先备份原来的cent os官方yum源 cp /etc/yum.repos.d/CentOS-Base.repo / ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
随机推荐
- vue-cli 脚手架 安装
一. node安装 1)如果不确定自己是否安装了node,可以在命令行工具内执行: node -v (检查一下 版本): 2)如果 执行结果显示: xx 不是内部命令,说明你还没有安装node , ...
- css里面position:relative与position:absolute的区别
position:absolute这个是绝对定位:是相对于浏览器的定位.比如:position:absolute:left:20px;top:80px; 这个容器始终位于距离浏览器左20px,距离浏览 ...
- Hugo快速搭建Blog
以往我们搭建blog要么学习一个编程语言+Web开发框架,要么使用现成的blog系统(如WordPress).其实我们还可以使用Hugo.Hugo是由Go语言实现的静态网站生成器,它不需要数据库,所以 ...
- 详解Mysql自动备份与恢复
通过 mysqldump命令,直接生成一个完整的 .sql 文件 Step 1: 创建一个批处理备份SQL c: cd C:Program Filesmysql5.6.24bin mysqldump ...
- jsp登陆页面验证码在火狐浏览器不能刷新问题处理方案
jsp登陆页面在火狐浏览器验证码不能刷新问题处理方案: <img src="YzmServlet" onClick="this.src='YzmServlet?ti ...
- ES语法注意事项
在函数内部定义全局变量:举个栗子 function fn(){ var str = "hezhi"; } -alert(str) //=>fn不执行的 =>str is ...
- mysql基础之yum安装mysql5.7.18
2017-04-19 一.实验环境 centos7_x64 由于centos7的yum源里默认使用了mariadb替代了mysql,所有我们还得先配置一下yum源.当然mariadb和mysql是兼容 ...
- string can not be resolved
参考:http://jingyan.baidu.com/article/a17d5285339c828099c8f245.html
- iOS多线程开发之NSThread
一.NSThread基本概念 NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同 ...
- 标准IO: 文件的打开与关闭函数 fopen & fclose
(1) 流(stream)和文件(file) 流和文件 在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设备之间提供了一层抽象的东西, 称之为"流&quo ...