20110829

WEBサイト構築セミナー
- 2011/08/29 –
Linux 概説&コマンド
学術情報基盤センター
下園幸一
[email protected]
2011/08/29
1
Linuxの開発経緯

インターネットを通じてLinuxのソースプログ
ラムを配布し,ボランティアが参加して発展
◦ 自分でデバイスドライバーを書きたい人や
◦ OSそのものをいじくってみたい人や
◦ 物好きなど
Linus
The
Internet
2011/08/29
2
Linuxのプラットホーム
IBM PC/AT互換機
 Macintosh(M68K,PPC, Intel)
 PlayStation 3
 近年では組み込み系にも利用されてきている

◦ 携帯電話、デジタルフォトフレーム、携帯プレイ
ヤー、DVDプレイヤー
2011/08/29
3
OSについて
Linux
狭
義
の
Windowアプリケーション
MS Windows
コマンド
シェルなど
Windowシステム
カーネル
(メモリ管理、プロセス管理、ファイル管理、資源割当)
DISKドライバ
Displayドライバ
NICドライバ
HDコントローラ
Displayボード
NIC
CPU
メモリ
ハードウェア
2011/08/29
4
狭義のLinuxと広義のLinux

インターネットを通してさまざまなフリーソフ
トが流通
ls,cat, more,など
ネットワークサーバ
zsh, bash, csh
Windowアプリケーション
X Windowシステム
( X.org プロジェクト)
Linux カーネル
2011/08/29
5
Linuxディストリビューションとは

Linuxカーネル+フリーソフト等をパッケージ
化した製品
◦ 世界中に数百種類存在する
◦ それぞれのフリーソフトを使いやすいように調整
して製品化
◦ 日本語化、中国語化等(各国語化)が完了
◦ インストーラの付属による取組み易さを強調
◦ 商用ソフトを同梱し,販売されているものもある
2011/08/29
6
日本で有名なディストリビューション

フリーなもの
◦ Fedora
 RHEL の検証目的
◦ Debian GNU/Linux
◦ Ubuntu

商用
◦
◦
◦
◦
TurboLinux
Red Hat Enterprise Linux
SUSE Linux Enterpirse
MIRACLE Linux
 Debian からの派生
◦ Vine Linux
 日本発
◦ openSUSE
 SUSE Linuxのフリー版
◦ CentOS
 RHEL クローン
2011/08/29
7
Linuxを使って何をするのか?

ネットワークサーバ
◦ サーバソフトのほとんどがUNIX上で開発されて
いる
◦ インターネットサーバ、イントラネットサーバ

データベースサーバ
◦ 商用/フリーのデータベース
WEBアプリケーション開発
 プログラム実習
 (仮想システムプラットホーム)

2011/08/29
8
インストールに必要な情報1

基本設定
◦ 搭載メモリ
◦ HDDの大きさ
◦ 以下は自動認識する場合が多いが、自動認識されな
い場合必要
 ディスプレイカード(チップセット)の種類
 ネットワークカードの種類(製品名、チップの種類)
 サウンドカードの種類

ネットワーク設定
◦ ホスト名、ドメイン名、IPアドレス、ネットマスク、ゲート
ウェイ

どのようなサービス(機能)を動作させるか?
2011/08/29
10
インストールに必要な情報2

スーパーユーザー設定
◦ Linuxにおける最高権限者のパスワード
 パスワードの漏洩等に対する注意が必要

ユーザ設定(メールアドレス)
◦ ユーザID(メールIDとしても利用)
◦ パスワード
2011/08/29
11
インストールに必要な情報
32bit 版を動かすべきか? 64bit版を動かす
べきか?
 32bit 版

◦ 基本的に 4GB のメモリまでしか扱えない(はず)
◦ I386

64bit 版
◦ 4GB超のメモリを搭載している場合は必須
◦ x86_64, amd64
2011/08/29
12
実際の運用サーバでは

サポート期間が長い物の方がよい
◦ セキュリティパッチ等の提供
◦ 商用Linuxはサポート期間が長い

フリーな ディストリビューションでサポート
期間が長い物
◦ Ubuntu 10.04 Server LTS版 (2015/04)
 LTS版は Desktop が3年、Server は5年
◦ CentOS 6 (約7年間 2017年?)
 RHELに準拠
2011/08/29
13
LINUX システムの基礎知識
2011/08/29
14
内容

ファイルシステム
◦ 標準ディレクトリ構成


デバイス(装置)
ハードディスクについて
◦ パーティション
◦ LVM


遠隔地からの利用
CLI(コマンドライン)を用いた操作
◦ シェル
◦ Linux コマンド基本

ユーザ管理
2011/08/29
15
UNIX(Linux)のファイルシステム

ファイルシステムとは
◦ OSでファイルやディレクトリを管理する機構
◦ Windows系では FAT16,FAT32,NTFSがある
ファイルシス
テム/OS
Windows
95 OSR2
Windows
98/98SE
Windows
NT
Windows
2000
Windows
XP
FAT16
●
●
●
●
●
FAT32
●
●
X
●
●
NTFS4
X
X
●
●
●
X
X
○(SP4
以降)
●
●
NTFS5

Linuxでは
◦ ext3, ext4, btrfs
2011/08/29
16
UNIX(Linux)のファイルシステム

Windowsと同様な階層構造
◦ Windows:フォルダ → UNIX:ディレクトリ
◦ Windows:ファイル → UNIX:ファイル
◦ 違いは後で説明

Windows では、ファイル名の拡張子が重要
◦ hoge.exe (実行ファイル)
◦ hoge.doc (ワードファイル)
UNIX ではこのような関連付けがない
2011/08/29
17
Windowsのファイルシステム
C:
Window
s
Program
Files
Microsoft
Office
Adobe
D:
Autoexec.bat
DATA
My Folder
Backup
Hoge.doc
My Picture
•各ドライブ(ハードディスク、フロッピーディスク)毎に階層構造が存在
•ディレクトリの区切り文字は \
•C:\Autoexec.bat
•C:\Windows
•C:\Program Files\Adobe
•D:\Backup\My Picture
2011/08/29
18
UNIXのファイルシステム
/
ハードディスク1
ハードディスク2
bin
usr
home
local
simozono
Test.txt


一番頂上は / (ルート)
ディレクトリの区切り文字は /
◦ /bin
◦ /usr/local
◦ /home/simozono/Test.txt
http://www.hoge.com/hoge/hoge.html
2011/08/29
19
Linuxの標準ディレクトリ構成
bin
boot
dev
etc
home
/
root
sbin
bin
tmp
usr
lib
sbin
share
var

log
mail
全てのディストリビューションがこれに従っているわけではない
2011/08/29
20
デバイス(装置)について
Windows の 「デバイスマネージャー」
 Linux では特別なファイルのように扱う

◦ 管理者でも直接扱うことは少ないが、覚えてお
いたほうがよい
/dev ディレクトリ配下にある
 ディスク装置

/dev/hda /dev/hdb /dev/hdc (HDDがIDEの場合)
/dev/sda /dev/sdb /dev/sdc (HDDがSATAの場合)
/dev/cdrom (CD-ROM)
2011/08/29
21
ハードディスクについて

パーティションに分割
◦ Windows でも1つのハードディスクをパーティ
ションに分割して、複数のドライブに分ける場
合がある。
Windows: C:ドライブ
Windows: D:ドライブ
ハードディスク
100GB
ハードディスク
400GB
ハードディスク
500GB
2011/08/29
Windows: ディスク 0
22
Linuxでのパーティション分割
Linux: /dev/sda1
Linux: /dev/sda2
ハードディスク
400GB
ハードディスク
500GB

ハードディスク
100GB
Linux: /dev/sda
どのハードディスク(パーティション)をどのディレクトリに
割り当てたかの確認は df コマンドで確認
[root@wwwscp2 ~]# df -h
Filesystem
サイズ 使用 残り 使用% マウント位置
/dev/sda3
34G 5.0G
28G 16% /
/dev/sda1
99M
32M
63M 34% /boot
tmpfs
506M
0 506M
0% /dev/shm
/dev/sdb1
35G 3.8G
31G 12% /www
[root@wwwscp2 ~]#
2011/08/29
23
問題点

一度パーティションを分割すると、サイズ
の変更は基本的にできない
[root@hogehoge ~]# df -h
Filesystem
サイズ 使用 残り 使用% マウント位置
/dev/sda3
34G 5.0G
28G 16% /
/dev/sda1
99M
32M
63M 34% /boot
/dev/sda4
230G 220G
10G 87% /home
/dev/sda5
120G
10G 110G
8% /usr
/dev/sda6
230G
50G 190G 22% /var
[root@hogehoge ~]#

不足
余り
余り
細かく分けずに / と /boot のみにするという手
もある。でも、全体が足りなくなると困る
2011/08/29
24
LVM(Logical Volume Manager)

仮想的にディスクを扱う
ハードディスク
(LV:Logical Volue)
700GB
/dev/mapper/VG名-LV名
/dev/sda1
/dev/sda2
ハードディスク
50GB
ハードディスク
450GB
ハードディスク
(LV:Logical Volue)
700GB
/dev/mapper/VG名-LV名
ハードディスク
(LV:Logical Volue)
50GB
/dev/mapper/VG名-LV名
ハードディスク
1,450GB
(VG:Volume Group)
ハードディスク
500GB
/dev/sda
ハードディスク
500GB
/dev/sdb
2011/08/29
ハードディスク
500GB
/dev/sdc
25
LVMの利点、欠点

簡単にハードディスクの増設ができる
◦ PV登録→VG登録→LV拡張→フォーマット(既
存のファイルはそのまま)

あるところを縮小して別のところに割り当
てることも可能
◦ ちょっと危ないですが。

VGにあるハードディスクがどれか壊れる
と全体がおかしくなる
◦ 信頼性は低くなる。
2011/08/29
26
遠隔利用(遠隔からのコントロール)

サーバ用途の場合、ほとんど遠隔からコント
ロールする
◦ SSH(TeraTerm,putty)を用いたCUI環境での利用
サーバ室
インターネット
2011/08/29
27
shell(シェル)

ユーザとOSとの仲をとりもつ
CUI(Command User Interface)
◦ キーボードからの入力をOSに渡したり、コマ
ンドを起動したりする。
◦ コマンド結果を画面に表示したりする。
◦ バッチスクリプトを書くことが出来る。

csh, bash, zsh 等が有名
2011/08/29
28
UNIX(Linux)のコマンド操作法
大文字小文字を区別します
 基本形

コマンド名V操作対象 (Vはスペース)
rm V test.c
mkdir V hogehoge
rmdir V hogehoge V hoge V higehige

拡張機能
コマンド名V-オプションV操作対象(オプションはアル
ファベット1文字の場合が多い)
rm V –i V test.c
rm V –i V –r V hoe V hoehoe
rm V –ir V hoe V hoehoe
2011/08/29
29
いろいろなコマンド
機能
コマンド名
sample
ディレクトリリストの表示 ls
ls
ディレクトリを作成
ディレクトリを削除
mkdir
rmdir
mkdir test
rmdir test
ディレクトリ間の移動
cd
cd test
ファイルの閲覧
less
less test.txt
ファイルの削除
rm
rm test.txt
2011/08/29
30
ユーザ管理

ユーザとグループ
◦ 実際にコンピュータを使って作業をする人
 メールアドレス,シェル上で操作する人
 各種権限を設定できる(このファイルは見ることが可能
とか)
◦ 何らかのプログラムを動作させる場合、必ず、「
実行したユーザ」「実行したグループ」の権限が
付与される
 Web サーバ – ユーザ名:apache, グループ名: apache
 MySQLサーバ – mysql mysql
2011/08/29
31
ユーザ管理(古典手法)
ユーザの追加
useradd –c ‘Koichi Shimozono’ –g users –m
simozono
 ユーザの削除
userdel –r simozono
 ユーザの修正
usermod –G wheel simozono

2011/08/29
32
ユーザ情報の格納場所

/etc/passwd (パスワード以外の情報)
simozono:x:500:500:Koichi Shimozono:/home/simozono:/bin/zsh

/etc/shadow (パスワード情報)
simozono:$1$d6vissJ4HOpvHjuv3M35vhUF1:14001:0:99999:7:::
◦ 暗号化されたパスワードのみ格納(元のパスワ
ードはわからない)

/etc/group
◦ グループ情報
2011/08/29
33
他のユーザ管理手法

LDAP
◦ さまざまなものとユーザ情報を共有できる

NIS
◦ 主にUNIX系で利用されている(た)

Samba
◦ Windows とユーザ情報を共有できる
 Linux ではサービス(サーバ機能)毎にどのユーザ
管理手法からユーザ情報を得ればよいかの設
定ができる
◦ PAM
2011/08/29
34