特殊:Badtitle/NS100:Repositories/CommandLine:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Oneleaf留言 | 贡献
无编辑摘要
Oneleaf留言 | 贡献
无编辑摘要
第5行: 第5行:




https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=terminal.png This page describes how to manage software [[UbuntuHelp: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 ahttps://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png l versions of Ubuntu.
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=terminal.png This page describes how to manage software [[UbuntuHelp: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.


https://help.ubuntu.com/community/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+%5B%5BUbuntuHelp%3ANanoHowto%7Cnano%5D%5D.
https://help.ubuntu.com/community/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 [[UbuntuHelp:NanoHowto|nano]].
'''Using the graphical interface to manage software repositories is recommended''', see [[UbuntuHelp:../Ubuntu|Managing Repositories in Ubuntu]] or [[UbuntuHelp:../Kubuntu|Kubuntu]] instead.
'''Using the graphical interface to manage software repositories is recommended''', see [[UbuntuHelp:../Ubuntu|Managing Repositories in Ubuntu]] or [[UbuntuHelp:../Kubuntu|Kubuntu]] instead.


第16行: 第16行:
/etc/apt/sources.list</nowiki></pre>
/etc/apt/sources.list</nowiki></pre>


By ehttps://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png and line, we https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png+%27%27%27Note%3A%27%27%27+It%27s+always+a+good+idea+to+backup+a+configuration+file+like+%27%27%27sources.list%27%27%27+before+you+edit+it.+To+do+so%2C+issue+the+following+command%3A.list''' before you edit it. To do so, issue the following command:
By editing this file from the command line, we can add, remove, or temporarily disable software repositories.
 
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png '''Note:''' It's always a good idea to backup a configuration file like '''sources.list''' before you edit it. To do so, issue the following command:
  <pre><nowiki>
  <pre><nowiki>
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
第76行: 第78行:
deb http://archive.ubuntu.com/ubuntu dapper-security universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-security universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper-security universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper-security universe multiverse
deb https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=ghttps://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png+If+you+want+to+enable+only+Universe+but+not+Multiverse%2C+delete+the+word+%27multiverse%27+from+the+lines.rse
deb http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse
</nowiki></pre>
</nowiki></pre>


https://help.ubuntu.com/community/Repositories/CommandLine?action=AttachFile&do=get&target=IconsPage%2Feyes.png If you want to enable only Universe but not Multiverse, delete the word 'multiverse' from the lines.
https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png If you want to enable only Universe but not Multiverse, delete the word 'multiverse' from the lines.
 
Once you are satisfied with your choices, save the file. Now, retrieve the updated package lists from the newly added repositories by issuing the following command:


Once you are satisfied with your choices, save the file. Now, retrieve the updated package lists from the newly added repositories by issuing the fohttps://help.ubuntu.com/community/IconsPage?action=AttachFilhttps://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=warning.png+%27%27%27Note%3A%27%27%27+There+are+some+%28but+not+many%29+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+%28see+the+RestrictedFormats+page+for+examples%29.+You+might+want+to+add+repositories+that+offer+such+software.+Make+sure+that+%27%27%27all%27%27%27+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.is 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.
<pre><nowiki>
sudo apt-get update
</nowiki></pre>
 
'''Done!''' Your system is ready to install packages from the Universe and Multiverse repositories.
 
 
 
=== Adding Other Repositories ===
 
https://help.ubuntu.com/community/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.
----
----


第91行: 第106行:
* Add the line at the end of your '''sources.list''' and save the file.  
* Add the line at the end of your '''sources.list''' and save the file.  


* Next, make apt awarehttps://help.ubuntu.com/cohttps://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=eyes.png+This+section+is+directed+at+advanced+users. the following command:
* Next, make apt aware of the new software repositories by issuing the following command:
  <pre><nowiki>
  <pre><nowiki>
sudo apt-get update
sudo apt-get update
</nowiki></pre>
</nowiki></pre>


* '''Done!''' The new software repositories should now be available https://help.ubuntu.com/community/Repositories/CommandLine?action=AttachFile&do=get&target=IconsPage%2Feyes.png Repositories with a (non-interactive) Script ===
* '''Done!''' The new software repositories should now be available for use.  
 
 
 
=== Enabling Repositories with a (non-interactive) Script ===


https://help.ubuntu.com/community/Repositories/CommandLine?action=AttachFile&do=get&target=IconsPage%2Feyes.png+This+section+is+directed+at+advanced+users.
https://help.ubuntu.com/community/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. <br> '''Example:''' You are creating a custom install script for an application that needs software packages from the Universe or Multiverse repositories. <br> What follows is a simple script that enables the extra repositories that are commented out on a default install of Ubuntu 6.06 LTS.
'''Problem:''' You are looking for a way to enable the extra repositories without any user input. <br> '''Example:''' You are creating a custom install script for an application that needs software packages from the Universe or Multiverse repositories. <br> What follows is a simple script that enables the extra repositories that are commented out on a default install of Ubuntu 6.06 LTS.

2007年5月14日 (一) 00:37的版本

{{#ifexist: :Repositories/CommandLine/zh | | {{#ifexist: Repositories/CommandLine/zh | | {{#ifeq: {{#titleparts:Repositories/CommandLine|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:Repositories/CommandLine|1|-1|}} | zh | | }}



IconsPage?action=AttachFile&do=get&target=terminal.png This page describes how to manage software UbuntuHelp: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 Managing Repositories in Ubuntu or Kubuntu instead.


Background Information

Ubuntu uses apt for package management. Apt stores a list of repositories or software channels in the file

/etc/apt/sources.list

By editing this file from the command line, we can add, remove, or temporarily disable software repositories.

IconsPage?action=AttachFile&do=get&target=eyes.png Note: It's always a good idea to backup a configuration file like sources.list before you edit it. To do so, issue the following command:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup


Typically, the contents of the /etc/apt/sources.list file may look something like this:

 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


Explanation of the Repository Format

  • All the lines beginning with one or two hashes (#) are comments and do not get read by apt or its front-ends apt-get, Synaptic, and Adept.
  • The lines without hashes are apt repository lines. The first two apt lines in our example are
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: These repositories contain binaries or precompiled packages. These repositories are required for most users.
    • deb-src: These repositories contain the source code of the packages. Useful for developers.
    • http://archive.ubuntu.com/ubuntu: The URI (Uniform Resource Identifier), in this case a location on the internet. See the official mirror list or the self-maintained mirror list to find other mirrors.
    • dapper is the release name or version of your distribution.
    • main & restricted are the section names or what components. There can be several section names, separated by spaces.


Adding the Universe and Multiverse Repositories

Additional software repositories such as what Universe and Multiverse can be enabled by uncommenting the corresponding apt line (i.e. delete the '#' at the beginning of the line). In our example, we would uncomment the following lines:

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

and, if security fixes and updates are enabled for Main and Restricted, we'd also add the following lines, to make sure we get upgrades for our Universe and Multiverse packages (not doing so may result in version mismatch when installing or upgrading packages):

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 If you want to enable only Universe but not Multiverse, delete the word 'multiverse' from the lines.

Once you are satisfied with your choices, save the file. Now, retrieve the updated package lists from the newly added repositories by issuing the following command:

sudo apt-get update

Done! Your system is ready to install packages from the Universe and Multiverse repositories.


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