実践演習
実践演習
nkfパッケージのインストールについて
これからパッケージ管理システム(yumコマンド)を使ってnkfパッケージのインストールを行います。
nkfとは
nkfは文字コードの変換を行うソフトウェアです。
OS間でファイルを移動する際、ファイルの文字コードや改行コードが異なると、文字化けなどの原因になるので、正しく読み込むためにnkfのような文字コードを変換する機能が必要になります。
補足:文字コードとは
また文字コードとは、コンピュータが文字を処理するために、各文字に割り振られた番号(数値)です。
「あ」は「001」、「い」は「002」といった感じで、番号が割り振られているので、文字コードに従って、番号に対応した文字が表示されます。
文字コードのルールによって各文字に対応する番号が異なるため、文字コードが異なるファイルを開くと、文字化けが発生することがあります。
一方、改行を表すために用いられる番号(数値)を、改行コードと呼びます。
nkfパッケージのインストール手順
① EPELリポジトリの追加
CentOS7の標準(既存)リポジトリには、nkfパッケージが存在しないので、nkfパッケージを含むEPELリポジトリをインストールします。
② nkfパッケージのインストールと初期設定
nkfパッケージをインストールし、nkfコマンドを利用できるよう設定をします。
③ nkfコマンドの使用
nkfコマンドを利用します。
① EPELリポジトリの追加
CentOS7の標準(既存)リポジトリには、nkfパッケージが存在しないので、nkfパッケージを含むEPEL* リポジトリをインストールします。
実践:EPELリポジトリのインストール
[root@localhost ~]♯yum -y install epel-release
*EPEL (Extra Packages for Enterprise Linux)について
Fedoraプロジェクトの技術者たちがFedora のパッケージをRed Hat Enterprise Linux (RHEL) やその互換ディストリビューション上で使用したいという要望から作成された拡張パッケージ。
RHELクローンとしてサーバー用途に用いられることが多いCentOSは簡素で堅牢なパッケージを提供する傾向にあります。
CentOSの公式リポジトリは保守的でパッケージ数も多くないため、EPELなどを追加し必要なパッケージを追加するといった使い方がされます。
② nkfパッケージのインストールと初期設定
実践
1) nkfパッケージのインストール
[root@localhost ~]♯yum -y install nkf
2) インストールしたnkfのバージョンの確認
[root@localhost ~]♯nkf --version Network Kanji Filter Version 2.1.3 (2013-11-22) Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa). Copyright (C) 1996-2013, The nkf Project.
3) nkfコマンドが使えるように設定する
nkf(文字列変換)をコマンドとして利用できるようにするため、 「/usr/local/bin/nkf」から「/usr/bin/nkf」へシンボリックリンクを張ります。
[root@localhost ~]♯ln -s /usr/local/bin/nkf /usr/bin/nkf
③ nkfコマンドの使用
オプションの一覧
実際にコマンドを使用する前に、以下のオプションを確認しましょう。
実践①:文字コード変換で使用するファイルを用意する
1) ファイルを作成するため、Viエディタを起動します。
[root@localhost ~]♯ vi a1
2) インサートモード(編集モード)を起動する
「i」のキーを押す)を実行して、インサートモードに切り替えます。
画面左下に、「-挿入-」という文字が表示されます。
3) 下記の内容を記載します
あいうえお
4) インサートモードを終了する
インサートモードを終了するため、[Esc]キー をクリックしてください。
画面左下に「-挿入-」という文字が、表示されなくなったことがわかります。
5) 上書き保存する
上書き保存するため、「:wq」をタイプして、「Enter」キーをクリックします。
※ タイプすると画面左下に、タイプした文字が表示されますので、「:wq」をタイプし、「Enter」キーをクリックしてください。
実践②:文字コードを確認する
1) サーバー(CentOS)の文字コードを確認する
[root@localhost user11]# echo $LANG ja_JP.UTF-8
2) 作成したファイルの文字コードを確認する
[root@localhost]# nkf --guess a1 UTF-8 (LF)
実践③:文字コード、改行コードを変換する
1) 文字コードを変換する
a. ファイル「a1」の文字コードを「shift-JIS」に変換したファイル「ai_sijs」を作成します。
[root@localhos]# nkf -s a1 > ai_sjis
b. 作成したファイル(ai_sijs)の文字コードを確認します。
[root@localhost]# nkf --guess ai_sjis Shift_JIS (LF)
2) 改行コードを変換する
a. ファイル「a1」の改行コードを「CR」に変換したファイル「ai_cr」を作成します。
[root@localhost]# nkf -w -Lm a1 > ai_cr
b. 作成したファイル(a1_cr)の改行コードを確認します。
[root@localhost]# nkf --guess ai_cr UTF-8 (CR)
3) 元ファイルの文字コードを変換する
a. ファイル「a1」の文字コードを「EUC-JP」に変換し、上書きします。
[root@localhost]# nkf -e --overwrite a1
b. ファイル「a1」の文字コードを確認します。
[root@localhost]# nkf --guess a1 EUC-JP (LF)
パッケージのアップデートの手順
① インストール済みのパッケージの一括アップデート
既にインストールされているパッケージをまとめて最新のものにアップデートします。
② パッケージのダ自動アップデートの設定
「yum-cron」というサービスを利用して、パッケージが自動でアップロードされるように設定します。
① インストール済みのパッケージの一括アップデート
既にインストールされているパッケージをまとめて最新のものにアップデートします。
以下のコマンドに、引数に何も指定しなければ、全てのパッケージを一括で更新できます。
実践
[root@localhost ~]#yum -y update Complete!
②自動更新を有効にする(yum-cronの利用)
続いてパッケージの自動更新を有効にするため、「yum-cron」というサービスを利用します。
yum-cronとは
このサービスは、既にインストールされているパッケージの更新状況を管理するためのサービスです。
具体的には更新状況を確認したり、自動更新を有効にすることができます。
実践①:yum-cronのインストール
yum-cronのインストール(※任意)
環境によっては「yum-cron」がデフォルトでインストールされていますので、必要な方はインストールしてください。
[root@localhost ~]♯yum -y install yum-cron
yum-cronのインストール状況の確認
「yum-cron」がインストールされているのかを確認します。インストールされていない場合は、「1. yum-cronのインストール」を実施してください。
[root@localhost ~]♯yum list installed | grep yum-cron yum-cron.noarch 3.4.3-168.el7.centos @base
yum list installed | grep パッケージ名
指定のパッケージのインストール状況を確認できます。
yum list installedでインストール済みのパッケージの一覧を確認し、grepコマンドで指定のパッケージ名だけの情報に限定することができるからです。
実践②:自動更新の機能を使うための設定
yum-cronで自動更新を有効にする機能を使うための、設定を行います。
設定するためには、yum-cronの設定ファイル「/etc/yum/yum-cron.conf」を編集します。
1) ファイルを作成するため、Viエディタを起動します。
[root@localhost ~]♯vi /etc/yum/yum-cron.conf
2) インサートモード(編集モード)を起動する
「i」のキーを押す)を実行して、インサートモードに切り替えます。画面左下に、「-挿入-」という文字が表示されます。
3) 下記の通りに編集します
# Whether updates should be applied when they are available. Note # that download_updates must also be yes for the update to be applied. apply_updates = yes
図
4) インサートモードを終了する
インサートモードを終了するため、[Esc]キー をクリックしてください。
画面左下に「-挿入-」という文字が、表示されなくなったことがわかります。
5) 上書き保存する
上書き保存するため、「:wq」をタイプして、「Enter」キーをクリックします。
※ タイプすると画面左下に、タイプした文字が表示されますので、「:wq」をタイプし、「Enter」キーをクリックしてください。
実践③:自動更新サービスの起動
1) 自動更新サービスの起動
[root@localhost ~]#systemctl start yum-cron
2) Linuxの起動時に自動更新サービスが起動するよう設定
[root@localhost ~]#systemctl enable yum-cron
パッケージアップデートの自動起動について
本番系サーバーではバージョンが変わることによって障害が起きたりするので、通常、この作業は行いません。
一般的には、アップデートすべきパッケージがどれだけあるか、毎日チェックし、そのチェック結果を通知する仕組みを採ることが多いです。
【補足】systemctlコマンドについて
systemctlコマンドについて
特定のサービス(プログラムやアプリケーション)を、起動したり、停止するなど、サービスを管理するためのコマンドです。
オプションの内容によって、起動するのか、停止するのかを指定できます。