ステージング環境を使用したローカル適切なストレージの作成

ステージング環境を使用したローカル適切なストレージの作成

私は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地獄に耐えることはできません。

関連情報