私はrepreproを使って適切なリポジトリを作成しようとしています。ほとんどの場合、非常に簡単です。私はステージングツリーの構造が好きで、この記事を参考資料として使ってきました。
http://vincent.bernat.im/en/blog/2014-local-apt-repositories.html
しかし、私は非常に簡単なことを理解できないようです。以下の記事の conf/distributions の例を使用すると、パッケージをインポートするときは常にデフォルトに移動するという事実が混乱しています。 Precision-stagingとPrecision-prodというディレクトリはありませんか?私が望むのは、テストされていないパッケージと本番用の他のパッケージを同じリポジトリに配置する別の場所を持つことです。 (/opt/packages/pool/trusty-prod,/opt/packages/pool/trusty-stage)
人形を使用して、/etc/apt/sources.list.d/ を使用して、必要に応じてクライアントにこれらのいずれかを指すことができます。
この記事を完成または理解する方法をまったく知りませんか?
Dailymotion Precise packages (staging)
Origin: Dailymotion
Label: dm-staging
Suite: precise-staging
Codename: precise-staging
Architectures: i386 amd64 source
Components: main role/dns role/database role/web # ➊
Description: Dailymotion Precise staging repository
Contents: .gz .bz2
Tracking: keep
SignWith: yes
NotAutomatic: yes # ➋
Log: packages.dm-precise-staging.log
--type=dsc email-changes
Dailymotion Precise packages (prod)
Origin: Dailymotion # ➌
Label: dm-prod # ➌
Suite: precise-prod
Codename: precise-prod
Architectures: i386 amd64 source
Components: main role/dns role/database role/web # ➊
Description: Dailymotion Precise prod repository
Contents: .gz .bz2
Tracking: keep
SignWith: yes
Log: packages.dm-precise-prod.log
答え1
4つのステップで簡単なリポジトリを自分で設定します
1. dpkg-devのインストール
2.パッケージをディレクトリに配置します
。 3.パッケージを検索するスクリプトを作成し、apt-get updateが読み取ることができるファイルを作成します
。 4. source.listに行を追加し、リポジトリをポイントします。
dpkg-devのインストール
端末に入力
sudo apt-get install dpkg-dev
目次
パッケージを保存するディレクトリを作成します。この例では、次を使用します。
/usr/local/mydebs.
sudo mkdir -p /usr/local/mydebs
今作成したディレクトリにパッケージを移動します。
以前にダウンロードしたパッケージは通常、システムの/var/cache/apt/archivesディレクトリに保存されます。 apt-cacherをインストールした場合は、/ packagesディレクトリに追加のパッケージが保存されます。
スクリプトの更新 - mydebs
これは簡単な3行です。
#! /bin/bash
cd /usr/local/mydebs
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
上記の内容を切り取り、geditに貼り付けて〜/ binにupdate-mydebsとして保存します。 (チルダ「〜」はホームディレクトリを表します。〜/ binが存在しない場合は新規作成します。UbuntuはそのディレクトリをPATHに配置します。これはプライベートスクリプトを配置するのに最適な場所です。)次にスクリプトを実行します。可能にします。
chmod u+x ~/bin/update-mydebs
スクリプトの仕組み:dpkg-scanpackagesは、mydebsのすべてのパッケージを調べて出力を圧縮し、apt-get updateが読み取ることができるファイル(Packages.gz)に書き込みます(詳細については、以下を参照)。 /dev/null は空のファイルです。この場合、実際には不要なパッケージに関する追加情報を含むオーバーレイファイルを置き換えます。これについて知りたい場合は、deb-override(5) をご覧ください。
ソース、リスト
行を追加
deb file:/usr/local/mydebs ./
/etc/apt/sources.list に追加すると完了です。
ディスクオプション
debを含むディレクトリをCDに書き込んでリポジトリとして使用できます(コンピュータ間の共有に最適)。 CD をリポジトリとして使用するには、次を実行します。
sudo apt-cdrom add
ストレージの使用
mydebs ディレクトリに新しい deb を置くたびに、以下を実行します。
sudo update-mydebs
sudo apt-get update
Synaptic、aptitude、aptコマンド(apt-get、apt-cacheなど)を使用してローカルパッケージを操作できるようになりました。 apt-getのインストールを試みると、依存関係が満たされている限り、すべての依存関係が解決されます。
誤って作成されたパッケージの作成は失敗する可能性がありますが、dpkg地獄に耐えることはできません。