dpkg和perl的依赖环境出现错误故障解决(磁盘原因)
内核:
uname -a
Linux localhost.localdomain 3.4.29-t4 #12 Wed Mar 13 16:50:15 EST 2013 armv7l armv7l armv7l GNU/Linux
dpkg安装应用时遇到问题,提示运行apt-get -f install修复依赖。
apt-get -f install 后提示如下:
debconf: Perl may be unconfigured (Can't locate Debconf/Log.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at (eval 1) line 4.
BEGIN failed--compilation aborted at (eval 1) line 4.
从上面信息看@INC本身并没有什么变化。
既然不能找到Debconf/Log.pm,就安装一下看看,结果perl -MCPAN -e shell “install Debconf::Log” 也出现错误。那到底问题在哪呢?
忽然想起前些天曾在CPAN更新新版perl过程中出现网络中断安装失败,之后又删除了更新半截的~/perl5目录。难道是perl 被错误的switch到一个不存在的路径了?回看了一下@INC并没有我那天删除的那个安装目录。于是想~干脆新装一个perl试试。(最终结果证实这段尝试是一段弯路,不需要安装新版本的朋友可以跳过这段标记=cut......cut的部分)
=cut
安装新的perl,又不想费掉原来的环境,那就做版本共存吧。
实现多个perl版本共存最好的工具是perlbrew,具体操作步骤在我的另外一篇日志里有提到,有不了解perlbrew的朋友,具体可访问http://blog.asiulo.com/post-9.html.
这个安装时间会比较的长,但不需要值守。
装好后记得看下log,没有问题再做switch。具体可参考http://blog.asiulo.com/post-9.html中的流程。
继续之前的apt-get -f install,问题依旧,这个实验倒是证明了我的猜想,既不是版本发生switch的问题,那问题会在哪里呢?
还是仔细再检查下原来的perl环境吧,于是乎执行下列操作切换回旧版perl
source /opt/perl5/perlbrew/etc/bashrc
perlbrew switch-off
cut
perl -V 重新查看perl的详细信息,还是没有发现什么问题。最后我开始把注意力放到了perl的@INC环境变量上。
我开始ls查看他们,
perl -e 'print join "\n",@INC'|awk '{print "ls -l",$0}'|sh
在/usr/share/perl5/发现了问题:
ls: cannot access /usr/share/perl5/Algorithm: Input/output error
ls: cannot access /usr/share/perl5/Net: Input/output error
ls: cannot access /usr/share/perl5/Text: Input/output error
ls: cannot access /usr/share/perl5/Time: Input/output error
ls: cannot access /usr/share/perl5/Debconf: Input/output error
ls: cannot access /usr/share/perl5/Date: Input/output error
ls: cannot access /usr/share/perl5/Debian: Input/output error
ls: cannot access /usr/share/perl5/HTML: Input/output error
ls: cannot access /usr/share/perl5/Class: Input/output error
ls: cannot access /usr/share/perl5/Bundle: Input/output error
ls: cannot access /usr/share/perl5/Git: Input/output error
ls: cannot access /usr/share/perl5/Error: Input/output error
原来是磁盘出现了问题!
dmesg查看了一下系统信息,也发现了nand flash提示CRC校验错误(我把/usr mount到这里了)。
由于是实验环境,以及时间的关系,我最终没有进行fsck.ext4的检查与修复,而是重做了系统,把出现过错误的那块磁盘挂成了备盘。
至此结案!
dpkg和perl的依赖环境出现错误故障解决(磁盘原因)的更多相关文章
- DNS解析出现错误故障解决
当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,就无法通过域名访问相应的站点了,这就是DNS解析故障.出现DNS解析故障最大的症状就是访问站 ...
- 【Linux】安装openssh-server依赖openssh-client版本错误的解决办法
这是因为,openssh-server是依赖于openssh-clien的,ubuntu自带了openssh-client,自带的openssh-clien与所要安装的openssh-server所依 ...
- 环信webim1.1.2版本在windows下npm环境搭建错误解决
1.1.2版本的webim从ui到整体的代码结构都做了很大改变,从代码结构上采用node.js的环境进行开发和打包,最终打包的输出项目,不依赖node.js的环境进行运行,得益于webpack的打包实 ...
- Ubuntu安装软件时提示依赖项配置错误
在终端中使用dpkg安装软件时有时会出现依赖项配置错误的情况, 解决方法是使用指令 sudo apt-get install -f 安装Ubuntu 16.04新系统不再配有的缺失依赖项,之后再次输入 ...
- Linux上安装Nginx依赖环境和库、Nginx安装,Nginx服务命令
安装Nginx依赖环境和库.Nginx安装,Nginx服务命令 因为Nginx官方提供的是C源码,要自己进行编译,所以需要自己拥有编译所依赖的环境和库才可正常编译 安装gcc yum -y insta ...
- Sublime Text 2下搭建Python环境常见错误
Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...
- [原创]IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135)
IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135) http://user.qzone.qq.com/93701178/blog/1398155812 操作系统更新至Win7或Wi ...
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...
- InstallShield 软件打包完整教程(含添加自定义依赖环境)
任务说明:公司一个绿色版的软件,为安装部署是需要很多的环境依赖,如 DevExpress..net4.5.WinRAR等,客户提出安装复杂,并且有漏装后无法启动等情况,现将绿色版转安装版,并将依赖环境 ...
随机推荐
- 从netty源码里拿到的关于http错误码,自己学习下
public static HttpResponseStatus valueOf(int code) { switch (code) { case 100: return CONTINUE; case ...
- github--hello,world(参考官网)
官网:https://guides.github.com/activities/hello-world/ 一共分为5步. 1.为你的项目新建仓库(repository): 2.新建分支(branch) ...
- 基于android的语音识别
1.注册账户,添加应用 2.针对android平台的选择应用,下载SDK 3.将SDK的libs下文件拷贝到工程的libs目录下 4.添加用户权限 <uses-permission androi ...
- 【错误】undefined reference to `boost::....的解决
很多新手引用Boost库编程,在ubuntu下编译时候有时候会出现如下错误: test04.cpp:(.text+0x2c): undefined reference to `boost::progr ...
- vmware安装FreeBSD8.3全攻略【教程】
原始日期:2013-08-02 23:15 前言:花了两天时间倒腾这个freebsd,安装并不简单,如果单单参照百度上的教程是会遇到各种问题的,所以我打算自己写一篇教程,为了更加直观,部分采用了互联网 ...
- js的双等号类型转换
var undefined; undefined == null; // true 1 == true; // true 2 == true; // false 0 == false; // true ...
- vue setTimeout用法 jquery滚动到某一个div的底部
//vue 中setTimeOut用法 var $this = this; setTimeout(function(){ $this.goEnd() }, 10); goEnd:function(){ ...
- 页面刷新vuex数据消失问题解决方案
VBox持续进行中,哀家苦啊,有没有谁给个star. vuex是vue用于数据存储的,和redux充当同样的角色. 最近在VBox开发的时候遇到的问题,页面刷新或者关闭浏览器再次打开的时候数据归零.这 ...
- 9.Smarty的循环
1.session循环 目的:循环输出一个二维数组 构造一个二维数组 $towSide = array( array("name"=>"caimuqing" ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...