web-dev-qa-db-ja.com

ppaリポジトリを/etc/apt/source.listに追加できますか?

Sudo add-apt-repository '<deb url codename component>'により、リポジトリが/etc/apt/source.listファイルに追加されます。

Sudo add-apt-repository ppa:<user>/<ppa-name>によって、すべてのppaリポジトリが/etc/apt/source.list.d dirに追加されることがわかりました。

$ ls /etc/apt/sources.list.d/
ferramroberto-sopcast-precise.list
ferramroberto-sopcast-precise.list.save
google-talkplugin.list
google-talkplugin.list.save
kalakris-okular-precise.list
kalakris-okular-precise.list.save
linrunner-thinkpad-extras-precise.list
linrunner-thinkpad-extras-precise.list.save
precise-partner.list
precise-partner.list.save
staticfloat-Julia-deps-precise.list
staticfloat-juliareleases-precise.list
staticfloat-juliareleases-precise.list.save
telepathy-ppa-precise.list
telepathy-ppa-precise.list.save
ubuntu-wine-ppa-precise.list
ubuntu-wine-ppa-precise.list.save
venerix-blug-precise.list
venerix-blug-precise.list.save
  1. 代わりに、/ etc/apt/source.listファイルの最後にppaリポジトリを追加できますか?

  2. PPAリポジトリが非PPAリポジトリと異なる方法で処理されるのはなぜですか?

  3. Ppaリポジトリと同様に扱われる他の非ppaリポジトリはありますか?

  4. Sudo add-apt-repository '<deb url codename component>'は、/ etc/apt/source.listまたは/etc/apt/source.list.dの下のいくつかのファイルにppaリポジトリを追加しますか?

12
Tim
  1. はい、PPAは/etc/apt/source.listに追加できます。Debian(deb)リポジトリと同様です。

    deb http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main 
    deb-src http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main
    

    WineHqの例: ppa debian repository link

  2. 物事をなんとか簡単に管理することだけを考えて、/etc/apt/source.listを公式リリースリポジトリのみに残します。追加のリポジトリはすべて/etc/apt/source.list.d/に移動します。簡単に:

    1. 追加(ファイルを作成してから既存のファイルを編集、重複を避けるための部分的な解決策)
    2. 削除(/etc/apt/source.listを解析して、関連する行を探します)
    3. バックアップ/復元(/etc/apt/source.list.d/フォルダーの圧縮アーカイブを使用)
    4. /etc/apt/source.listをターゲットとする多くの編集で物事を壊さないようにします
  3. PPAは、/etc/apt/source.list.d/形式で記述された場合、常にppa:<user>/<ppa-name>フォルダーに追加されます。

    参照:man add-apt-repository

    REPOSITORY STRING
           REPOSITORY can  be  either  a  line  that  can  be  added  directly  to
           sources.list(5),  in the form ppa:<user>/<ppa-name> for adding Personal
           Package Archives, or a distribution component to enable.
    
           In  the   first   form,   REPOSITORY   will   just   be   appended   to
           /etc/apt/sources.list.
    
           In  the second form, ppa:<user>/<ppa-name> will be expanded to the full
           deb  line  of  the  PPA  and   added   into   a   new   file   in   the
           /etc/apt/sources.list.d/  directory.   The  GPG public key of the newly
           added PPA will also be downloaded and added to apt's keyring.
    
           In the third form, the given distribution component will be enabled for
           all sources.
    
  4. ショートカットが/etc/apt/sources.list.d/に移動するのはPPAのみのようです。 add-apt-repositoryまたはapt-add-repositoryはUbuntu固有のツールです。私が考えることができるのは、個人的なPPAを排除するというUbuntuの決定だけです。

    ただし、/etc/apt/sources.listのみを使用するように変更できます。これはpython3スクリプトです。 /usr/bin/add-apt-repository行を変更します。

    shortcut = shortcut_handler(line)
    

    ppaショートカット形式をdeb行形式に解決するには、以下のコードに置き換えてください。

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    
11
user.dz