人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: torimaki
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

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


1 ● a-kuma3
ベストアンサー

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

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

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

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



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

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

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

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



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

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

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

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

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

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

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

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

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

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

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


torimakiさんのコメント
a-kuma3さん ご回答、ありがとうございます。 一般的にパソコン(Mac)を使っていて、ファイルにはファイルの、フォルダにはフォルダのアイコンがあるので、なんとなくですけれど、両者にはカタチがあるっぽいんです。 その点、レポジトリというのは、抽象的でした。 そういうとき、ことば自身のコンセプトに触れてみると良いというご指摘は、とても参考になります。おりにふれて、ほかにも活かしていきたいと、おもいます。 仕組みはさておき、Gitの意味あいは、なんとなく分かります。 (ぼくは職業外ですけれど、おそらく)きょうどうでプログラム開発するさいに、おっしゃるとおり、トラブルのさいに、どの時点に原因があるのか立ち返ったりできそうです。 それにくらべるとyumはわかりにくいんです。先の質問でも書いたとおもいますけれど「最新のOSやアプリをつかえば、それですむよね。どういう意味あいが、あるんだろう」という認識でした。 「最新のバージョンが、バグっぽかったり、古い機種で動かなかったり 別のツールと組み合わせるときに、動作確認が取れている組合せがある など、古いバージョンが欲しいとき、というのもあります」 なるほど、なるほど。Gitをつかう必然性とちょっと似ているんですね。ただしきょうどう作業のGitに対して、LinuxはパソコンのなかにあるOSというイメージがあるので、そのへんが、つかみにくかったのかもしれません。 「手元にないプログラムをインストールするのに使いますから、普通はレポジトリはリモートにあります。でも、ネットにつなげないところに yum の環境を作りたい、というような場合にはローカルのディスクにレポジトリを置くこともできます。」 このへんも参考になります。いったいレポジトリは、どこにあるんだろうというふうに、おもっていましたから、はい。

a-kuma3さんのコメント
>> いったいレポジトリは、どこにあるんだろうというふうに、おもっていましたから << 具体的には、こんな感じになってます。 http://kazmax.zpp.jp/linux_beginner/yum_repository.html 普通の使い方で必要になりそうなレポジトリは、あらかじめ定義がされています。

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

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ