最近开始做Android的开发,由于公司的缘故,工作都只能在单位做,很多时候回家还想再学习下代码方面的东西,苦于网上介绍的Android源码开发都是在Ubuntu系统上开发,出于无奈,只好摒弃了之前一直在用的CentOS等一些服务器,自己重新装了个Ubuntu系统。
安装系统倒是挺快的,没半小时就装完了。进入系统一看,突然发现装好的ubuntu系统居然不支持ssh服务,也没多想,那就装吧。
乖乖,不装不知道,一装才发现Ubuntu安装服务用的都是apt-get工具的在线安装(至少网上介绍的都是这种方式)。搜了下,帖子上介绍的基本上都是如下这个命令:
sudo apt-get install openssh-server
往刚装好的ubuntu上一敲,出现如下错误:
@linuxidc:~$ sudo apt-get install openssh-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package openssh-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package openssh-server has no installation candidate
再搜,能搜到的帖子基本都说先使用一下俩命令:
sudo apt-get update
sudo apt-get upgrade
然而事实上即使我使用了以上两个命令,sudo apt-get install openssh-server时出现的还是上面红色部分错误。正当即将崩溃时,突然看到了这么篇帖子,讲的大致意思就是在使用sudo apt-get install openssh-server命令在线安装服务时,这个命令使用的其实是/etc/apt/source.list文件中指定的源的资源进行安装。在默认安装好的ubuntu系统中,这个文件中的源信息由于时间等原因有可能都已经过时了,需要自己找一些可以使用的源。于是马上谷歌了下/etc/apt/source.list这个文件,找到一些源信息。源挺多,就是有些源也已近过时,无奈只能一个一个试过来,最终终于找到一些可以使用的源,以下是本人使用的源,在撰写此文是还是有效的:
deb hardy main restricted universe multiverse
deb-src hardy main restricted universe multiverse
关于更多Ubuntu更新源的相关阅读见:
Ubuntu 11.10 Oneiric Ocelot 更新源
去掉/etc/apt/source.list文件中原先存在的源,加入以上源地址,然后使用
sudo apt-get update
sudo apt-get upgrade
命令能找到资源并更新成功。然后再次使用
sudo apt-get install openssh-server
命令安装,但是还是安装失败。