糯米

TI DaVinci, gstreamer, ffmpeg
随笔 - 167, 文章 - 0, 评论 - 47, 引用 - 0
数据加载中……

去除dvsdk安装的Ubuntu版本限制

今天偶然间发现的一个小hack:)

我要安装dvsdk的4.0版本。它的安装包是一个单个的可执行文件:


它提示,只能在Ubuntu 10.04上面安装。


我自己的Ubuntu是11.04,文件系统resierfs,如果resize的话貌似会清空。当然也不愿意再装一个旧版的。
所以琢磨着怎么把这个限制去掉。
首先我估计它是读了某个文件来获取的发行版本号。
所以先用 strace 命令看一下。加一个 -f 表示跟踪 fork 出来的子进程。
这个工具可以打印出程序所有的 syscall。因此 open,read,write,select 之类的调用都会被打印出来。



这时候出来很多结果,好比大海捞针一般,要仔细看哦。
突然发现一行显眼的:


“natty”是Ubuntu 11.04的代号,也就是说这个程序在某个地方读到了Ubuntu的版本号。
我对这些不了解,于是google了一下,发现是通过调用 lsb_release 这个工具来读到的。


然后又发现一个好消息,这个工具是 python 写的。
于是加了半句优雅的代码:


其中“lucid”是 Ubuntu 10.04 的版本号。如果 /tmp/lucidhack 这个文件存在,就输出 lucid 。
看看效果吧:



创建 /tmp/lucidhack,然后重新运行安装程序。
大功告成!




其实很多时候问题很简单,完全没有必要大动干戈。

posted on 2011-08-27 09:43 糯米 阅读(1997) 评论(1)  编辑 收藏 引用 所属分类: Linux

评论

# re: 去除dvsdk安装的Ubuntu版本限制[未登录]  回复  更多评论   

请问下您“然后又发现一个好消息,这个工具是 python 写的。
于是加了半句优雅的代码:“
这部分的代码是加到哪里的,看步骤没看明白啊?
2012-05-07 22:05 | jason

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理