「シェルプログラミング実用テクニック」 CentOS7向け補足事項(1章~4章)
最近シェルスクリプトに興味を持ち始め、以下の書籍を読んでいるところである。

- 作者: 上田隆一
- 出版社/メーカー: 技術評論社
- 発売日: 2015/05/15
- メディア: Kindle版
- この商品を含むブログを見る
ただ、この本はUbuntu14.04がベースになっており、CentOSに関する記述はない。
そのため、CentOS7でもこの書籍を堪能したいぞということで、読むうえで必要になる知識を記事にしてみた(主にコマンドの導入についてですね)。
なお、全部を書くのは長くなるし、とりあえず読み終えた1章から4章に関して記載する。
最初に
該当の書籍のサンプルはGithubに以下のとおり存在する。
ryuichiueda/GihyoShellBookSamples
第1章
manコマンドの日本語化
日本語manページを以下の通りインストールする。
# yum install man-pages-ja
なお、サーバーのローケルを日本語にすること。
treeコマンド
普通にyumでインストール可能。
# yum install tree
AWKとsedについて
基本的にCentOSに入っているAWKはGAWK、sedはgsedであるので、特別注意する必要はない。
# awk --version
GNU Awk 4.0.2
【中略】
# sed --version
sed (GNU sed) 4.2.2
【中略】
Open-usp-Tukubaiについて
以下のGitHubのサイトよりダウンロードを行う。
usp-engineers-community/Open-usp-Tukubai
ダウンロード後、COMMANDSディレクトリ以下のファイル群を/usr/local/binに配置する。
第2章
MeCabコマンド
yumでMeCabをインストールを参考にインストール。
Groongaリポジトリに存在するので、リポジトリ情報のrpmをインストールすることでMeCabをインストールできるようになる。
# yum localinstall http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
# yum install mecab mecab-ipadic
aspellコマンド
EPELに存在するので、epel-releaseを事前にインストールする必要がある。
# yum install epel-release
# yum install aspell-en aspell
nkfコマンド
EPELに存在するので、epel-releaseを事前にインストールする必要がある。
# yum install epel-release
# yum install nkf
第3章
inotify-toolsのインストール
【CENTOS 7】【INOTIFY-TOOLS】をインストールとUse inotify-tools on CentOS 7 or RHEL 7 to watch files and directories for eventsを参考にインストールした。
CentOS6までであれば、inotify-toolsはDag RPM Repositoryにあるので、そこからインストールすればよい。
しかし、CentOS 7にはDag RPM Repositoryにinotify-toolsがない。
http://ftp.riken.jp/Linux/dag/redhat/el7/en/x86_64/dag/RPMS/
よって、直接ダウンロードして、makeする必要がある。
なお、バージョンがどれが最新化を把握する方法がないため、両方のサイトで使われている「inotify-tools-3.14.tar.gz」をインストールすることにした。
# yum install gcc make
# cd /usr/local/src
# curl -O http://jensd.be/download/inotify-tools-3.14.tar.gz
# tar xvzf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure
# make
# make install
以下を実行し、ファイルがあればOK。
# ls -l /usr/local/bin/inotify*
-rwxr-xr-x 1 root root 60900 9月 29 00:00 /usr/local/bin/inotifywait
-rwxr-xr-x 1 root root 55191 9月 29 00:00 /usr/local/bin/inotifywatch
第4章
barcodeコマンド
EPELに存在するので、epel-releaseを事前にインストールする必要がある。
# yum install epel-release
# yum install barcode
qrencodeコマンド
特に準備なしにインストール可能。
# yum install qrencode
wkhtmltopdfコマンド
まずは、wkhtmltopdf自体のインストールを行う。
wkhtmltopdfは、EPELに存在するので、epel-releaseを事前にインストールする必要がある。
# yum install epel-release
# yum install wkhtmltopdf
次に日本語フォントをインストール。
yumでかんたんにインストールできるIPAフォントを入れる。
# yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
なお、個人的に好みなvlgothic-fontsも入れちゃうw
# yum install vlgothic-fonts
libpng libjpeg-turboのインストールする。
# yum install libpng libjpeg-turbo
Xサーバーを入れていない場合、Xvfdの助けが必要になる。
そのため、Xvfbをインストールする。
# yum install Xvfb
PDF化してみる。
# curl -O http://yahoo.co.jp/index.html
# xvfb-run wkhtmltopdf index.html index.pdf