CSDN | GitHub |
---|---|
Ubuntu 更新卡在 flashplugin-installer |
AderXCoding/system/tools/flashplayer/resolve_flashplugin_installer |
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作
因本人技术水平和知识面有限, 内容如有纰漏或者需要修正的地方, 欢迎大家指正, 也欢迎大家提供一些其他好的调试工具以供收录, 鄙人在此谢谢啦
之前的博文 Ubuntu
安装 adobe flash player
插件(PPAPI
和NPAPI
) 中讲解了如何安装 adobe flash player for linux
, Ubuntu
可以使用源中 flashplugin-installer
提供 NPAPI
.
sudo apt-get install flashplugin-installer
安装过程中会下载 flash_player_npapi_linux.tar.gz
的包到目录 /var/cache/flashplugin-installer
, 并自动安装到 /usr/lib/flashplugin-installer
目录下
但是后来的几次更新中发现, 每次更新管理器都会卡在 flashplugin-installer
这里. 结果软件中心就卡死在”正在应用更改”, 取消也取消不了. 也不能安装或删除其他软件.
在进入下载 adobe-flashplugin_XXX.orig.tar.gz
软件包时断网(或者进行网络切换), 则会下载中断, 并弹出”下载额外数据不成功”的通知.
移除”下载额外数据不成功”的恼人提示通知, 方法 :
# 提示信息
cd /usr/share/package-data-downloads/
sudo rm -rf flashplugin-installer
该文本信息正是下载失败时候的提示信息, 其中指示了下在路径
其他信息可不必删除
cd /var/lib/update-notifier/package-data-downloads/
sudo rm -rf flashplugin-installer
cd /var/lib/update-notifier/user.d/
sudo rm data-downloads-failed
可以手动下载 FLASH
插件然后放到浏览器的 plugins
里面去解决这个问题
下载, 目前最新版是 adobe-flashplugin_20170912.1.orig.tar.gz
, 请大家按需下载.
可以使用浏览器下载
http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_20170912.1.orig.tar.gz
然后把 /var/cache/flashplugin-installer
里面的东西全部删除, 用下载软件事先下载好 adobe-flashplugin_20170912.1.orig.tar.gz
替换掉, 把它移动到 /var/cache/flashplugin-installer
然后重新配置即可.
sudo dpkg-reconfigure flashplugin-installer
中间会提示输入 .tar.gz
包所在的路径, 注意只输入所在目录即可
对于
ubuntu-restricted-extras
中的其他软件包ttf-mscorefonts-installer
也可以使用同样的方法.对于网上有些采用删除
/usr/share/update-notifier/package-data-downloads-failed
文件的方法是错误的, 治标不治本.其实最主要的执行文件是
/usr/lib/update-notifier/package-data-downloader
, 大家看一下这个文件就明白了.“下载额外数据不成功”的恼人提示通知消不掉的问题, 已经被
ubuntu
确认为bug
, 但现在依旧没有解决, 所以采用上面的方法手动删除相关文件可以解决这个问题.
ubuntu
是通过 /usr/lib/update-notifier/package-data-downloader
完成这件事的, 它是个 python
脚本, 里面用到了 urllib
, 但是这个库不支持 proxy
, 所以会导致 deb
安装失败.
等 ubuntu
解决这类问题之前, 需要自己先找个 workaround
的办法 :
打开 /usr/lib/update-notifier/package-data-downloader
找到下面这段 Python
代码 :
for i in range(len(files)):
print "%s: downloading %s" % (relfile, files[i])
dest_file = urllib.urlretrieve(files[i])[0]
output = subprocess.check_output(["sha256sum", dest_file])
output = output.split(' ')[0]
if output == sums[i]:
command.append(dest_file)
else:
record_failure(relfile)
break
将 urllib.urlretrieve
改成 wget
, 改之后如下 Python
代码 :
for i in range(len(files)):
print "%s: downloading %s" % (relfile, files[i])
#dest_file = urllib.urlretrieve(files[i])[0]
dest_file = files[i].split("/")[-1]
dest_file = '/tmp/' + dest_file
downf = "/usr/bin/wget %s -O %s" % (files[i], dest_file)
subprocess.call(downf, shell=True)
output = subprocess.check_output(["sha256sum", dest_file])
output = output.split(' ')[0]
if output == sums[i]:
command.append(dest_file)
else:
record_failure(relfile)
break
剩下的事情就是在 /etc/wgetrc
里面配置代理(略)
经过几天的摸索,终于得出安装flashplugin-installer的方法
每次更新管理器都会卡在 flashplugin-installer
这里
ubuntu
安装 flashplugin-installer
失败解决办法
本作品/博文 ( AderStep-紫夜阑珊-青伶巷草 Copyright ©2013-2017 ), 由 成坚(gatieme) 创作,
采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可. 欢迎转载、使用、重新发布, 但务必保留文章署名成坚gatieme ( 包含链接: http://blog.csdn.net/gatieme ), 不得用于商业目的,
基于本文修改后的作品务必以相同的许可发布. 如有任何疑问,请与我联系.