Linuxパッケージマネージャ - yum
ソフトウェアのインストール手法
Linux環境でアプリケーションを導入するには、主に3つのアプローチが存在します。
- ソースコードからのビルド: ソースコードを取得し、自前でコンパイルして実行ファイルを生成する方法。柔軟なカスタマイズが可能ですが、上級者向けです。
- RPMパッケージの利用: RPM形式のバイナリパッケージをダウンロードし、
rpmコマンドで導入する方法。依存関係の解決が手動になるため、単体で動作するパッケージに向いています。 - yumを用いたインストール:
yumコマンドを使用する方法。依存関係を自動で解決してくれるため、最も一般的で推奨されるアプローチです。
yumの概要
yumはFedora、RedHat、CentOSなどで利用されるパッケージ管理フロントエンドです。リポジトリからRPMパッケージを自動で取得し、依存関係を解決しながら一括でインストールを行うため、手間を大幅に削減できます。
注意点として、yumによるインストール処理は同時に1つしか実行できません。また、外部サーバーからパッケージを取得するため、ネットワーク接続が必須です(接続確認はpingコマンドで可能です)。
パッケージの検索
yum listコマンドで利用可能なパッケージ一覧を表示できます。数が膨大になるため、grepと組み合わせて絞り込むのが一般的です。
yum list | grep tree実行結果の例:
tree.x86_64 1.7.0-15.el7 @baseパッケージ名の各部位は以下の意味を持ちます:
- メジャーバージョン.マイナーバージョン.リリース番号-パッケージビルド番号.アーキテクチャ
x86_64は64ビット環境、i686は32ビット環境向けであることを示します。el7はCentOS 7 / RHEL 7向けであることを示します(el6ならバージョン6)。- 末尾の
@baseはリポジトリ名を表します。
パッケージのインストール
コマンド:sudo yum install [パッケージ名]
sudo yum install lrzsz必要な依存パッケージが表示されるので、yを入力して確定します。Complete!と表示されれば成功です。
システムディレクトリへの書き込みが発生するため、sudoまたはroot権限が必要です。また、先述の通りyumプロセスの並列実行はできないため注意してください。
ローカルマシンとリモートサーバー間のファイル転送
lrzszパッケージを導入すると、ZModemプロトコルを利用したファイル転送が可能になります。
rz -E: ローカルからサーバーへファイルをアップロードする際に選択ダイアログを開きます。sz [ファイル名]: サーバーからローカルへ指定したファイルをダウンロードします。
パッケージのアンインストール
コマンド:sudo yum remove [パッケージ名]
sudo yum remove lrzsz削除確認のプロンプトでyを入力し、Complete!と表示されれば削除完了です。
Linuxエディタ - vim
vimの基本概念
vimはコードの記述や編集に特化した高機能なテキストエディタであり、以下の主要なモードを中心に操作します。
- ノーマルモード(コマンドモード): 起動直後のモードです。入力されたキーは文字入力ではなくコマンドとして解釈されます。カーソル移動、コピー、貼り付け、削除、検索・置換などを行います。移動には
h(左)、j(下)、k(上)、l(右)などを用います。 - 挿入モード(入力モード): 一般的なエディタと同様に、キーボード入力がそのままテキストとして挿入されるモードです。
i(カーソル位置)、a(カーソルの右)、o(下に新しい行を追加)などで移行できます。 - コマンドラインモード(exモード): ファイルの保存や終了、文字列の置換などを実行するモードです。
:を入力して移行し、:w(保存)、:q(終了)、:wq(保存して終了)などのコマンドを入力します。
モード間の切り替え
vim [ファイル名]でファイルを開くと、初期状態はノーマルモードです。テキストを入力するには挿入モードへ移行する必要があります。
- ノーマルモードから挿入モードへ:
i(カーソル位置から挿入)、a(カーソルの後ろから挿入)、o(下に1行追加して挿入) - ノーマルモードからコマンドラインモードへ:
Shift + ;(:を入力) - 各モードからノーマルモードへ:
Escキーを押下
ノーマルモードの主要コマンド
カーソル移動
h/j/k/l: 左 / 下 / 上 / 右へ移動$: 行末へ移動^: 行頭(インデントを除く最初の文字)へ移動gg: ファイルの先頭行へ移動G: ファイルの最終行へ移動nG: n行目へ移動nEnter: n行下へ移動w/b/e: 次の単語の先頭 / 前の単語の先頭 / 現在または次の単語の末尾へ移動
削除
x: カーソル位置の文字を削除nx: カーソル位置から右へn文字削除X: カーソルの前の文字を削除nX: カーソルの前へn文字削除dd: カーソル行を切り取り(削除)ndd: カーソル行からn行を切り取り(削除)
コピー&ペースト
yy: カーソル行をヤンク(コピー)nyy: カーソル行からn行をヤンクp: ヤンクした内容をカーソルの下に貼り付け