打算陆陆续续把Linux下常用的软件安装管理系统汇集在一起, 包括用的比较多的apt-get,aptitude,synaptic,MAC下的MacPorts, Fink,Homebrew等
apt-get update
downloads the package lists from the repositories and "updates" them to get information on the newest versions of packages and their dependencies. It will do this for all repositories and PPAs.Fromhttp://linux.die.net/man/8/apt-get:
Used to re-synchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in
/etc/apt/sources.list
(5). An update should always be performed before an upgrade or dist-upgrade.
apt-get upgrade
will fetch new versions of packages existing on the machine if APT knows about these new versions by way ofapt-get update
.
From http://linux.die.net/man/8/apt-get:
Used to install the newest versions of all packages currently installed on the system from the sources enumerated in
/etc/apt/sources.list
(5). Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, nor are packages that are not already installed retrieved and installed.New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. [Emphasis mine] An update must be performed first so that apt-get knows that new versions of packages are available.
apt-get dist-upgrade
will do the same job which is done by apt-get upgrade
, plus it will also intelligently handle the dependencies, so it might remove obsolete packages or add new ones. See here:What is "dist-upgrade" and why does it upgrade more than "upgrade"?
From http://linux.die.net/man/8/apt-get:
In addition to performing the function of upgrade, this option also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones, if necessary. The
/etc/apt/sources.list
(5) file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for over-riding the general settings for individual packages.
整整折腾了2个小时!!!
从12.04升级到14.04,apt-get update怎么也过不了。把所有的PPA都disable后还是不行。始终说找不到armhf Package或binary-armhf。
1. 重建package lists
sudo cp /var/lib/apt/lists/* ~/apt-lists/
sudo mkdir /var/lib/apt/lists/partial
sudo rm -Rv /var/lib/apt/lists/*
sudo apt-get clean
sudo apt-get update
失败!
2. 在Software Sources中修改update Server:
失败!
最后终于终于发现,在official 的repository中armhf都被removed了!!!
http://gb.archive.ubuntu.com/ubuntu/dists/precise/{main, restricted, universe, multivers}
http://gb.archive.ubuntu.com/ubuntu/dists/trusty/{main, restricted, universe, multivers}
这个讨厌的东西也是CUDA给装上的
照上面说的解决了!!!
Just delete the line:"foreign-architecture armhf"in file "/etc/dpkg/dpkg.cfg.d/multiarch".
I found CUDA can work without adding armhf.
另外,
Update failure 404
amd64 replaces armhf