ククログ

株式会社クリアコード > ククログ > OSDNのファイルストレージ機能を使ってAPTリポジトリやYUMリポジトリを作成する方法

OSDNのファイルストレージ機能を使ってAPTリポジトリやYUMリポジトリを作成する方法

OSDNのファイルリリース機能をAPI経由で使うにはという記事では、APTリポジトリやYUMリポジトリをOSDNでは作成できないと紹介していましたが、少し前にニュース: rsync, scp, sftpで操作する新ファイルストレージ機能を追加 - OSDN運営・管理 - OSDNで、rsyncコマンドでファイルのアップロードができるようになったことを知ったので試してみました。

FileStorage_Guide - OSDN ヘルプ - OSDNドキュメント管理 - OSDNにも使い方が書かれているので参考にしてください。

sourceforge.netに既に構築されているAPTリポジトリやYUMリポジトリをosdn.netにも作ってみました。 既に構築されているリポジトリを対象にするので、APTリポジトリやYUMリポジトリの作成方法については割愛します。

まず、sourceforge.net側からAPTリポジトリとYUMリポジトリを丸ごとダウンロードします。 例えば、以下のようなコマンドを実行します。詳細はsourceforge.netのドキュメント等を参照してください。

$ rsync -avz --progress --delete username@frs.sourceforge.net:/home/frs/project/c/cu/cutter/debian/ ./debian/
$ rsync -avz --progress --delete username@frs.sourceforge.net:/home/frs/project/c/cu/cutter/centos/ ./centos/

Cutterの場合は、debian以下にDebian用のAPTリポジトリ、centos以下にCentOS用のYUMリポジトリを作成していました。

あとは、そのままOSDNにアップロードすればOSDNの豊富なグローバルミラーネットワークでファイルを配布することができます。

Cutterの場合は以下のようにしました。初回の作業だったので手でコマンドを実行しました。

$ rsync -avz --progress ./debian/ username@storage.osdn.net:/storage/groups/c/cu/cutter/debian/
$ rsync -avz --progress ./centos/ username@storage.osdn.net:/storage/groups/c/cu/cutter/centos/

この場合、APT lineは以下の通りです。

deb https://osdn.net/projects/cutter/storage/debian/ stretch main
deb-src https://osdn.net/projects/cutter/storage/debian/ stretch main

また、ウェブブラウザから https://osdn.net/projects/cutter/storage/ にアクセスして確認することもできます。

このようにして作成したAPTリポジトリYUMリポジトリ1からパッケージをインストールできることを確認しました。

なお、自動化したスクリプトやウェブサイトの移行についてはhttps://github.com/clear-code/cutter/pull/37で進めています。

  1. YUMリポジトリのセットアップはcutter-releaseというパッケージ経由で行うのが楽なので、CentOSユーザーはCutterの次のバージョンがリリースされるのを待つのが良いでしょう