Unable to correct problems, you have held broken package
其实这篇接着上文(一),主要是解决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一两下就解决了,两种方式效率差距可见一般。
就这两天的记录,基本自己还处于前者,基础知识真是忘记了不少,私房菜有必要再拿出来翻翻了。