个人工具

UbuntuHelp:Repositories/CommandLine/zh

来自Ubuntu中文

Lyp069讨论 | 贡献2008年4月16日 (三) 14:18的版本 (新页面: {{From|https://help.ubuntu.com/community/Repositories/CommandLine}} {{Languages|UbuntuHelp:Repositories/CommandLine}} https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&...)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索

IconsPage?action=AttachFile&do=get&target=terminal.png This page describes how to manage software repositories from the command line. This is useful if you prefer not to use (or are unable to access) a graphical user interface. Also, it may come in handy as it works uniformly across all versions of Ubuntu. IconsPage?action=AttachFile&do=get&target=eyes.png The instructions on this page assume that you are comfortable using a text editor like GEdit or nano. Using the graphical interface to manage software repositories is recommended, see [[UbuntuHelp:../Ubuntu|Managing Repositories in Ubuntu]] or [[UbuntuHelp:../Kubuntu|Kubuntu]] instead.

背景信息

Ubuntu 用apt 包进行管理. Apt在文件中存储了一系列知识注解或软件信道

/etc/apt/sources.list

在命令行编辑这些文件,我们可以添加, 移动, 活临时使软件的知识注解无效. IconsPage?action=AttachFile&do=get&target=eyes.png 注意: 在编辑它们之前备份一个配置文件是一个好的编辑方式如 sources.list . 为做到这些,键入以下命令:

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


一般来说 ,/etc/apt/sources.list 文件包含的信息如下所示:

deb http://archive.ubuntu.com/ubuntu dapper main restricted
deb-src http://archive.ubuntu.com/ubuntu dapper main restricted

deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu dapper-updates main restricted

# deb http://archive.ubuntu.com/ubuntu dapper universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse

# deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse 
# deb http://security.ubuntu.com/ubuntu breezy-security main restricted
# deb-src http://security.ubuntu.com/ubuntu breezy-security main restricted

解说知识仓库的结构

  • 每一方都由一个或两个hashes (#) 开始注解 andapt 或它的 front-ends apt-get, Synaptic, 没有准备好于 Adept.
  • 在没有hashes的这一行是 apt的注解行. 首先两个 apt 行在我们的例子中如下
deb http://archive.ubuntu.com/ubuntu dapper main restricted
deb-src http://archive.ubuntu.com/ubuntu dapper main restricted
  • Here's what they say:
  • deb: 这些注解包过二进制活前期编译包。许多的用户需要这些注解。
  • deb-src: 这些注解包过包中的源代码。对开发者是很有帮助的。
  • http://archive.ubuntu.com/ubuntu: URI (Uniform Resource Identifier),在这种情况下英特网上的地址. 参照 official mirror list 或者到自我修复 mirror list 来寻找别的映像.
  • dapper 是在你的分类中发布你的名字或版本。
  • main & restricted 都是一个部分的名字 或者 what components. 这些按位置来分类可以用几个段名。

添加领域和多元的注解

添加软件的注解如 <a href="What Universe and Multiverse">什么是领域和多元</a> 可以不注释相应的apt行 (如 删除 '#' 在起始行). 在我们的例子中,我们不注释以下行:

deb http://archive.ubuntu.com/ubuntu dapper universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse

然而,如果安全稳定和升级被将被主群组和限制 and updates are enabled for Main and Restricted, 我们要添加一下行来确保我们能够对我们的领域和多元包的升级 (在安装和升级包的时候不要做太多改变导致版本的错配):

deb http://archive.ubuntu.com/ubuntu dapper-security universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper-security universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse

IconsPage?action=AttachFile&do=get&target=eyes.png 如果你只想要普通包而不是多元包,就从命令行中删除所有的含有'multiverse' 的命令行.只要你满意你自己的选择就将你修改后的文件保存。现在,用一下命令从新的添加注解中重置升级包:

sudo apt-get update

Done! 你的系统已经准备好安装领域和多元的注解包了。

添加商业注解

Feisty (7.04) 现在是一个商业软件领域的注解. 你可以添加以下行在你的 /etc/apt/sources.list 文件中:

deb http://archive.canonical.com/ubuntu feisty-commercial main

接下来用和以前一样命令升级:

sudo apt-get update

Be aware that the software contained within this repository is NOT open source.

Adding Other Repositories

IconsPage?action=AttachFile&do=get&target=warning.png Note: There are some (but not many) good reasons for which you might want to add non-Ubuntu repositories to your list of software sources. Some software cannot be distributed by Ubuntu due to patent and licensing restrictions in some countries (see the RestrictedFormats page for examples). You might want to add repositories that offer such software. Make sure that all repositories you add in this way have been tested and are known to work on Ubuntu systems. Repositories that are not designed to work with your version of Ubuntu can introduce inconsistencies in your system and might force you to re-install.


  • You can add custom software repositories by adding the apt repository line of your software source to the list of repositories. It should look somehting like this:
deb http://mirror3.ubuntulinux.nl/ dapper-seveas freenx
  • Add the line at the end of your sources.list and save the file.
  • Next, make apt aware of the new software repositories by issuing the following command:
sudo apt-get update
  • Done! The new software repositories should now be available for use.

Enabling Repositories with a (non-interactive) Script

IconsPage?action=AttachFile&do=get&target=eyes.png This section is directed at advanced users. Problem: You are looking for a way to enable the extra repositories without any user input.
Example: You are creating a custom install script for an application that needs software packages from the Universe or Multiverse repositories.
What follows is a simple script that enables the extra repositories that are commented out on a default install of Ubuntu 6.06 LTS.

  • First, save your original sources.list file.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.orig
  • Now make the changes to uncomment all respositories listed in the sources.list file.
sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list
  • Make apt aware of the new software repositories by issuing the following command:
sudo apt-get update
  • Done! The new software repositories should now be available for use.

Suggestions & Recommendations

  • It is always a good idea to back up configuration files like /etc/apt/sources.list before you begin editing. You can then revert your changes if needed. If things go badly wrong, head over to http://www.ubuntulinux.nl/source-o-matic and let the script create a new sources.list file for you.
  • If you decide to add other repositories to sources.list, make sure that the repository is meant to work (and known to work) with Ubuntu. Repositories that are not designed to work with your version of Ubuntu can introduce inconsistencies in your system and might force you to re-install. Also, make sure that you really need to add external repositories as the software package(s) you are looking for may already have been introduced into the official repositories!
  • Please keep in mind that it may not be legal to enable some non-Ubuntu software repositories in some countries.
  • You may be asked enter a security key when adding a non-Ubuntu repository to your sources. See Managing Authentication Keys for instructions.
  • Remember to retrieve updated package lists by issuing a sudo apt-get update when you're done editing sources.list.

Further Reading