Linux中gcc和yum问题

本来打算在Ubuntu上用apt-get安装redis和图片服务器的,于是输入如下命令:

# apt-get install redis

  但是出现如下提示:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package redis 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 'redis' has no installation candidate

  大概就是说找不到 redis,没有 redis的安装候选。找到相关的问题 http://askubuntu.com/questions/14685/what-does-package-package-has-no-installation-candidate-mean,应该是要 # apt-get update 一下。但是尴尬的事情又来了,update 出现如下错误:

......
Reading package lists... Done
W: Failed to fetch http://hk.archive.ubuntu.com/ubuntu/dists/precise/InRelease  
W: Failed to fetch http://hk.archive.ubuntu.com/ubuntu/dists/precise-updates/InRelease  
W: Failed to fetch http://hk.archive.ubuntu.com/ubuntu/dists/precise-backports/InRelease  
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/InRelease  
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/InRelease  
W: Failed to fetch 
......
W: Some index files failed to download. They have been ignored, or old ones used instead.

  于是我又查了关于“Failed to fetch”的相关问题,参考 http://askubuntu.com/questions/298177/a-failed-to-fetch-error-occurs-when-apt-get-update-is-run-how-do-i-fix-this 和 http://blog.csdn.net/npy_lp/article/details/42080553 。提到跟 DNS 配置有关,于是我做了相应修改后发现依然无效(我装的是 Ubuntu 12.04 Server)。 
  然后我就开始尝试修改软件源了,我的 Ubuntu 没有图形界面,相关操作如下: 
  1、保险起见,备份 Ubuntu12.04 源列表

# cp /etc/apt/sources.list /etc/apt/sources.list.backup

  2、修改源列表文件

# vi /etc/apt/sources.list

  3、把里面的列表替换成下面的列表 
【163源】

 deb http://mirrors.163.com/ubuntu/ precise main restricted
 deb-src http://mirrors.163.com/ubuntu/ precise main restricted
 deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
 deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
 deb http://mirrors.163.com/ubuntu/ precise universe
 deb-src http://mirrors.163.com/ubuntu/ precise universe
 deb http://mirrors.163.com/ubuntu/ precise-updates universe
 deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
 deb http://mirrors.163.com/ubuntu/ precise multiverse
 deb-src http://mirrors.163.com/ubuntu/ precise multiverse
 deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
 deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
 deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
 deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
 deb http://mirrors.163.com/ubuntu/ precise-security main restricted
 deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
 deb http://mirrors.163.com/ubuntu/ precise-security universe
 deb-src http://mirrors.163.com/ubuntu/ precise-security universe
 deb http://mirrors.163.com/ubuntu/ precise-security multiverse
 deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse
 deb http://extras.ubuntu.com/ubuntu precise main
 deb-src http://extras.ubuntu.com/ubuntu precise main

  4、更新软件源

# apt-get update

  我使用的是163源,出现如下提示即更新成功:

......
Hit http://mirrors.163.com precise-security/main Translation-en
Hit http://mirrors.163.com precise-security/multiverse Translation-en
Hit http://mirrors.163.com precise-security/restricted Translation-en
Hit http://mirrors.163.com precise-security/universe Translation-en
Reading package lists... Done

  在此之前,不管是出现没有yum,没有gcc还是没有rpm,还是出现各类编译问题。不用理会。


  •   那么,除了 apt-get update,我们平常还会看到 apt-get upgrade 以及 apt-get dist-upgrade,它们的区别是什么呢?查阅相关资料,有如下解释: 
      An update should always be performed before an upgrade or dist-upgrade. upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded. 
      也就是说: 
      update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。 
      upgrade 是升级已安装的所有软件包,升级之后的版本就是本地索引里的,因此,在执行 upgrade 之前一定要执行 update, 这样才能是最新的。 
      由于包与包之间存在各种依赖关系,upgrade只是简单的更新包,不管这些依赖,它不和添加包,或是删除包。而dist-upgrade可以根据依赖关系的变化,添加包,删除包。 
      更详细说明可以参考:http://www.cnblogs.com/PlusHappy/p/5725145.html


  那么,回到我们最开始的目的——安装 yum和gcc和redis等。 
  当我们执行完 apt-get update 后,可以不执行 apt-get upgrade,直接执行 apt-get install yum即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值