转自 http://blog.csdn.net/xubin341719/article/details/6936870,感谢作者!
保证Ubuntu网络可用的前提下:
一,问题:
jiaoteng@jiaoteng-desktop:~$ sudo apt-get install vim
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
现在没有可用的软件包 vim,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 vim 还没有可供安装的候选者
jiaoteng@jiaoteng-desktop:~$ sudo apt-get install g++
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
现在没有可用的软件包 g++,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 g++ 还没有可供安装的候选者
方法: 在你的软件源中添加源:
sudo vim /etc/apt/source.list
添加:deb http://cz.archive.ubuntu.com/ubuntu lucid main
保存退出
sudo apt-get update
sudo apt-get install **
就可以安装了。
二,按上面的方法,网络不太好,有时候源也不行,所以没有上面的方法。
如果你有DVD版的Ubuntu 9.04,用它来作为源,确实是不错的想法,也省去了联网的麻烦,具体操作如下:
打开终端,执行:
sudo gedit /etc/apt/sources.list
将里面的所有内容删除,保存退出。
然后终端执行:
sudo mount -o loop -t iso9660 /.../Ubuntu-9.04-dvd-i386.iso /media/cdrom0/
sudo apt-cdrom -m -d /media/cdrom0 add
执行结果如下:
现把 /media/Ubuntu-9.04-dvd/ 作为了 CD-ROM 的挂载点
正在鉴别.. [6c9fa028a2a77a6a3b571ccefb68b9ea-2]
正在光盘中查找索引文件..
找到了 2 个软件包索引、0 个源代码包索引、0 个翻译索引和 1 个数字签名
这张光盘现在的名字是:
“Ubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090421.3)”
正在复制软件包列表……gpgv: 于 2009年04月22日 星期三 03时02分02秒 CST 创建的签名,使用 DSA,钥匙号 FBB75451
gpgv: 完好的签名,来自于“Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>”
Reading Package Indexes... 完成
正在写入新的软件包源列表
对应于该光盘的软件包源设置项是:
deb cdrom:[Ubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090421.3)]/ jaunty main restricted
请对您的光盘套件中的其它光盘重复相同的操作。
W: Skipping non-exisiting file /media/Ubuntu-9.04-dvd/dists/jaunty/main/binary-i386/Packages
W: Skipping non-exisiting file /media/Ubuntu-9.04-dvd/dists/jaunty/main/debian-installer/binary-i386/Packages
W: Skipping non-exisiting file /media/Ubuntu-9.04-dvd/dists/jaunty/restricted/binary-i386/Packages
然后执行:sudo apt-get update 就可以安装你想要到软件了
PS:
最后在用完后有一个umount的问题参见:
http://341719xubin.blog.163.com/blog/static/1329207932011958263071/
其实解决上面问题最简单的方法:
就是把CD/DVD 选用 "Use Physical driver",然后再重启虚拟机。