自分のPCに仮想環境を作って
Linuxをインストールしてみよう
2015/12
佐野 尚之
注意事項
 サーバー構築をメインの仕事でやっているわけではないのであんまり詳しいことは知りません。
基本的にWindows Serverで動作するプログラムの開発/運用をやっているので。
 よく使うコマンドは、あくまで私がよく使うコマンドです。
 今回はLinuxのインストールと操作を慣れてもらうだけなのでユーザーを追加せずにrootユーザー
で操作を行います。通常は一般ユーザーを追加して、管理者権限が必要なコマンドを実行する時
に「sudo」を実行するコマンドを前に付与してコマンドを実行します。
2
アジェンダ
 仮想マシンの作成
 CentOS6.7のインストール
 仮想環境へのTera TermでSSH接続してみよう
 CentOS6.7の設定変更
 よく使うコマンドの説明
 viエディタの使い方を覚えよう
 Linux初心者にお勧めの本
 参考URL
3
仮想マシンの作成
 「Oracle VM VirtualBox」をダブルクリックします。
4
仮想マシンの作成
 「新規」をクリックします。
5
仮想マシンの作成
 以下の情報を入力後に「作成」ボタンをクリックします。
6
仮想マシンの作成
 「作成」ボタンをクリックします。
7
CentOS6.7のインストール
 「ストレージ」をクリックします。
8
CentOS6.7のインストール
 「仮想光学ディスクのファイルを選択」を選択します。
 「CentOS-6.7-i386-bin-DVD1.iso」を選択後に「開く」ボタンをクリックします。
 「OK」ボタンをクリックします。
9
CentOS6.7のインストール
 「起動」をクリックします。
10
CentOS6.7のインストール
 「Enter」キーを押下します。
11
CentOS6.7のインストール
 Tabキーで「Skip」に移動して「Enter」キーを押下します。
12
CentOS6.7のインストール
 Tabキーで「Skip」に移動して「Enter」キーを押下します。
13
CentOS6.7のインストール
 「次」ボタンをクリックします。
14
CentOS6.7のインストール
 「キャプチャー」ボタンをクリックします。
15
CentOS6.7のインストール
 「Japanese(日本語)」を選択後に「Next」ボタンをクリックします。
16
CentOS6.7のインストール
 「次」ボタンをクリックします。
17
CentOS6.7のインストール
 「基本ストレージデバイス」を選択後に「次」をクリックします。
18
CentOS6.7のインストール
 「はい・・・」ボタンをクリックします。
19
CentOS6.7のインストール
 「次」ボタンをクリックします。
20
CentOS6.7のインストール
 「システムクロックでUTCを使用」のチェックを外して「次」ボタンをクリックします。
21
CentOS6.7のインストール
 6文字入力します。
 「次」ボタンをクリックします。
 「とにかく使用する」ボタンをクリックします。
22
CentOS6.7のインストール
 「すべての領域を使用する」ボタンをクリックします。
23
CentOS6.7のインストール
 「次」ボタンをクリックします。
 「変更をディスクに書き込む」ボタンをクリックします。
24
CentOS6.7のインストール
 「Basic Server」と「今すぐカスタマイズ」を選択後に「次」ボタンをクリックします。
25
CentOS6.7のインストール
 「次」ボタンをクリックします。
26
CentOS6.7のインストール
 「デバイス」-「光学ドライブ」-「仮想ドライブからディスクを除去」を選択します。
 「再起動」ボタンをクリックします。
27
仮想環境へのTera TermでSSH接続してみよう
 Virtual BoxのCentOSにrootユーザーでログイン
28
仮想環境へのTera TermでSSH接続してみよう
 ONBOOTの値を「no」から「yes」変更
 vi /etc/sysconfig/network-scripts/ifcfg-eth0
 インターフェイスの再起動
 service network restart
29
仮想環境へのTera TermでSSH接続してみよう
 ネットワークをクリックします。
 ポートフォワーディングをクリックします。
 以下のアイコンをクリックします。
30
仮想環境へのTera TermでSSH接続してみよう
 ホストポートに「3333」、ゲストポートに「22」を入力し、「OK」ボタンを
クリックします。
31
仮想環境へのTera TermでSSH接続してみよう
 「OK」ボタンをクリックします。
 「仮想マシン」-「閉じる」ー「電源オフ」を選択します。
32
仮想環境へのTera TermでSSH接続してみよう
 「電源オフ」ボタンをクリックします
 「起動」をクリックします。
33
仮想環境へのTera TermでSSH接続してみよう
 Tera Termをダブルクリックして起動します。
34
仮想環境へのTera TermでSSH接続してみよう
 ホストに「127.0.0.1:3333」を入力し、「OK」ボタンをクリックします。
35
仮想環境へのTera TermでSSH接続してみよう
 ユーザ名とパスフレーズを入力後に「OK」ボタンをクリックします。
36
仮想環境へのTera TermでSSH接続してみよう
 以下の画面が表示されたらログイン成功です。
37
よく使うコマンドの説明
 再起動
 reboot
 shutdown –r 時間
 すぐに再起動の場合は「時間」のところに「now」を指定。
 停止
 halt
 shutdown –h 時間
38
よく使うコマンドの説明
 現在の作業ディレクトリの位置を確認
 pwd・・・Print Working Directoryの略
 ディレクトリの中身を確認
 ls
 ls –l(詳細表示)、ls –a(全て表示)をよく使う。
 listの略
 設定ファイルであるドットファイルは「-a」オプションで見ないと存在を確認できない。
 ll・・・ls –lと同じ動き。どっかのファイルで登録されてるんだと思います。たぶん。
39
よく使うコマンドの説明
 ファイルの中身を確認
 cat ファイル名 ・・・catはconcatenate(繋げる)の略。
 cat –n ファイル名・・・行番号付きで表示。
 less ファイル名 ・・・画面表示でページ表示を止めてくれる。
 more ファイル名・・・画面表示でページ表示を止めてくれる。
 http://d.hatena.ne.jp/midori_kasugano/20100121/1264032849 40
moreコマンドとlessコマンドは、機能的には
ほとんど同じ。ファイルを最後まで表示し
終わった後、moreコマンドは自動的にプロン
プトを表示するのに対し、lessコマンドは最後
まで表示し終わってもユーザがqを入力しない
限り、プログラムを終了しない点が異なる。
よく使うコマンドの説明
 ログファイルを見る時に使う(tail、head)
 マニュアル(man)
41
コマンド 意味
tail ファイル名 ファイル末尾10行を表示。
tail –n N ファイル名 ファイル末尾N行を表示。
tail –f ファイル名 ファイルの追記を監視。
head ファイル名 ファイルの先頭10行を表示。
head –n N ファイル名 ファイルの先頭N行を表示。
コマンド 意味
man 1 printf printfの1章のマニュアルを見る。
man 3 printf printfの3章のマニュアルを見る。
man –a printf すべての章のマニュアルを順番に表示。
よく使うコマンドの説明
 ディレクトリの移動
 cd
 画面の表示をクリア
 clear
42
コマンド 意味
cd /etc /etcディレクトリに移動。
よく使うコマンドの説明
 ディレクトリ作成
 mkdir
 ファイル/ディレクトリを削除
 rm
43
コマンド 意味
rm –rf /perf 「f」は削除許可を問い合わせない。
「r」はディレクトリをファイルを含めて再帰的に全て削除。
rm -i /perf/test.sh 「i」は削除許可を必ず問い合わせる。
コマンド 意味
mkdir -p /tmp/test/log 「-p」を指定すると複数階層を一度に作れる。
よく使うコマンドの説明
 ファイルコピー
 cp
 ファイル移動、ファイル名の変更
 mv
 mv /usr/local/tomcat/bin/setenv.sh /usr/local/tomcat/bin/setenv.sh.org
 setenv.shをsetenv.sh.orgというファイル名に変更。
44
コマンド 意味
cp –i testfie testfile2 「i」は同名ファイルがある場合に上書き確認します。
cp –a testfie testfile2 「a」はファイル構成やアクセス権限を変更しないでコピー。
cp –r /base /base2 「r」はコピー元ディレクトリを再帰的にコピー。
よく使うコマンドの説明
 ファイルやディレクトリの所有者を変更
 chown
 ファイルやディレクトリのアクセス権を変更
 chmod
45
コマンド 意味
chmod -R 777 wp-content wp-contentディレクトリ内のすべてのファイルのパーミッションを
777に変更。
chmod 666 .htaccess .htaccessファイルのパーミッションを666に変更。
コマンド 意味
chown -R apache:apache /var/www/wordpress/ WordPressディレクトリ所有者をApache実行
ユーザへ変更。
よく使うコマンドの説明
 ファイルのパーミッション
 ファイルタイプ
46
ファイルタイプ 所有者の
パーミッション
グループの
パーミッション
その他の
パーミッション
d r w x r w x r w x
記号 解説
- 通常ファイル
d ディレクトリ
l シンボリックリンク
よく使うコマンドの説明
 アクセス権
47
場所 記号 解説
1文字目 r 読み込み可
- 読み込み不可
2文字目 w 書き込み可
- 書き込み不可
3文字目 x 実行可
- 実行不可
よく使うコマンドの説明
 ディレクトリのパーミッション
 読み込み権限・・・lsコマンドなどでファイルの一覧を見ることができる。
 書き込み権限・・・ファイル操作ができる。
 実行権限 ・・・ファイルへのアクセスができる。実行権限がないと読み書きできない。
48
パーミッション 8進数
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7
よく使うコマンドの説明
 パッケージを取得してインストール/アップデート(yum)
 ファイルの圧縮/解凍(tar)
49
コマンド 意味
yum install パッケージ名 パッケージをインストール。
yum update インストールされているパッケージをアップデート。
yum remove パッケージ名 パッケージをアンインストール。
yum info パッケージ名 パッケージ情報を表示。
コマンド 意味
tar cfvz archive.tar.gz dir/ ディレクトリ(dir)ごとgzip形式のアーカイブファイル
(archive.tar.gz)に圧縮。
tar xfvz archive.tar.gz gzip形式で圧縮されたアーカイブファイル(archive.tar.gz)を展開。
viエディタの使い方を覚えよう
 よく使うもの
50
コマンド 意味
vi ファイル名 指定したファイルを開く。存在しない場合は新規ファイル。
i インサートモードに移行。コマンドモードに戻るには「ESC」を押す。
:set number 行番号を表示。
:wq ファイルを保存して終了。
:q! 強制終了。
/文字列 文字列パターンを下方向に検索。
?文字列 文字列パターンを上方向に検索。
x 1文字削除。
yy カーソル行を1行コピー。3行コピーは「3yy」 。
p カーソル行に貼り付け。
dd 1行削除。
Linux初心者にお勧めの本
[改定第3版]Linuxコマンドポケットリファレンス(2015/6/30。技術評論社)
サーバ/インフラエンジニア養成読本 基礎スキル編(2015/6/1。技術評論社)
たった2日でわかるLinuxサーバー CentOS 7.0対応版(2015/2/16。秀和システム)
たった2日でわかるLinux CentOS 7.0対応版(2014/12/30。秀和システム)
開発ツール徹底攻略(2013/5/15。技術評論社)
51
参考URL
VirtualBox に CentOS7.0 をインストールして ssh ログイン + yum コマンドを使えるように
するまで
http://d.hatena.ne.jp/shouh/20150429/1430283666
VirtualBox (Windows) 上に CentOS 7 をインストールする
http://qiita.com/100/items/80a899fbaeb1e82b3f67
VirtualBoxにCentOSをとりあえずインストール
http://d.hatena.ne.jp/yk5656/20131208/1386476543
VirtualBoxのネットワーク設定とCentOS6.5のインストール
https://blog.apar.jp/linux/402/
CentOS 6.6 LAMPサーバ インストールメモ【CentOS6.6+Apache+MySQL+PHP】
https://blog.apar.jp/linux/793/
VirtualBox上の仮想サーバーにTera TermでSSH接続
http://w.builwing.info/2013/09/28/virtualbox上の仮想サーバーにtera-termでssh接続/
CentOS7でサービスの管理方法が変わった!
http://qiita.com/haisaihiroki/items/c38cb3c0a331db9b6f69
52
参考URL
[指摘] 「SELinux無効化でカーネルパニック - CentOS6の備忘録」に対する指摘
http://ishikawa84g.hatenadiary.jp/entry/20120229/1330442433
viエディタの使い方
http://net-newbie.com/linux/commands/vi.html
VirtualBox:仮想マシンの作成で64bit OSを選択可能にする方法
http://did2memo.net/2015/07/10/virtualbox-64-bit-os/
VirtualBoxで64ビット版OSをインストールできない場合の対処方法
http://little-beans.net/howto/virtualbox-64bit-os/
CPUの仮想化機構を有効化しないとVirtual Box で64bit OSが選択できない
http://totech.hateblo.jp/entry/2014/06/22/220050
VirtualBoxで64bitVMを作れるようにする(Hyper-V有効なWindows 8.1 Pro編)
http://qiita.com/alaif-net@github/items/57a10b6e6d4de3b4583f
53
参考URL
VirtualBox上のCentOSにTeratermからssh接続する
http://skkskynw.hateblo.jp/entry/2015/10/12/011236
Linuxをシングルユーザーモードで起動する
http://www.linuxmaster.jp/linux_skill/2012/10/linux-12.html
CentOS6でrootのパスワードを忘れてしまった時の対処
http://d.hatena.ne.jp/Loups-garous/20120911/1347366010
rootのパスワードをうっかり忘れてしまった
http://itpro.nikkeibp.co.jp/article/COLUMN/20061030/252224/?rt=nocnt
54
(おまけ)Linuxの特徴
 UNIX互換OS
 POSIX(IEEEで取り決められたUNIXの標準アプリケーション・インターフェイス)準拠
 多くのUNIX系アプリケーションが動く(はず) 。
 マルチユーザー環境
 同時に複数のユーザーがLinuxの端末を利用できる。
 マルチタスク環境
 同時に複数のプログラムが動作する。Windowsもそうですよね。
 安定性
 1つプログラムの問題は他のプログラムに影響を及ぼさない。
 プログラムの作りが悪いと他のプログラムに影響が出る。
55
(おまけ)Linuxの基本的な流れ
 起動
 ログイン
 シェルによる作業
 別のユーザーや管理者権限でコマンドを実行する場合も
 サービスの起動/停止/自動起動設定
 パッチ適用(RedHat系の場合はyumコマンド)
 スケジュール設定(cron)
 ログアウト
 再起動
 停止
56
(おまけ)Linuxへのログイン
 端末が近くにある場合
 ディスプレイの電源に入れる。
 ユーザー名とパスワードを入力してログイン。
 作業する。
 exitコマンドでログアウト。
 ディスプレイの電源を切る。
 端末が近くにない場合
 Tera TermやPuTTY(パティ)などで接続。
 ユーザー名とパスワードを入力してログイン。
 作業する。
 exitコマンドでログアウト。
57
(おまけ)ユーザーについて
 管理者ユーザー(root)
 プロンプトは「#」
 Linuxシステム関して全ての操作が行える。システムを破壊することもできる。
 一般ユーザー
 プロンプトは「$」・・・環境によっては違うかもしれません。
 決められた範囲内の作業しかできない。
<メモ>
 sudo(superuser do) コマンドで、指定した一般ユーザーに対して 特定のroot コマンドを
実行するのが一般的です。
 「su -」でrootユーザーに切り替える方法もあります。
58
(おまけ)シェル
 ログインシェル・・・ログインした時の最初のシェル。
 シェルスクリプト・・実行したい命令をファイルに保存して実行するもの。
 シェルの語源
 貝殻(shell)の意味。カーネル(核)をちょうど真珠を包み込むように位置するところ
から名づけられたとする説が有力らしい。
 シェルの種類
 Bシェル(sh)
 bash(バッシュ)・・・Bシェルが発展したもの。
 Cシェル(csh)
 tcsh・・・Cシェルを改良したもの。
 ksh ・・・Kornシェル。
 zsh ・・・Zシェル。
 ash ・・・Aシェル。
59

自分のPcに仮想環境を作ってlinuxをインストールしてみよう