做嵌入式linux开发,内核编译生成了一个initramfs_data.cpio文件,发现是一个根文件系统的压缩文件,在windows下可以用IZArc解压,但不能用tar/gunzip解压。
Windows下使用IZArc解压时,符号链接文件变成了普通文件,已经改变了原来的压缩包里的原始状态。所以想使用cpio来进行解压真实还原压缩包里面的内容。
网上搜索了一下,说用“cpio -imdv <xxx.cpio” 命令可以解压。
输入: cpio -imdv < initramfs_data.cpio 回车
提示要root权限。这时脑子没有想太多,直接加上sudo, 输入密码。再回车。。。
屏幕“唰”地一下显示所有解压的文件。。。我以为将cpio压缩包已经解压到当前目录下了。
运行 ls 想看一下,结果报错,好像是提示ls命令不存在。 奇怪了,再试其它linux命令,竟然都是一样的错误。。。
关掉putty, 再重新打开,完了,登录不了啦。。。。。
接着立刻马上,其他同事发现putty都不能正常登录,linux命令都不能正常使用了。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
leader 是牛人,马上找到原因, 罪魅祸首就是我啦。。。。。如图所示,对其进行解压可直接解压到根目录去了,当然就把原来根目录下的
/bin /dev .......覆盖了,原来有的命令被我的ARM板子上跑的命令代替了,当然也就不能运行了。。
切记:作为菜鸟,碰到不熟悉的命令要求root权限时,一定要小心哪!!!