Ubuntu更新卡在 flashplugin-installer

前端之家收集整理的这篇文章主要介绍了Ubuntu更新卡在 flashplugin-installer前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CSDN GitHub
Ubuntu 更新卡在 flashplugin-installer AderXCoding/system/tools/flashplayer/resolve_flashplugin_installer


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请注明出处,谢谢合作

因本人技术水平和知识面有限,内容如有纰漏或者需要修正的地方,欢迎大家指正,也欢迎大家提供一些其他好的调试工具以供收录,鄙人在此谢谢啦


1 问题发现


之前的博文 Ubuntu 安装 adobe flash player 插件(PPAPINPAPI) 中讲解了如何安装 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 这里. 结果软件中心就卡死在”正在应用更改”,取消也取消不了. 也不能安装或删除其他软件.

2 方法一 动下载flash.tar.gz包并配置


2.1 获取下载链接-清除通知(非必须)


在进入下载 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

2.2 手动下载


可以手动下载 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

2.3 安装


然后重新配置即可.

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,但现在依旧没有解决,所以采用上面的方法手动删除相关文件可以解决这个问题.

3 方法修改下载脚本


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 里面配置代理(略)

4 参考资料


经过几天的摸索,终于得出安装flashplugin-installer的方法

每次更新管理器都会卡在 flashplugin-installer 这里

ubuntu 安装 flashplugin-installer 失败解决办法


猜你在找的Ubuntu相关文章