« apt-get チュートリアル(apt チュートリアル) | トップページ | 『H.I.S.のサイト閲覧しただけでマルウェア感染した恐れ、銀行の口座情報盗み取る』らしい・・・ »

2014年5月18日 (日)

WindowsとLinux:ソフトウェア・インストールの違い

〔WindowsとLinuxの違い:ソフトウェアのインストール〕

最近のLinuxは昔に比べて非常に使いやすくなった。

Linuxをインストールさえ無事出来れば、KDE系のLinuxであれば、WindowsXP(やWin7)に慣れている方は恐らく遜色なく扱える。特にWindowsの改造をあまりされない方にとっては、標準で使いやすい状態になっているので「何の不満も無く」利用できるかもしれない。

むしろ、「不満に感じる」のはWindowsをバリバリ改造しているような人(いわゆる中・上級レベル人たち)のように思える。

というのも、Linuxをインストールしたは良いが、アプリケーションのインストールの仕方やドライバ等のインストールのやり方がよくわからず、自由自在に扱えないモヤモヤ感に囚われるからだ。

Debian系のLinux限定の話になるが、アプリケーション(Linuxではパッケージと呼ばれる)のインストール自体は難しくは無い。むしろ、慣れればWindowsよりも楽である。

ただ、そういったことはLinuxを数年使ってきてわかってきたことであって、Linuxを使い始めの頃は、それがよくわからなかった。というよりインストール方法についてはどの手法が良いのかわからず、おっかなびっくりな感じが数年続いていた。理由は単純で、Windowsと同じような感覚でソフトを捉えようとしたのが全ての原因だった。

ということで、Linuxに触れたばかりで、どうもLinuxのパッケージ(アプリ)インストールがよくわから〜ん・・・と、お困りの方向けに、今回はWindowsとLinux(Debian系)のソフトのインストール方法の違いについて少し話をしてみようと思う。

 
〔Windowsの場合〕
Windowsの場合、ソフトウェアのインストールは大概次のような手順を取る。
 
【市販系のソフトの場合】
 ・CDやDVDなどの光ディスク系の場合は、PCにディスクを入れると(セキュリティ上の良し悪しは別にして)自動でインストーラが起動することが多く、マニュアルの通りに作業を進めていけば、インストールは終了する。
 ・ダウンロード版の場合、exeやmsiファイル等をダブルクリックすると、インストーラが起動し、インストーラの指示に従って作業を行えばインストール作業は終了する。
 
 

【フリーソフト系の場合】
Vectorや窓の社などからフリーソフトをダウンロードして利用している方もいるかと思いますが、ファイルの配布形態は「exe」や「msi」の他に「zip」や「lzh」などの圧縮ファイル形式で配布されることもしばしば。しかし、圧縮ファイル形式であっても、解凍した後に「exe」ファイル等をダブルクリックして、インストールが完了するという流れは同じ。
 
 
【Windows Store系】
「Google Play」や「App Store」のようなものようだが、使用したことが一切ないので、詳細不明。Windows8から搭載された機能のようだ。

(これらのサービスはどれも企業依存が大きいので、将来的に独占によるリスクを内包していて、個人的には好きではないですね。)

 
 

 

〔Linux(Debian系:Debパッケージ系)の場合〕
Linuxでは「アプリケーション」という名称を見かけることはあまりない。
だいたいが「パッケージ」と呼ばれる。しかし、Windowsの世界で「アプリケーション」と呼ばることがないようなソフトやツールも、Linuxでは「パッケージ」と呼ばれるので、より幅の広い概念として捉えた方がしっくりするかもしれない。
 
さて、このパッケージ。
自分のPC(というかLinuxのシステム)に導入するには大きく分けて2パターンある。
 
〔A〕『ソース』からのインストール
ソースファイルをコンパイルし、自分のシステムにインストールするというタイプ。自由度は高いが、ヘビィーユーザや開発者向けのインストール手法で、一般ユーザには推奨される方法ではない。
 
〔B〕『Debパッケージ(debファイル)』からのインストール
すでにコンパイル済みのファイルからインストールする手法。
このファイルの拡張子は「.deb」で、基本的には「***.deb」ファイルとして公開される。
一般ユーザに推奨されるインストール方法はこちらになる。
 
01_deblist_r
   

 
これをさらに細かく見ると、以下のようになる。
 
00_deblist_r2
 
私の理解では上のような表になるのだが、もしかしたら違う部分もあるかもしれないのであしからず。
 
WindowsでのVectorや窓の社などからアプリをダウンロードしてインストールするタイプは、上の表でいうと④に属するパッケージをインストールする手法に近い。
 
ただし、④のタイプは初心者に薦められるものかと言われれば、Yesとは言えない。
 
OSのバージョンの関係や様々な要因によりプログラムの依存関係が発生したりしてうまくインストールできないケースもあり、初心者にとってはその先の対処方法がわからず右往左往するケースがままあるからだ。
 
Debian系でお薦めなのは①②(③)に属するパッケージのインストールだ。アップデート作業等も含めてインストールなどのパッケージ管理が非常に楽である。
 
Windowsと同じような感覚で、
『サイトから「.debファイル」をダウンロードして、そのファイルをクリックすれば、インストールが終わるんだろうな・・・』
と考えていると、大いなる罠に陥ることになる。
 
 

 
〔Debパッケージインストールの作法〕

Windows系の場合、
(1)公開先のサイトから、アプリのファイルをダウンロードし
  (もしくはCDなどのディスクを入手し)
(2)ファイルを起動させて、インストールを行う
という流れが一般的だ。
 
98_map_3
 
 
 
Debパッケージの場合、
(1)公開先のサイトから、debパッケージファイルをダウンロードし、
(2)そのダウンロードしたファイルを使ってインストールを行う
という④に属するパッケージをインストールする手法は主流ではない。
 
01_map_01_r
 
一応そういったスタイルでもインストールは可能なのだが、先にも述べたように、OSのバージョンの関係や様々な要因によりプログラムの依存関係が発生したりしてうまくインストールできないケースもあり、お薦めはできない。
(まぁ、お薦めできなくても、そのソフトが必要ならやるしかないが・・・)
 

 
トラブルが少ない、Debパッケージのスタンダードなインストール方法は、APTを利用するやり方だ。①〜③に属するパッケージはAPTが利用できる。
以下はコマンド打ちではあるが、やることは至極単純である。

# apt-get update
# apt-get install パッケージ名

この2行のコマンドを打つだけで良い。
このコマンドを打つことによって、APTが対象のパッケージを自動でダウンロード、依存関係の解決、及び、インストールを行う。
 
01_map_02_2
 
 
しかし、このコマンド打ち作業、Linuxに触れたばかりのWindowsユーザにとって、戸惑いどころ満載な作業になる。

「え? debファイルのダウンロード先のサイトのアドレスは?」
「パッケージ名ってどうやって調べるんだよ」
「アプリ(パッケージ)の保存・展開先のフォルダ(ディレクトリ)は?」
「GUIじゃないの?(グラフィカルじゃないの?)」などなど
 
これを理解するためには急がば回れで、1つずつ話をした方が早いように思える。
確認していこう。
 
 
 
〔Debian Archive と『/etc/apt/sources.list』〕
Debianには公式のパッケージ配布サイトがある。

そのサイトのurlはDebianのインストール時にシステム内に設定されていて、具体的には『/etc/apt/sources.list』にそのurlが記述される。
 
(cat コマンドにて)
01_cat_mr

(Apperからも確認は可能)
03_apper
 
「設定」をクリックし・・・
04_apper_r2
 
「Software Origins」タブをクリックすると・・・
05_apper_r
 
urlを参照できる。
06_apper

このurl、Debianのインストール時に各ミラーサイトを選んだ際は、そのミラーサイトのurlが登録される。そしてOS(Debian)のインストールの際、インストールディスクに収録されていないもので、必要となるパッケージはここからダウンロードされ、インストールされていた。
(CDやDVDなどのインストールディスクに収録されているものは、そのディスクそのものからインストールされる。)
 
さて、公式サイトに存在する全てのパッケージ、OSのインストール時にすべてインストールされるわけではない。
 
OSインストール時に『ソフトウェアの選択』をしたと思う。
D7_054_g
 
「デスクトップ環境」とか「標準システム」など自分が必要としたものを選択したと思うが、そこでチェックされた項目に関連あるパッケージ類が公式のサイトからダウンロードされ、インストールされるわけだ。
 
なので、自分が使いたいパッケージがこの時にインストールされていなければ、別途にインストール作業をすれば良いわけで、そのシンプルなやり方が

# apt-get update
# apt-get install パッケージ名

になる。
このコマンドを実行することにより、パッケージの『ダウンロードからインストールまで』自動で行われる。
 

〔main , contrib , non-free〕

さて、「apt-get」のコマンドを利用することによって、公式の配布サイトからパッケージのダウンロード&インストールが行われることを述べたが、Debianでは公式に置かれるパッケージはライセンスの関係により次の3種に分類されていることを知っておく必要がある。

〔main〕
DFSG(Debian フリーソフトウェアガイドライン)に準拠したパッケージ類。

〔non-free〕
DFSG に準拠しない、または配布に問題があるような他の問題をもつパッケージ類。

〔contrib〕
DFSGに準拠しているが、non-free のパッケージに依存するパッケージ類。

ちなみにダウンロード先のサイトもこの3つのアーカイブエリアに分割されている。(データの貯蔵庫のようなDebianアーカイブは、リポジトリと呼ばれることもある。)
 
 007_wh_3
 
OS(Debian)のインストール時はすべて、〔main〕のパッケージのみから構成される。また、OSのインストール後もデフォルトでapt-getでインストールできるパッケージは「mainアーカイブエリア」(①)に限定される。
 
当然、ユーザによっては、「non-free/contrib」のパッケージを使いたいケース(②)が出てくるだろう。
 
そういった場合、「non-free/contrib」アーカイブエリアもパッケージ検索、インストールの対象とするために『/etc/apt/sources.list』を以下のように書きなおせばよい。

deb http://ftp.******/debian/ wheezy main contrib non-free
deb-src http://ftp.******/debian/ wheezy main contrib non-free

deb http://security.******/ wheezy/updates main contrib non-free
deb-src http://security.******/ wheezy/updates main contrib non-free

deb http://ftp.******/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.******/debian/ wheezy-updates main contrib non-free

「sources.list」のファイルはデフォルトでは上の赤文字の部分が書いていないので、上の例のように赤文字の部分を追記し、ファイルを上書き保存すれば、「non-free/contrib」のリポジトリ(アーカイブエリア)に存在するパッケージもダウンロード、インストールされるようになる。
 
ちなみに『/etc/apt/sources.list』はAPTがアーカイブの在処を知るために参照するファイルになっており、非公式なリポジトリ(③)を追加する場合もまた、このファイルに記述すれば良い。
(公式で配布されているものは、Debian Projectによりある程度のチェックを受けたものになる。特にmainアーカイブにあるものに対しては専門のセキュリティチームによるサポートがあったりする。非公式なリポジトリを追加する場合は、そのリポジトリが信頼できるかどうか、バージョン等でトラブルが起きないかどうかは自分で判断しなければならない。セキュリティやライセンス、依存関係などでトラブルを抱えたくなければ・・・。)
  
 

〔どのようにパッケージを探すか?〕

公式のパッケージならば、
https://www.debian.org/distrib/packages.ja.html

https://packages.debian.org/stable/
などのサイトで一応探すことはできるが・・・。
 
11_down 099_
 
パッケージを細かく調べるには非常に便利なのだが、入門者にとっては数が多すぎて途方にくれることも、ままあると思う。

パッケージを探す場合、googleなどで検索かけてソフトを探す方法も1つの手だ。
 
21_down
 
22_down_2
 
上の例では運良くLinuxでも使えるクロスプラットフォームなソフトにヒットしたが、Windowsでしか使えないようなソフトが引っかかることが多い。
 
Linuxで使えるものを効率良く探したい場合は、検索のキーワードに「Linux」や「クロスプラットフォーム」を加えて調べるとヒットしやすい。

対応OSにLinuxが含まれていれば、Debianで使えないというケースはほとんど無い。あとは公式のアーカイブエリアにそのソフトがあることを願うだけになる。(公式にあれば、非常に楽なので・・・。)
ちなみに、あくまで個人的な感覚だけれども、Linuxで使える有名なソフトは公式のアーカイブエリアに含まれていることが多いように思う。
 

 
 
 
〔apt-get コマンドで使用するパッケージ名は?〕
 
apt-getでパッケージをインストールする場合、当然ながら正しいパッケージ名を入力しないとインストールができない。
 
しかし、目的のソフトを見つけたのは良いが、サイトの説明を見ても「パッケージ名」がはっきりわからないことも多い。
 
そういった場合、Debianの公式ページから調べても良いのだが、少し乱暴なやり方だがそのまま「ソフト名」を入力してみるのも1つの手だ。
 
運が良いとパッケージ名とかぶっていてそのままインストールできる。
というか、結構これでいけたりする。
 
 31_apper_r


また、Apper での検索を利用する手もある。
 
 21_apper_r
 
 22_apper  
 
一覧に出てくれば、そのまま「Apper」上でインストール可能だ。
 
 
それでもダメな場合(見つからない場合)は、ネット検索などで調べるべし。
 
さて、1つ注意点として、パッケージ名がたとえ正しくても、『/etc/apt/sources.list』に記述されたリポジトリ(アーカイブエリア)に存在しないパッケージは当然インストールはできない。
 
例えばインストールしたいパッケージが「non-free/contrib」のリポジトリにある場合、『/etc/apt/sources.list』に「contrib」と「non-free」が記述されていない場合は、そのままではインストールできない。
「contrib」と「non-free」の部分を追記してある必要がある。
 
 
 
 
〔アプリケーション/パッケージのディレクトリ配置の違い〕
 
Windowsの場合、ディレクトリの配置は結構テキトウだ。
ユーザ自身が適当にフォルダを作成してそこにプログラムを保存し、インストールしている人も多いと思う。
 
ところがどっこい、Linuxの場合はそうはいかない。
 
Linuxの場合、システムに関するものはFHSにより、ディレクトリの配置が決まっていて、例えばプログラムは /usr/bin、ライブラリは /usr/lib、マニュアルは /usr/share/man/ といった感じで配置される。
 
まぁ、大きなプロジェクトのパッケージなどは上記の例とは違う配置になることもあるようですけどね。
 
Linux(Deb系)ではユーザ自身が各ファイルの配置をする必要はありません。
APTを使うことにより、それぞれのファイルが自動で配置されます。
 
 
 
 
〔CUIとGUI〕

Debian系の場合、ソフトウェアのインストールの話でかなりの頻度で出てくるのが、『apt-get』コマンドである。

# apt-get update
# apt-get install パッケージ名

さて、このapt-getコマンド、Windowsユーザからすれば、使いにくいCUIベースで使うものだ。
 31_apper_r

慣れてしまえば、いろいろと便利(ネットワーク越しでインストールなどもお手軽に等♪)なのだが、そんなものはLinuxに触れ始めた頃にはわかるはずもなく、「GUIベースでできないのかよー!」となる。
 
ちなみにLinuxにもGUIベースでソフトウェアの管理ができるソフトはちゃんとある。
 03_apper

すでに例として出ている「Apper」もGUIベースのパッケージ管理ソフトだし、他に有名なものとしては「Synaptic」や「YaST」がある。


しかしGUIでインストールの説明をするサイトは少ない。
というのも、GUIベースのものは、デストリビューションごとにどれが採用されているかわからないし、ものによって使い方が違う。
 
ところが、CUIベースの APT であれば debian系で使えないということはまず無いし、使い方は同一だ。
なのでAPTが使えれば、他のDeb系デストリビューションを使うときに困ることは無いし、説明が楽だ。また、GUIよりも手軽なので、サッとやりたい時にはこちらの方が便利である。慣れると逆にこちらの方が便利なのだ。
 
ちなみに、Apper等のパッケージ管理ソフトは、内部的にはAPTで動いているので、知っておいて損は無い。
 
興味がある人はAPTの使用にもチャレンジしてみると良いと思う。
 
 
(一部改訂:2014.10)
 
 
 
〔関連ページ〕
 ・KDE パッケージ管理ソフト Apper(Apperの使い方)
 ・apt-get チュートリアル(apt-get の簡単な使い方)
 ・CUIテキストエディタ:vi(vi チュートリアル について)
 ・WindowsユーザのためのLinuxの基本:システムファイルの編集
  (vi 等による『/etc/apt/sources.list』などのシステムファイルの編集)
 ・Linux のインストール 基礎知識と実践 (2018年度)  
 ・Linux のインストール(2014年度)
  ・Debian wheezy をインストール
 ・Linux でお手軽画像編集:KolourPaint(wheezy KDE:①の例)
 ・Linux & Chromium(1)Chromium のインストール(wheezy KDE:①の例)
 ・Iceweasel(Firefox) に flash をインストール(wheezy KDE:②の例)
 ・Linux & Chromium(2)Flash のインストール(wheezy KDE:②+αの例/backportsの話)
 ・Debian に Opera をインストール (lenny KDE:④の例)
 ・プリンタドライバの導入〔簡単では無いケース〕(wheezy KDE:④の例)
 
 ・Linux's ソフトウェア関連メモ:2014〜 〔wheezy KDE〕
 
 ・個人的健忘録の考える Linuxのメリット・デメリット  
 
 
【外部サイト】
 ・Debian パッケージ管理
 ・Debian ポリシーマニュアル Chapter 2 - Debian アーカイブ
 ・APT HOWTO (Obsolete Documentation) 第 2 章 - 基本的な設定
 ・Debian JP Project:書籍情報
 ・Debianパッケージ作成の手引き
 ・Debian+checkinstallで独自debパッケージを作る(パッケージの自作)
 ・Debian パッケージ作成法
 ・Debian パッケージの作り方
 ・独自のDebパッケージやaptリポジトリを作ってみよう
 
 
 
効率よく系統だって学びたい方は・・・
 「Debian GNU/Linux徹底入門第3版 Sarge対応 [大型本] 武藤 健志 (著) 」
 「The Debian System―その概念と技法 (MYCOM UNIX Books)」
 「[入門] Debian パッケージ  やまだ あきら (著), 鵜飼 文敏 (監修) 」
 



 


 

 

« apt-get チュートリアル(apt チュートリアル) | トップページ | 『H.I.S.のサイト閲覧しただけでマルウェア感染した恐れ、銀行の口座情報盗み取る』らしい・・・ »

Windows」カテゴリの記事

Debian GNU/Linux」カテゴリの記事

2021年5月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ