古老Ubuntu 安装 EDB 的奇葩旅程
2012-11-25 00:38 Rudrj2 阅读(2113) 评论(0) 编辑 收藏 举报ubuntu下安装edb 在如下地址下载: http://www.codef00.com/projects#Debugger $ sudo apt-get install libqt4-dev $ sudo apt-get install libboost1.40-all-dev 或者: $sudo apt-get install libboost $ tar zxvf debugger-0.9.18.tgz $ mv debugger /usr/local/src/ $ cd /usr/local/src/debugger $ qmake -makefile DEFAULT_PLUGIN_PATH="/usr/lib/edb/" $ make $ sudo make INSTALL_ROOT=/usr install
官方安装说明: mkdir -p /usr/local/portage/edb/dev-util/edb/ cp edb-0.9.18.ebuild /usr/local/portage/edb/dev-util/edb/ echo PORTDIR_OVERLAY=\"\${PORTDIR_OVERLAY} /usr/local/portage/edb\" >> /etc/make.conf cd /usr/local/portage/edb/dev-util/edb/ ebuild edb-0.9.18.ebuild digest ACCEPT_KEYWORDS=~x86 emerge -a dev-util/edb
由于老师给的ubuntu的版本很老(9.04),而且源也有无效的(在外面的研究院,没有使用学校的源)
需要注意的是不同版本的ubuntu有不同的源,千万不要选错了源。一开始我以为是10.4结果后来发现不对,又去寻找新的源。
由于安装10.04源的时候出现了一点问题记录一下:
E:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。
解决方法:输入以下命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
之后再安装想装的包,即可解决
在弄更新源9.04的时候,突然出现以下错误:
[1]+ Stopped sudo apt-get update
haiquan@haiquan-desktop:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the list directory
开始以为是权限不够,就是用 sudo apt-get update,发现还是报错,问题没有解决。于是上网搜索了一下,答案如下:
问题应该是之前那个更新被强制取消的问题,进程仍然还在。用这个命令查看一下:
ps -e | grep apt
显示结果如下:
6934 ? 00:00:00 apt-get
然后就执行
sudo killall apt-get
如果有其他也可以选择:
sudo killall apt
sudo killall synaptic
再次在终端里查看ps -e | grep apt 没有任何结果了
继续执行sudo apt-get update
OK!
原因:内部缺少很多软件源,这时,系统会自动启动软件源更新进程“apt-get”,并且它会一直存活。由于它在运行时,会占用软件源更新时的系统锁(以下称“系统更新锁”,此锁文件在“/var/lib/apt/lists/”目录下),而当有新的apt-get进程生成时,就会因为得不到系统更新锁而出现"E: 无法获得锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)"错误提示!因此,我们只要将原先的apt-get进程杀死,从新激活新的apt-get进程,就可以让新立德软件管理器正常工作了!
这时,按以下步骤来解决:
1、输入以下命令:“ps -aux > temp.txt”.敲回车确定。这时会有“warning”出现,但不予理会。
2、输入以下命令:“grep -n apt-get temp.txt”键入回车确定。而后从命令输出中找到 apt-get 进程的PID。
3、输入以下命令:“sudo kill <PID>”。
4、完成。
or
如果提示错误:E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
输入
sudo rm /var/lib/apt/lists/lock
即可
后来发现只能用官方源,9.04已经被淘汰了,其他源都不支持了。哎。这太坑爹了,搞个8.04也好。。这么奇葩的一个版本。
不知道自己ubuntu版本的同学可以输入:
cat /etc/issue
重新返回之前的源是不行的,因为ubuntu 9.04 又出现了错误。老版本的源一定要注意。。(坑爹的信安,坑爹的保健哥)
参考地址:http://pim.famnit.upr.si/blog/index.php?/archives/225-Update-an-old-Ubuntu-404-Not-Found;-Err-httpus.archive.ubuntu.com;-Failed-to-fetch.html
解决方案: To upgrade a really old Ubuntu release, we first need to edit our sources.list and change all(xx.)archive.ubuntu.com to old-releases.ubuntu.com. $ sudo emacs /etc/apt/sources.list So your lines should instead of deb http://archive.ubuntu.com/ubuntu jaunty main restricted universe look like deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe In this example I use jaunty release. But it works the same on other releases. Now update the repos $ sudo apt-get update
如果你的版本有很好的支持10.04之后,我发现一种比较好的软连接方式,可以减少更新源的操作:
打开终端执行以下命令: cd /etc/apt 可有可无,我系统里面本身就有备份 sudo mv sources.list sources.list.save 输入你的密码 这个时候要记住自己的版本号:Jaunty(我的,你自己的可以随便设) sudo wget http://mirrors.163.com/.help/sources.list.jaunty 这就是软连接 sudo ln -sf sources.list.jaunty sources.list sudo apt-get update 换好软件源了,接下来安装更新 sudo apt-get dist-upgrade 比较老的版本的,新的版本源比较常见,就不介绍了 Dapper(6.06) Hardy(8.04) Intrepid(8.10) Jaunty(9.04) Karmic(9.10) Lucid(10.04) maverick(10.10)
虽然没变,但最终还是把源给搞通了。。现在搞edb吧。。根据之前给的代码,将QT和BOOST都装好;版本要求QT>=4.5 BOOST>=1.35 你也可以自己打开新立得搜素关键词安装对应版本,,安装过程可能需要G++,所以安装前务必要安装G++。。新立得无脑流操作就OK了。。
转到下载tgz的目录,进行下列操作就ok了。。。 $ tar zxvf debugger-0.9.18.tgz $ mv debugger /usr/local/src/ $ cd /usr/local/src/debugger $ qmake -makefile DEFAULT_PLUGIN_PATH="/usr/lib/edb/" $ make $ sudo make INSTALL_ROOT=/usr install
总结了一点修改下makefile就可以了。。老版本的系统无法编译version这个文件。