声明:本博文用于学习总结及工作心得
最近在服务器中需要安装oracle 11g 听说oracle 是默认不支持Ubuntu的, 在网上查了一下文档,说是需要欺骗一下oracle
在安装过程中出现最大的问题就是依赖包安装不上;主要是 ia32-libs lesstif2 lesstif2-dev libpthread-stubs0
主要说一下解决过程:
安装ia32-libs是32位的东西,要64位打开多架构支持才能安装。
sudo dpkg --add-architecture i386
sudo apt -get update
sudo apt-get dist-upgrade
添加软件源 :
1备份源:
sudocp /etc/apt/sources.list /etc/apt/sources.list_back
2.添加新源到source.list最后:
deb http://security.debian.org/debian-securitywheezy/updates main
#deb http://ftp.de.debian.org/debian wheezymain
deb http://ftp.cn.debian.org/debian wheezy main
deb http://ftp.jp.debian.org/debian wheezy main
deb http://ftp.kr.debian.org/debian wheezy main
#deb http://ftp.hk.debian.org/debian wheezy main
deb http://ftp.tw.debian.org/debian wheezy main
3执行 sudo apt-get update
4 NO_PUBKEY
Apt-get update 更新apt软件源遇见:无法验证下列签名需要
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010 6FB2A1C265FFB7645.再次运行apt-get install 安装之前安装不上的软件包
6.如果出现 您可能需要运行“apt-get -f install”来纠正下列错误
直接执行apt-get -f install ;系统会直接下载相关依赖 最主要如果我们是自己在网上找.deb安装包可能会出现版本不对的问题导致还是装不了
7.如果第6步不成功,说什么找不到包之类的(E: 无法找到获取软件包的渠道 ...)(E: 软件包 ia32-libs 没有可供安装的候选者);接下来看这里:
https://packages.debian.org/wheezy/lesstif2
这里提供了很多包 直接进入搜索需要下载的包,并且可以从中查询所依赖的包
注意这里下载的包,即使能够安装成功,但是依然在安装被依赖的主包是还是会产生依赖错误,记住这里只是一个诱发性操作,主要的还是靠apt-get -f install 让系统帮我们解决版本不对称的依赖错误,所以source.list里必须添加源
具体方法:
产生错误,而我又安装了相关软件 比如 :
ia32-libs 依赖 ia32-libs-i386 从网站中下载 ia32-libs-i386 的deb文件 安装需要依赖lesstif2 等包,继续下载lesstif2 deb文件
下载后安装lesstif2 deb文件 在安装ia32-libs-i386 的deb文件 还是会出现
ia32-libs-i386:i386 : 依赖: lesstif2:i386 (>= 1:0.95.2-1) 但是它将不会被安装 依赖: libgphoto2-2:i386 (>= 2.4.6-3) 但是它将不会被安装 依赖: libgphoto2-port0:i386 (>= 2.4.6-3) 但是它将不会被安装
明明我们是安装了为什么还会有依赖问题,那是因为包的版本不对,
继续执行apt-get install lesstif2 会出现
lesstif2 已经是最新的版本。 您可能需要运行“apt-get -f install”来纠正下列错误: 下列软件包有未满足的依赖关系: ia32-libs-i386:i386 : 依赖: lesstif2:i386 (>= 1:0.95.2-1) 但是它将不会被安装 依赖: libgphoto2-2:i386 (>= 2.4.6-3) 但是它将不会被安装 依赖: libgphoto2-port0:i386 (>= 2.4.6-3) 但是它将不会被安装 E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。
继续执行apt-get -f install 出现:
root@chen-virtual-machine:~# apt-get -f install 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在更正依赖关系... 完成 下列软件包是自动安装的并且现在不需要了: account-plugin-windows-live at libepoxy0 libevdev2 libllvm3.5 libntdb1 libupstart1 lsb-security m4 pax python-ntdb Use 'apt-get autoremove' to remove them. 将会安装下列额外的软件包: lesstif2:i386 libgd2-xpm:i386 libgphoto2-2:i386 libgphoto2-port0:i386 建议安装的软件包: libgd-tools:i386 gphoto2:i386 gtkam:i386 下列【新】软件包将被安装: lesstif2:i386 libgd2-xpm:i386 libgphoto2-2:i386 libgphoto2-port0:i386 升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 79 个软件包未被升级。 有 1 个软件包没有被完全安装或卸载。 需要下载 2,146 kB 的软件包。 解压缩后会消耗掉 6,120 kB 的额外空间。 您希望继续执行吗? [Y/n] y
输入 Y即可解决, 思路就是这样,至于网上说安装什么wine1可解决,结果还是不行,只是侥幸,上面方法亲测可行
root@chen-virtual-machine:~# apt-get install ia32-libs 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 ia32-libs 已经是最新的版本。 下列软件包是自动安装的并且现在不需要了: account-plugin-windows-live at libepoxy0 libevdev2 libllvm3.5 libntdb1 libupstart1 lsb-security m4 pax python-ntdb Use 'apt-get autoremove' to remove them. 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 79 个软件包未被升级。 root@chen-virtual-machine:~#