チケット #35773

シェルサーバからリリース公開する手段

登録: 2015-11-22 23:09 最終更新: 2017-09-22 17:30

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

いつもいくつかのプロジェクトで活用させていただいています。

さて、最近 SourceForge(.net) の不満から個々のサーバでファイル公開する動きが世界的に発生していて、 そのうち欧米しかサーバが存在せず、日本を含むアジアユーザーがダウンロードする事で時間を要する事から OSDN へファイルを置いてミラーサーバにしたい相談をいくつか受けています。

プロジェクトとしてはすでにファイルサーバが存在するため、 それをシェルサーバのコマンドで同期を行う事は事実上可能ですが、それを行った上で、 プロジェクトページのダウンロード/リリースに加える事は可能でしょうか? またはシェルサーバで取得したファイルをそのままホームページ上からの公開を行って問題ないでしょうか?

Linux ディストリビューションでの相談なので、ISO ファイルとリボジトリで数〜数十 GB になる事が想定されます。

よろしくお願いいたします。

チケットの履歴 (9 件中 3 件表示)

2015-11-22 23:09 更新者: balloon
  • 新しいチケット "シェルサーバからリリース公開する手段" が作成されました
2015-11-24 15:13 更新者: ishikawa
  • 解決法なし から 受領 に更新されました
コメント

balloon への返信

プロジェクトとしてはすでにファイルサーバが存在するため、 それをシェルサーバのコマンドで同期を行う事は事実上可能ですが、それを行った上で、 プロジェクトページのダウンロード/リリースに加える事は可能でしょうか?

現状はファイルリリースへの追加に関しては なんらかのWebページ上での操作が必須になってしまいますので、解答としては「基本的にはできません」となります。

ただ、このあたりに関しては非インタラクティブな管理操作ができるようになんらかの仕組みを用意する予定があります。現時点でいつ公開ということは明言はできませんが 公開に向けての作業は進めています。

またはシェルサーバで取得したファイルをそのままホームページ上からの公開を行って問題ないでしょうか?

ネットワークの帯域的な問題およびファイルシステムリソース的な問題が発生しますので、プロジェクトWeb上でのファイルの配布はご遠慮いただいています(逆にいいますと それらの問題が起きないようにミラーを配置して分散をはかっているのが 現状のファイルリリースシステムですので そちらをご利用ください)

Linux ディストリビューションでの相談なので、ISO ファイルとリボジトリで数〜数十 GB になる事が想定されます。

シェルサーバ上にそれらの大量のファイルを設置するは避けてください

現状ファイルリリース、シェルサーバのホームおよびレポジトリ等に関しまして 技術的には容量の制限は設けていません。ただし、現状サービスとして制限を設けない範囲で対処できている状況にあるので 厳格な制限を設けるより自由度を持って利用していただく方がいいであろうという判断のもとに こうなっています。

ディスクリソース/ネットワークリソースともに有限ですし 無限に利用可能なわけではございませんので、現状の制限を設けていない状況でのサービス提供が困難になる状況が発生する事態になってきた場合や他のプロジェクトの利用と比較して極端に大量のリソースを消費してサービスとしてのバランスにかくような事態が発生してきたような場合には 事前にご連絡してファイルリリース等のファイルの整理をお願いする場合がございます。また、継続的にそういう状況が続くと判断される事態になった場合には なんらか一定の制限を導入しなければならない可能性もございます。

全体で 数十GB 程度のファイルリリースの利用に関しては他にも利用例がございますので 現時点では問題はございませんが そこから継続的に増えていくようであれば ご一考ください。

2016-03-30 03:26 更新者: kenhys
コメント

関連しているように思うので、ここにぶらさげます。

sf.netでdebやrpmのリポジトリを置いていたプロジェクトの場合、現状osdn.jpへの移行は勧められないということになるのでしょうか。

以下こういう理解でいるのですがあっていますでしょうか。

  • ファイルリリース(Web画面の操作)ではリポジトリを置くケースを仕組み上サポートしていない
  • https://osdn.jp/projects/osdn-codes/wiki/CommandLineInterface も↑は想定していないので同様にサポートしていない
  • プロジェクトWebであればリポジトリを置くことはできる。ただし、ファイルリリースシステムの範囲外なのでミラーされないし、リソース上の問題をはらんでしまう

↑があっているとして、将来的にそのあたりをうまくサポートするような仕組みが導入されたりする見込みはありそうでしょうか。

2016-03-30 18:29 更新者: ishikawa
コメント

kenhys への返信

関連しているように思うので、ここにぶらさげます。 sf.netでdebやrpmのリポジトリを置いていたプロジェクトの場合、現状osdn.jpへの移行は勧められないということになるのでしょうか。

このあたりは以前からなにか手はないかという話は管理側でも出ていますが、 妙案もなく 現状に関していいますと 残念ながら 主に技術的な問題から yes です。

apt や yam のレポジトリに関してはいわいるファイルシステム的な多層構造を 念頭においた管理を前提(とまではいわないまでも そうした構造をとったほうが 明らかに管理の面倒がない)としています。

それに対して osdn.jp のファイルリリースは パッケージ/リリース/ファイルという 3層構造しかとれませんし、それに対応する url の構造も apt や yam での利用には 適しません。

以下こういう理解でいるのですがあっていますでしょうか。 * ファイルリリース(Web画面の操作)ではリポジトリを置くケースを仕組み上サポートしていない

最終のダウンロードページに関してはサーバ側で user-agent ベースで ダウンロードページの html ではなく、直接ミラーサーバに redirect するような挙動をするようにしてあります。

この部分に今は例えば apt の user-agent は登録されていませんが、これを登録したとすれば 全く不可能ではない とは思います(ちょっとここは厳密には検証していません。時間があるときに 簡単な実験はしてみる予定です)。

ただし、ファイルリリースに関しては apt のレポジトリ等を認識してなにかするような機能等 特にあるわけではないので、ローカルで作成した Packages 等を適切に配置されるように 自分で工夫して置く必要がでてきますので おそらく管理上かなり手間が発生するものと 思われるので、ユーザフレンドリーか(パッケージレポジトリ管理者のオペレーションと してやりやすいか) というと NO です。

また、今は apt を念頭に書きましたがその他のパッケージレポジトリに関しても同様で、 ケースバイケースでできる場合もあるとは思いますが、おそらく使いづらいものと思われます。

* https://osdn.jp/projects/osdn-codes/wiki/CommandLineInterface も↑は想定していないので同様にサポートしていない

これは ファイルリリースのAPIを利用するサンプル実装の一つですので、ファイルリリースの 機能そのものを利用するものでなにかそれを直接的に拡張するようなものではありません。

従いまして、さきほどのファイルリリースのお話と同様ということになります。

ただし、これも前述しましたが 構造上おそらく apt 等の一部のレポジトリ構造に関しては 配置と管理方法を工夫すれば利用可能ではあろうと思いますので、ファイルリリースのAPIを 利用して、その工夫の手間を減らすようなツールを自分で書くことは可能かとは思います。

* プロジェクトWebであればリポジトリを置くことはできる。ただし、ファイルリリースシステムの範囲外なのでミラーされないし、リソース上の問題をはらんでしまう

yes です。その形式の利用は 基本的には許可できませんのでご遠慮ください。

↑があっているとして、将来的にそのあたりをうまくサポートするような仕組みが導入されたりする見込みはありそうでしょうか。

さきほども書きましたが このあたりは何度か開発/管理チームでも話には出ています。 その上で、妙案がないまま 現在にいたっています。

2016-03-31 18:45 更新者: ishikawa
コメント

ishikawa への返信

* ファイルリリース(Web画面の操作)ではリポジトリを置くケースを仕組み上サポートしていない

最終のダウンロードページに関してはサーバ側で user-agent ベースで ダウンロードページの html ではなく、直接ミラーサーバに redirect するような挙動をするようにしてあります。 この部分に今は例えば apt の user-agent は登録されていませんが、これを登録したとすれば 全く不可能ではない とは思います(ちょっとここは厳密には検証していません。時間があるときに 簡単な実験はしてみる予定です)。

これを確認してみましたが 結論からいうと 少なくとも apt に関しては現状ダメでした。

osdn.jp は(ごく一部をのぞいて) サイト全体のアクセスに基本的に https を利用しています(http での アクセスはできません)

ですが、ダウンロードの最終段階(各ミラーサーバから実際にダウンロードが行われる状況)には http アクセスが利用されます(証明書の管理上の問題があるので この部分は当面変更できません)

そのため https -> http のredirect がどうしても発生することになりますが apt-transport-https は この種の redirect を無視するようになっています。

従って、ファイルの所得そのものがいっさいできないので 機能しませんでした。

2016-04-01 15:02 更新者: kenhys
コメント

従って、ファイルの所得そのものがいっさいできないので 機能しませんでした。

調査ありがとうございます。 sourceforgeで起きていたことと、たぶん同じですね。(https->httpへのredirect) ref. https://sourceforge.net/p/forge/site-support/12143/

どうにか配置と管理方法で回避できないかということで

  • 1. ファイルリリースではリリース名でサブディレクトリの階層を区別させるようにしてアップロードしておく
  • 2. プロジェクトWebでは、.htaccessによるrewriteを行い、ファイルリリースのURLにとばす
  • 3. aptでは2.と1.の組み合わせであたかもプロジェクトWebにまるごとリポジトリが配置されているかのようにインストールできる

という手段を考えてみたのですが、↑という回避策はとれないことになりますね。調査していただいたように、最終的なダウンロード先に行く時に失敗するので。  うーん、これはつらい。

2016-04-01 15:08 更新者: kenhys
コメント

という手段を考えてみたのですが、↑という回避策はとれないことになりますね。調査していただいたように、最終的なダウンロード先に行く時に失敗するので。  うーん、これはつらい。

メモ:実際にやってみると以下のようになる。

  Err https://cutter.osdn.jp/repos/debian/ jessie/main libcutter0 amd64 1.2.5-1
    Protocol "http" not supported or disabled in libcurl
2016-04-06 16:32 更新者: sado
コメント

Reply To kenhys

メモ:実際にやってみると以下のようになる。 {{{ Err https://cutter.osdn.jp/repos/debian/ jessie/main libcutter0 amd64 1.2.5-1 Protocol "http" not supported or disabled in libcurl }}}

httpでもアクセス可能にすればこの問題は解消しますし、それを可能にすることには運営サイドとしては異存はないのですが、DLをhttpsと両方可とするにはそれなりのコードの変更が必要なのでしばらくお時間をください。

2017-09-22 17:30 更新者: ishikawa
  • チケット完了時刻2017-09-22 17:30 に更新されました
  • 状況オープン から 完了 に更新されました
  • 解決法受領 から 修正済み に更新されました
コメント

balloon への返信

いつもいくつかのプロジェクトで活用させていただいています。 さて、最近 SourceForge(.net) の不満から個々のサーバでファイル公開する動きが世界的に発生していて、 そのうち欧米しかサーバが存在せず、日本を含むアジアユーザーがダウンロードする事で時間を要する事から OSDN へファイルを置いてミラーサーバにしたい相談をいくつか受けています。 プロジェクトとしてはすでにファイルサーバが存在するため、 それをシェルサーバのコマンドで同期を行う事は事実上可能ですが、それを行った上で、 プロジェクトページのダウンロード/リリースに加える事は可能でしょうか?

https://osdn.net/projects/sourceforge/news/25232

https://osdn.net/projects/sourceforge/news/25286

まだベータ公開状態ですが osdn.net に実装した API を利用するとコマンドラインからのファイルリリースへのアップロードが 可能です(実際に、それを利用してリリースを行っているプロジェクトがあります)

いったんこのチケットは閉じさせていただきます。

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする