アプリ版:「スタンプのみでお礼する」機能のリリースについて

dpakgとapt-getコマンドの使用方法の違いをおしえてください
どちらもパッケージ管理ツールという認識でよいのでしょうか?

A 回答 (5件)

Debianを日頃使っている者の意見としては、


dpkgはパッケージ管理ソフト。
apt-getはdpkgを操作するソフト。
aptitudeや、ほかGUIソフトは、apt-getを操作するソフト。
といえばわかりやすいでしょうか。
apt-getや、aptitudeがdpkgに依存しているのは、つまりこういうことです。
より高次元(aptitude)になればなるほど、低次元(dpkg)で数手かかることを一手でできるようになったり、人間側に使いやすい操作になりますが、細かい作業ができなくなります。
たとえば、apt-getは、dpkgのできない依存関係からまとめてインストール。をできますが、
依存関係無視で無理やりインストールとか、個々のパッケージのインストール環境情報とかはわからなかった気がします。
でも、GUI系のパッケージ管理ソフトでパッケージ管理とか、めちゃくちゃ面倒くさいですよ。
たとえば、リポジトリ過追加や、sidパッケージによる依存関係破綻なんかでは、
aptitudeは、より簡潔にするため、回避方法を自動で縛られたりすることがあります。また、インストールしていないパッケージの関係が破綻しているからといってエラーを永遠吐くこともありました。
もちろん、こういう時は、apt-getやdpkgで回避して、それからまたaptitudeを使えばいいんですが。

個人のおすすめとしては、apt-getを普段使うようにしていたほうがいいと思います。
これでほとんどのことはできますし、数手かかること、たとえば、毎週アップグレード確認してアップグレードしてログ取りをしなさい、エラーなら報告すること!、とかならスクリプトを書いて、cronで回せばいいことですし。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

>Debianを日頃使っている者の意見としては、
>dpkgはパッケージ管理ソフト。
>apt-getはdpkgを操作するソフト。
>aptitudeや、ほかGUIソフトは、apt-getを操作するソフト。

とてもわかりやすかったです。
頭の中が整理できました、ありがとうございます。

お礼日時:2012/01/27 14:11

Linuxでは多様なソフトウェアを、自由に組み合わせることが可能ですが


たとえば、膨大なワインの種類の中から、適したものをソムリエが選んでくれるように
DebianやRedHatのような組織が、ディストリビューションとして
動作検証された組合せで提供しています。


dpkgは、Debianで開発された技術で、deb形式のパッケージと対となります。
(RedHat系にはrpm形式とrpmコマンド、それにyumなどが用意されています)

ディレクトリーの管理ルールや、サーバーなどの自動実行の設定などについて
debパッケージから導入することで、システム設定との整合を得ることができます。

インストールだけでなく、たとえばdpkg -l bashで、bashのバージョンを知ることができます。
dpkg -l|wc -lの数字は導入済みのパッケージの数と解釈していいんだっけ?


まぁ、うちは2458パッケージが入っているようなんですが、これらの依存関係を
手作業で管理することは困難です。そのために生まれたのがaptという技術です。


動作検証されたバージョンを揃えたディストリビューションの中で
あるソフトが最新版になるためには、同時に最新版が求められるライブラリーがあることもあります。

そういった依存関係を、aptは管理してくれます。


deb,aptの技術の上で、さらにGUI化されたSynapticなどのツールもありますし
CLIではなく、CUIでの管理を提供するaptitudeというツールもあります。

aptitudeのCUIは、GUIを入れていないサーバーなどの管理に便利で
一覧から自動インストールされたパッケージを識別することもできますし
特定パッケージをアップグレード対象外にすることもできます。

特殊な運用が必要なときに便利です。


aptitudeはCLIからの利用もできますから、インターネットの導入手順記事を見ると
apt-getやaptitudeでの操作がそのまま書かれていることもよくあります。
これをカットアンドペーストするだけで事足りることもよくあります。

ディストリや時期が違えば、パッケージ名が違うことはありますけどね。


反面、Amazon MP3のように、専用ツールをdeb形式で配布していることがあります。
こういうのは、ダウンロードしてきてdpkgで導入することになります。
ただし、ディストリビューションによっては、debをダブルクリックすれば
GUI上でインストール作業ができる場合もあります。

ソースからインストールする場合に、一旦debパッケージを作ってから
実際のインストールを行うという場合もあります。aptは使えずdpkgを使います。
たぶん、同じソフトの新バージョンへの入れ替えなどの管理性が良いはずです。


私個人としては、たまにバージョンを確認したい時にdpkg -lを使うくらいです。
Synapticでも参照できますが、遅いPCほど、所要時間の差は大きいはずです。
    • good
    • 0
この回答へのお礼

丁寧な回答をありがとうございます。


導入するパッケージおよび環境によって、apt、dpkg、aptitudeを使い分けなくてはいけない。という認識で大丈夫でしょうか?
管理ツールを使いわけるために1つのLinuxに何個も管理ツールを導入して良いということでしょうか?

再度、質問になり申し訳ございません。回答いただけるとたすかります。

お礼日時:2012/01/27 09:39

自分でソフトウェアを書いて、パッケージを作るのでなければ,apt系のコマンドを使うだけでよいので,違いを知る必要はないかも。



apt系のコマンドでよく使うのが,

apt-get update
で対象を最新のものにする。

apt-get install [target-name]
でtarget-nameを導入する。

この2つが分かればよいかも。

apt-get upgrade
を使う前にはより調査をしてから使うとよいかも。
(一度、うまくできなかったことがあります)

さらに,その上に利用しやすくしたaptitudeやsynapticを使っている方もいるらしい。

参考URL:http://ja.wikipedia.org/wiki/APT
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

参照ページわかりやすくとても役に立ちました。
まだまだ、自分での調べが甘かったです。

お礼日時:2012/01/27 09:55

追伸:


aptitudeがあるならそちらの方が良いかも。
    • good
    • 0
この回答へのお礼

わかりました。ありがとうございます。

まだ、Linux導入したばかりでaptitudeが使えるかどうかも判断できていません。
aptitudeがあるようでしたら使用してみます。

お礼日時:2012/01/27 09:45

dpkgのことですよね。



どちらもDebian系のパッケージ管理ツールです。

ただし、dpkgではパッケージのダウンロードやパッケージ間の依存関係まで判断しません。aptはdpkgのフロントエンドとして機能します。
ですから、一般的にはaptを使う方が良いと思います。

※aptはapt-get以外にもapt-cacheを含んでいますので、aptと表記しました。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

ご指摘どおりdpkgのことで間違いありません。
すみません入力ミスです。

わかりやすい説明をありがとうございました。

お礼日時:2012/01/27 09:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!