さいきんLinuxやGitをつかいはじめたのですが...なかなかリポジトリーのイメージがつかめません。


いままでMacを普通につかっていましまして。インストール、ファイル、フォルダなどは、しぜんに使っていたのですが、なかなかリポジトリーというものに出会う機会はありませんでした。

リポジトリーについて、わかりやすく解説していただけると、たすかりまーす。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2017/01/10 09:43:21
id:torimaki

とくに「バージョン管理」という概念がうまくつかめません。たとえばMacですと、最新のバージョンのものを使えばよいだけのハナシであって...

ベストアンサー

id:a-kuma3 No.1

回答回数4969ベストアンサー獲得回数2152

ファイルやフォルダ(ディレクトリ)に比べて、「リポジトリ」は、こういうものにつけられる名称である、という定義が無いので、あくまでも「○○の世界で言うレポジトリとは、こういうものだ」ということになります。
とはいえ、造語ではなく一般的な英単語が当てられる場合には、その単語のイメージが近いと思って良いと思います。

貯蔵所、倉庫、納骨堂、埋葬所、宝庫、打ち明けられる人

repositoryの意味 - 英和辞典 Weblio辞書

どこにあるか(ローカルディスクとか、ネットワークの向こうとか)、とか、どんな形で格納されていいるかはあまり気にしなくて良くて、何かしらのデータを格納、取り出しできるところくらいの認識で良いと思います。



Git は、「バージョン管理システム(VCS)」のひとつです。
プログラムのソースなどを、どのように変更していったのかという情報(履歴)をまるっと格納してくれます。
コミットするときのログやタグ、ブランチを切ったりした情報なども格納されてます。

変更の履歴を後でたどることができる、ということは、

  • いつのころからか正しく動かなくなっているのだけれど、あのとき動いてたものを手に入れられる
  • 障害の原因となるコードを、いつ、どんな目的で入れてしまったのか

のように、プログラムを開発するうえで助けになることがあります。

自分の作業用のレポジトリはローカルのディスクにあって、リモートのレポジトリは複製(clone や fork)で使うのが普通です。



"Linux" とあるのは yum のことを指してますよね、きっと。
yum のレポジトリは、プログラムをインストールするためのファイルの固まり(RPM ファイル)と、それがどこにあるかなどを書いている .repo ファイルのセットになります。

何とかというツールがどこのサイトに置いてある、ということをあまり意識せずに、メジャーどころはどこに置いてあるというようなことを隠してくれています。

手元にないプログラムをインストールするのに使いますから、普通はレポジトリはリモートにあります。
でも、ネットにつなげないところに yum の環境を作りたい、というような場合にはローカルのディスクにレポジトリを置くこともできます。

最新のバージョンのものを使えばよいだけのハナシであって...

で済む場合は良いんですが、

  • 最新のバージョンが、バグっぽかったり、古い機種で動かなかったり
  • 別のツールと組み合わせるときに、動作確認が取れている組合せがある

など、古いバージョンが欲しいとき、というのもあります。

yum の場合は「バージョン管理」という単語に触れるときは、以下のようなケースかと思います。

  • いま、インストールされているこいつのバージョンはなんだろう
  • あいつの古いバージョンはどこにあるだろう

後者は、先ほど触れたようにレポジトリに情報がありますが、前者は、RPMデータベースというところに情報が格納されていて yum のレポジトリには含まれていません。

とくに「バージョン管理」という概念がうまくつかめません。

Git の場合は、ファイルの履歴と差分(どう変更したか)の格納と取り出しです。
git clone することもありますが、何がどう変わったかを自分が積極的に行います。

yum の場合は、どのファイル(ツール)のどのバージョンがどこに置いてあって、それを取り出す、がバージョン管理にあたるでしょうか(どれをインストールしたか、もかな)。
変更されるものは誰かがどこかに置いといてくれたものを、自分では取り出すだけになります。

他1件のコメントを見る
id:a-kuma3

いったいレポジトリは、どこにあるんだろうというふうに、おもっていましたから

具体的には、こんな感じになってます。
http://kazmax.zpp.jp/linux_beginner/yum_repository.html

普通の使い方で必要になりそうなレポジトリは、あらかじめ定義がされています。

2017/01/09 19:38:32
id:torimaki

貼っていただいたサイト、チェックしました。ありがとうございまーす。
ウェッブサーバー、FTPサーバー、それからローカルにも置けるんですね。

2017/01/09 20:55:39

その他の回答0件)

id:a-kuma3 No.1

回答回数4969ベストアンサー獲得回数2152ここでベストアンサー

ファイルやフォルダ(ディレクトリ)に比べて、「リポジトリ」は、こういうものにつけられる名称である、という定義が無いので、あくまでも「○○の世界で言うレポジトリとは、こういうものだ」ということになります。
とはいえ、造語ではなく一般的な英単語が当てられる場合には、その単語のイメージが近いと思って良いと思います。

貯蔵所、倉庫、納骨堂、埋葬所、宝庫、打ち明けられる人

repositoryの意味 - 英和辞典 Weblio辞書

どこにあるか(ローカルディスクとか、ネットワークの向こうとか)、とか、どんな形で格納されていいるかはあまり気にしなくて良くて、何かしらのデータを格納、取り出しできるところくらいの認識で良いと思います。



Git は、「バージョン管理システム(VCS)」のひとつです。
プログラムのソースなどを、どのように変更していったのかという情報(履歴)をまるっと格納してくれます。
コミットするときのログやタグ、ブランチを切ったりした情報なども格納されてます。

変更の履歴を後でたどることができる、ということは、

  • いつのころからか正しく動かなくなっているのだけれど、あのとき動いてたものを手に入れられる
  • 障害の原因となるコードを、いつ、どんな目的で入れてしまったのか

のように、プログラムを開発するうえで助けになることがあります。

自分の作業用のレポジトリはローカルのディスクにあって、リモートのレポジトリは複製(clone や fork)で使うのが普通です。



"Linux" とあるのは yum のことを指してますよね、きっと。
yum のレポジトリは、プログラムをインストールするためのファイルの固まり(RPM ファイル)と、それがどこにあるかなどを書いている .repo ファイルのセットになります。

何とかというツールがどこのサイトに置いてある、ということをあまり意識せずに、メジャーどころはどこに置いてあるというようなことを隠してくれています。

手元にないプログラムをインストールするのに使いますから、普通はレポジトリはリモートにあります。
でも、ネットにつなげないところに yum の環境を作りたい、というような場合にはローカルのディスクにレポジトリを置くこともできます。

最新のバージョンのものを使えばよいだけのハナシであって...

で済む場合は良いんですが、

  • 最新のバージョンが、バグっぽかったり、古い機種で動かなかったり
  • 別のツールと組み合わせるときに、動作確認が取れている組合せがある

など、古いバージョンが欲しいとき、というのもあります。

yum の場合は「バージョン管理」という単語に触れるときは、以下のようなケースかと思います。

  • いま、インストールされているこいつのバージョンはなんだろう
  • あいつの古いバージョンはどこにあるだろう

後者は、先ほど触れたようにレポジトリに情報がありますが、前者は、RPMデータベースというところに情報が格納されていて yum のレポジトリには含まれていません。

とくに「バージョン管理」という概念がうまくつかめません。

Git の場合は、ファイルの履歴と差分(どう変更したか)の格納と取り出しです。
git clone することもありますが、何がどう変わったかを自分が積極的に行います。

yum の場合は、どのファイル(ツール)のどのバージョンがどこに置いてあって、それを取り出す、がバージョン管理にあたるでしょうか(どれをインストールしたか、もかな)。
変更されるものは誰かがどこかに置いといてくれたものを、自分では取り出すだけになります。

他1件のコメントを見る
id:a-kuma3

いったいレポジトリは、どこにあるんだろうというふうに、おもっていましたから

具体的には、こんな感じになってます。
http://kazmax.zpp.jp/linux_beginner/yum_repository.html

普通の使い方で必要になりそうなレポジトリは、あらかじめ定義がされています。

2017/01/09 19:38:32
id:torimaki

貼っていただいたサイト、チェックしました。ありがとうございまーす。
ウェッブサーバー、FTPサーバー、それからローカルにも置けるんですね。

2017/01/09 20:55:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません