(转发自网络,本文原作者和网站没有找到,感谢原作者!)
安装了Ubuntu12.10后,我使用firefox登录自己的博客找一些svn的资料,发现浏览器没有flash插件,这时firefox会提示我安装缺失插件,于是就按照浏览器的提示更新插件。
在安装向导中,我选择了AdobeFlash插件。然而等了十几分钟,这flash插件还没下载完,因为明天还要上班,时间有限,于是我点击取消下载flash插件,结果又过了十几分钟还是卡在那里:
瞌睡虫已经在催我了,我还是赶紧在终端中使用apt-getinstall命令下载吧,结果却华丽地报错了:
E:无法获得锁/var/lib/dpkg/lock-open (11:资源暂时不可用)
E:无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
锁定了就得解锁。我通常的思路是抓住主要矛盾,挡路者死。所以这里用到的解锁的办法就是干掉这个文件:
sudorm -rf/var/cache/apt/archives/lock
sudorm -rf/var/lib/dpkg/lock
再次运行apt-get时,拦路虎如约出现:
E:dpkg被中断,您必须手工运行sudodpkg --configure -a 解决此问题。
既然系统给出了这样的提示,那咱照大爷说的办呗,所以老老实实运行:
sudodpkg--configure -a
结果却是:
正在设置update-notifier-common(0.119ubuntu8.1) ...flashplugin-installer:downloadinghttp://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.233.orig.tar.gz
这样一来,dpkg又被flashplugin-installer独占,我的Ubuntu直接陷入了无法安装、卸载软件的死循环。而且,这还导致:
我可以说脏话吗?嗯,不能吗?好吧,继续想办法解决问题!头痛医头脚痛医脚,这里我当时有两条思路。第一是结束掉dpkg的进程,然后再次运行sudodpkg--configure-a,结果当然是失败告终。所以还是得从卸载掉之前安装的flashplugin下手,值得注意的是,这里并不是运行系统提示我们运行的sudodpkg--configure -a,而是sudodpkg -rflashplugin-installer,所以运行:
sudodpkg -rflashplugin-installer
但是这时显示:
dpkg:error:dpkg status database is locked by another process
神马!你又被锁定了?so,老办法搞定它!搞定之后需要再次执行未成功的卸载命令
sudorm -rf/var/lib/dpkg/lock
sudodpkg -rflashplugin-installer
好了,这时候终于成功卸载掉这个瘟神。但是请神容易送神难——软件中心里还是会显示“一个下载项正在取消”,看到这个我就火了,丫的赖着不走了?先头无效的结束进程的办法在这里就能派上用场了,所以执行:
ps-af | grepdpkg
这时可以看到dpkg的具体进程信息:
root44394427 0 01:42 pts/3 00:00:00/bin/sh/var/lib/dpkg/info/update-notifier-common.postinstconfigure0.119ubuntu8.1 ray 4659 3635 0 01:42 pts/4 00:00:00grep--color=auto dpkg
抓住它就不要放过它!捉住干掉,执行:
sudokill -94439
至此,卸载工作就算是成功告终了,下面步入安装flashplugin的正轨。首先去Adobe官网下载install_flash_player_11_linux.x86_64.tar.gz
下载速度不算快,一直维持在40kB左右,忍了!
官方对于插件的安装有比较详细的说明:
“Copylibflashplayer.so to theappropriate browser plugins directory. At theprompt type: cplibflashlayer.so Copy the Flash Player LocalSettingsconfigurations files to the /usr directory. At the prompttype:sudo cp -r usr/* /usr”
可以看到,官方的说明文档写得很清楚,实际上我们需要的文件只有libflashplayer.so而已。听Adobe哥的不会错,所以我们开始按照它的文档来解压安装。这里假设我的用户名是aa,下载文件夹是Downloads,则位置就是/home/aa/Downloads/。所以,步骤就是先进入目录,然后解压。就可以得到libflashplayer.so
cd/home/aa/Downloads
tarxfinstall_flash_player_11_linux.x86_64.tar.gz
接下来就是把文件复制进firefox的插件目录
sudocp -rusr/* /usr
sudocplibflashplayer.so /usr/lib/firefox/plugins/
这时候已经完成了复制工作,可以使用sudovim/usr/lib/firefox/plugins/libflashplayer.so来验证是否完成了动作,如果看到了一堆的乱码,那就是成功完成了步骤。输入:q即可退出vim。
至此,flashpluin就完整安装完成了,重启firefox就可以看到我们可爱的flash又回来了!娘的,折腾了这么久,睡觉!