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的检查与修复,而是重做了系统,把出现过错误的那块磁盘挂成了备盘。

至此结案!

时间: 2024-07-29 11:46:02

dpkg和perl的依赖环境出现错误故障解决(磁盘原因)的相关文章

Nginx 502gateway错误故障解决

默认WDCP是以端口号作为转发的 修改成socket方式比较好. server {         listen       80;         server_name admin.yeshuai.com;         root /www/web/admin_yeshuai_com/public_html;         index  index.html index.php index.htm;         error_page  400 /errpage/400.html;  

环信webim1.1.2版本在windows下npm环境搭建错误解决

1.1.2版本的webim从ui到整体的代码结构都做了很大改变,从代码结构上采用node.js的环境进行开发和打包,最终打包的输出项目,不依赖node.js的环境进行运行,得益于webpack的打包实现. 这里有详细的管网介绍:http://www.imgeek.org/article/825308179 下载地址:https://github.com/easemob/web-im/releases/tag/v1.1.2 先说明一下在搭建node.js环境时到打包碰到的问题: 前提:必须成功搭建

perl 对ENV环境变量的使用

1.hash 方式访问. %ENV  key为环境变量名,value为环境变量值 2.调用ENV模块 . use Env qw(PATH); print "path is $ENV{path}\n"; 这段代码会创建(或者覆盖)环境里的PerlVar变量. $ENV{PerlVar} = "Perl Tech Tips"; 要删除环境变量,就要使用delete.下面的例子会删除临时的环境变量: delete $ENV{temp}; 访问环境变量的第二种方式是使用En

Sublime Text 2下搭建Python环境经常性错误

Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默认你已经在windows上安装好了Python编译环境,并且在sublime text 2中已经安装好了必要的插件.下边我们就直接配置Python了,让Python代码能够在Sublime Text 2里欢快的跑起来.常见的配置主要是两种. 一.在Windows高级系统设置里设置好环境变量的系统变量

Emacs编辑器之Python与Perl的IDE环境配置

链接:http://pan.baidu.com/s/1c0fjY3e 密码:j8pe 网盘里的文件为我的配置文件,及所使用的lisp源码包.下载后,可以解压到用户家目录即可. 我的Emacs配置文件内容为: # cat ~/.emacs ;; 禁用开机启动画面 (setq inhibit-startup-message t) ;; 默认tab为4个宽度 (setq-default tab-width 4) (setq fill-column 70) ;; 显示设置 (display-time-m

不配置JDK环境变量,配置tomcat 指向启动JDK版本,不再依赖环境变量

最近的项目是网上的  jeecms .基本都是java相关的,每次切换项目,重新配置环境变量都比较头疼, 并不是不好配置,网上全是,主要是每次配置完,都记不住.每次都百度,很是菜鸡. 并且,我也就是用 tomcat 启动看一下前端效果.是在不想去系统变量中配置JDK. 并且,tomcat 只要是有 JRE运行环境就可以运行. 没必要去系统变量中配置半天JDK. 基础知识: JDK(Java Development Kit) -- Java开发工具包. JRE(Java Runtime Envir

Python 下载依赖包环境经常失败超时解决方法

人生苦短,我用python!为什么很多人喜欢用python,因为包多呀,各种调包.但是调包有的时候也调的闹心,因为安装包不是失败就是很慢,很影响自己的工作进度,这里给出一个pip快速安装工具包的办法,希望能帮助到一些新入门python的同学们. 当我们在cmd窗口中使用命令:pip install 包名.文件格式 时候常常会出现安装失败的现象,你会看到下载的进度条,但是最后显示当下载到百分之几十的时候窗口中就会出现一堆红字,有如下类似提示: 以上这些图片都显示是python第三方库下载出问题了,

Android5.0以下drawable tag vector错误的解决办法

Android5.0以下drawable tag vector错误的解决办法 在Androi 5.0以下的设备可能会报这样的错误: Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #1: invalid drawable tag vector 解决思路: 1.首先检查兼容性环境配置是否正确,判断是否是环境配置的问题导致出现以上问题的,如果是,请配置好环境,如果不是 请看步骤2 兼容性环境的配置: (1)

idea调试SpringMvc, 出现:”Can't find catalina.jar"错误的解决方法

用gradle构建的项目,点击运行出现以下错误提示: Error running PraticeWeb: Can't find catalina.jar 21:54 Error running PraticeWeb Invalid arguments : Already listening [timeout, port, localAddress] 检查tomcat配置发现: File -> Setting -> Build,Execution,Deployment -> Applica