Unable to correct problems, you have held broken package

时间:2022-02-25 17:43:57

其实这篇接着上文(一),主要是解决samba安装的问题,中间又是一路曲折。不过这个问题也算是比较典型,有必要记录一下。

#apt-get install smb* 安装失败。其实顺利的话,直接一条这样的命令就过了,上次就是直接过的,不知道这次怎么蹦出来的。

Error:  Unable to correct problems, you have held broken package

这个在使用Ubuntu系统的时候多多少少都碰到过,尤其是用旧版本的系统。

这个记得之前在BlackTrack里面更新中文语音包的时候,遇到过类似的问题,这里算是放在一起总结一下吧。

#apt-get update ,upgrade,dist-upgrade

#apt-get clean, autoclean ,clear cache

#apt-get install build-essential

#aptitude install *** ,purge

#aptitude why-not citadel-mta

#apt-get install -f

 Synaptic->Custom Filters->Broken to see what appears to be broken.

以上方法全部执行一遍,大概就可以解决,不过过程中更新会耗不少时间。如果不行的话,添加Ubuntu的更新源,重复上述步骤。

不过我最后解决貌似还不是因为这个,中间我尝试执行#apt-get install smbd*

然后更新了一堆东西,貌似这个过程顺便把samba服务一并安装了,我直接locate 到了smb.conf文件。

后面检查service smbd status, running,果然是装好了。

 

另一个小插曲:

smbd*安装完后,执行sudo 会有以下错误:

Error :no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory

这个google一下解决比较简单:http://ubuntuforums.org/showthread.php?t=2214042

#apt-cache policy samba
#apt-get remove libpam-smbpass

总结下:

1、技术问题问google, 不要问某度,这是有经验的程序员和新手程序员效率区分之一;

2、菜鸟遇到问题只会一路google,会陷入问题A——>问题B——>问题C....最后只是参考别人的做法解决了问题,但其实并不明白问题出在哪;大牛遇到问题首先根据自己的知识体系,迅速定位问题到某个局部,最多google一两下就解决了,两种方式效率差距可见一般。

就这两天的记录,基本自己还处于前者,基础知识真是忘记了不少,私房菜有必要再拿出来翻翻了。