どこかに向かうらしい話

迷走エンジニアの放浪記

「シェルプログラミング実用テクニック」 CentOS7向け補足事項(1章~4章)

最近シェルスクリプトに興味を持ち始め、以下の書籍を読んでいるところである。

シェルプログラミング実用テクニック

シェルプログラミング実用テクニック

ただ、この本はUbuntu14.04がベースになっており、CentOSに関する記述はない。
そのため、CentOS7でもこの書籍を堪能したいぞということで、読むうえで必要になる知識を記事にしてみた(主にコマンドの導入についてですね)。
なお、全部を書くのは長くなるし、とりあえず読み終えた1章から4章に関して記載する。

最初に

該当の書籍のサンプルはGithubに以下のとおり存在する。

ryuichiueda/GihyoShellBookSamples

第1章

manコマンドの日本語化

日本語manページを以下の通りインストールする。

# yum install man-pages-ja 

なお、サーバーのローケルを日本語にすること。

treeコマンド

普通にyumでインストール可能。

# yum install tree 

AWKsedについて

基本的にCentOSに入っているAWKGAWKsedは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