2018年1月19日金曜日

華麗なるLinuxの世界15 〜ソフトウェアインスコ祭り3〜

華麗なるLinuxの世界15 〜ソフトウェアインスコ祭り3〜

まだまだいっくよ〜w
今回はdbp, chrome, ffmpeg, mcomix, python3.x, JDK

まずdbp
dbpとはdavid's batch processor
gimpの拡張機能である。
gimpは無料版フォトショと言われる事がある。
そしてgimpがフォトショに負けている点が「バッチ処理」
バッチ処理とはバッチバチーと複数のファイルを
一気にまとめて処理する事(半分ウソで半分正解w)
ちなみにパッチ(patch)とバッチ(batch)は違う。
大阪名物パチパチパンチはもっと違う。
パッチとは不具合等の修正プログラム
パッチワークのパッチだ。
バッチとは複数の処理をまとめて行う事。
dbpはgimpの弱点であるバッチ処理機能を追加するもの。
fedoraの場合は簡単でリポジトリから拾ってこれる。
centosの場合は今の所どこのリポジトリにも無い。
(マイナーなリポジトリにあったり
別の名前で登録されてたりという可能性はある)
今回はdbp本家からソースを拾ってきてビルドする。
ここ(リンク)が本家 ソースが拾える
# yum install gimp-devel // 依存関係で必要
// g++も必要だが私の場合はインストール済みだった
$ tar -xzvf dbpSrc-1-1-9.tgz
// コマンドラインで解凍している
$ cd dbp-1.1.9
// 解凍の結果dbp-1.1.9というフォルダに展開されるので
// その中に入る
$ make install
// dbpのソースを展開し、展開先のフォルダで
// この1行だけで実行すればインストール完了
// gimpを起動するとfiltersの最下段にbatch process...が
// 追加されている

次。chrome
chromiumというchromeソックリのソフトもある。
これはchromeの拡張機能もそのまま使える。
だからchromeはいらないとも言える。
firefoxはあるし、adobe flashも入れられるので
今更chromeの必要性は薄い。
しかしchromeは今や世界で一番使われているブラウザだと
一部の統計では言われている。だから需要はあるだろう。
参考:これは2017年12月時点でのブラウザのシェア 
ソースはここ
ちなみに日本のシェアはこれ(ソースは同じ)
相変わらずグズでマヌケの日本人どもであった。
こういう批判をされるとすぐに
「特定のホームページが見たい訳であって
道具が何であろうがそれは個人の自由だ」云々と
「手段ガー、目的ガー」と謎の言い訳を始めるバカがいる。

・・・。ほう、そうかそうか。
特定のホムペが見られたらそれで満足か。
では、linuxを使う事に何の問題も無かろう?
何しろ、特定どころか、どこのホムペでも見られる。
flashだろうがHTML5だろうがとっくの昔に対応済み。
いや、むしろIEなんかより先に対応済みなんだが?
...というと謎のダンマリ発動の模様w
せいぜい出てくる反応は「もし何かあったら困る」程度の事。
尚、IEでは毎日毎日、その「もし」が起きているが
これは「仕方がない」らしい。もはやカルト信者脳丸出し。
尚、2017年12月のOSのシェアではwin10が30%超(ソース
ちなみにサクッとwindows vistaが無かった事にされているが
そこは黒歴史だw そっとしておいてあげてほしい(爆w
ちなみに私はvistaは発売日当日から
「これはあかんやつや。買う奴はバカ」と叩いてましたけどw 
そしてwindows10でのデフォルトのブラウザはedge。
だが、そのedgeのシェアは30%どころか3%すら危うい件。
OSのシェアが30%ならブラウザのシェアも30%ではないのか?
「ブラウザにこだわりなんか持つのはオタクだけ」と
さも、innocentなパンピーを気取った発言が多い。
もしもそれが正当なものであるのなら、
OSのシェアとブラウザのシェアは連動しないとおかしいだろう。
この矛盾を何とも思わないのか。実に頭が悪い。老害以下。
あくまでも自分はスタンダードでノーマル。
自分の知らない事・分からない事はオタク知識。
そんなものにこだわるのは病的なマニアだけ。
都合の悪い事は見なかった事、聞かなかった事にすれば万事解決。
自分がしてる事は常に常識的で模範的でマトモで正道。

まるで「自分は普通の日本人」と必死に「普通アピール」をする
ネトウヨどもと同じではないか。
そんなに「普通」は価値のある事か?
仕事だろうが勉強だろうが偉いのは勝者であり
イチバンではないのか?
それがオンリーワンだかナンバーワンだか
そんなクズな屁理屈はどうだっていい。
スタンピードに弱い、足の引っ張り合いしかできない
村人根性、田舎っぺ根性丸出しのバカが多すぎて話にならない。
そういう自分本位の塊みたいなバカと私は何度も口論してきた。
「IE以外使うのはキモヲタ」と勝手に決め付ける連中が
キチガイみたいに朝から晩まで触ってるのが
あいほんなのは、なぜか?あいほんにIE入っていたのか?
こういうジョークにしても五流以下の茶番が日本のリテラシーだ。

頭の悪いバカどもは放っておこう。
簡単にchromeインストール方法のみ紹介。
(chromiumにも手間さえかければflashは入る。
私は過去にadobe flashではなく
Pepper Flashを入れていた時期もある。)

google本家リンクでchromeはflashとセットで配布中。
rpm=fedora/centos/opensuse版と
deb=debian/ubuntu版がある。
ダウンロードしたrpmをインストールすれば終了
# rpm -ivh google-chrome-stable_current_x86_64.rpm

次。mcomix 1.01
スキャナで本を自炊した場合等コミックビューワーが
ほしくなる。mcomixは名作コミックビューワー。
圧縮ファイルでまとめられた画像ファイル(=自炊本)を
いちいち解凍せずに閲覧可能。
unrarやp7zipがインストール済みなら.rarや.7zipにも対応。 
画像のコントラストや明るさ等調整もできるし
最後に開いたページを記憶しておく等、便利機能満載だ。
fedoraならリポジトリから簡単に入れられるが
centosの場合はmcomix本家(リンク)からソースを拾う。
まずはver 1.01から入れる。(1.2系は後述)

mcomixのwiki(リンク)とソースの中のreadmeでは
微妙に動作環境が違う。 
またソースもバージョンによって動作環境が違う。
とりあえずmcomixが動くsystem requirementsは以下。

Python 2.5
Setuptools 0.6, PyGTK 2.12
PIL (Python Imaging Library) 1.1.5 or newer, 

or Pillow (an up-to-date fork) as drop-in replacement for PIL.

まずpythonのバージョン確認
$ python --version
2.7.5 // あっさりクリア
// 注意すべきなのは2系だという点
// pythonの勉強をした事がある人なら常識だが
// pythonはver2からver3に変わる時、大改革があった。
// python2時代のソフトの全滅もやむ無し、ぐらいの改革。
// そして2系列は2020年でサポート終了内定済み
// centos7はyumがpython2系で書いてあるので
// 今すぐ2系を切り捨てはしないはずだ。
// しかしfedoraはとっくにyumを捨ててdnfに移行済み
// dnfの大きな特徴の1つがpython3系列で書き直したという事
// つまり、少なくともyumは将来捨てられる予定。

Setuptools 0.6, PyGTK 2.12
これが色々謎。HPの動作環境は下記
GTK+ and PyGTK 2.14 or newer. 
...ソースに書いてある内容となぜ違う???
私はfedora使いでもあるが、
fedoraは特にGTK+入れなくてもmcomixは動く。
ソースにも出てこないぐらいだからgtk+必須ではないと解釈。
一方、pygtkについては、ここによると
PyGTK is included in most Linux distributions
(including Debian, Fedora, Ubuntu, Opensuse, Gentoo, Mandrake, Redhat, SUSE...)

との事。
これはfedoraでmcomix入れる時にdependenciesで出てくる。
pygtk2 2.24.0-18.fc27が該当すると思われる。
centos7においては
# yum install pygtk2 // インストール済み

次。PILとは何だろう?と調べているとこのHP(リンク)発見。
>Fedora 19 is going to stop shipping python-imaging (PIL)
>and start shipping python-pillow instead. 云々
つまりPILとはpython-imagingであるがそれはもう古い。
現在ではpython-pillowが必要と解釈できる。
(注:元々fedoraが最先端の機能を実験的に装備し
その結果に基づいてRHELやcentosが作られる。
そしてcentos7はfedora19あたりを元にしている。
例えばibus-mozcもfedora19用のソースをいじった事も
この関連である。よって、fedora19時代のPILの記載は
centos7にも当て嵌まる可能性は高い)
# yum install python-pillow

// python-pillow 2.0.0-19.gitd1c6db8.el7(base) 

最後にさっき飛ばしたsetuputilsだ。HP上の
4. Setuputils. In particular, this includes the pkg-resources subsystem of Setuputils which is required for mcomix to run.
ふーむ。同HPではここへリンクが貼ってある。
つまりsetuputilsとはpython-setuptoolsだと思われる。
# yum install python-setuptools
Package python-setuptools-0.9.8-7.el7.noarch already installed and latest version
Nothing to do


では、実際のインストール作業へ。
# python setup.py install

// ソースの解凍先に入ってコレだけでインストール終了
$ mcomix

// 起動確認

毎回毎回ターミナルひらいてmcomix + enter打つのも面倒
左上のapplicationや右クリックのコンテキストメニューから
起動できるようにする。
これはfirefox quantum入れた時の作業の応用でできる。
# nano mcomix.desktop
// 以下の内容で作成してctrl + o >> enter >> ctrl + x
// 勿論Icon=の行とか各自で調整する
[Desktop Entry]
Name=mcomix
Exec=/usr/bin/mcomix %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/asahinamikuru/Downloads/mcomix.png
StartupWMClass=mcomix
StartupNotify=true
MimeType=image/bmp;image/gif;
Categories=Graphics;

# cp ./mcomix.desktop /usr/share/applications/

次。mcomix 1.2.1
mcomix1.0.1のインストールができたので
最新バージョン(1.2.1)も動くのかと試してみた。
実はこれはインストールはできるが起動しない。
ターミナル上では
"ImportError: cannot import name _getexif"
というエラーが出る。
これを検索してもズバリ同じエラーが見つかりはしない。
まして対策はもっと見つからない。

古い版と新版で何が違うんだろう?と調べてみた。
ChangeLogによると(リンク

MComix 1.01
... I have neither the time, nor the incentive or motivation
to continue working on MComix

(it does what I need it to do, put simply).
Thus, I'm retiring from my current position today. 

引退宣言らしき一文がある。
そして1.1を飛ばして1.2が発表されている。
dependenciesを見ても、どうも1.0系と1.2系は
ちょっと断絶がある模様。

ところでfedora27はリポジトリを追加しなくても
mcomix 1.2.1が入る。
その時のdependenciesを見れば何を用意すればいいのかの
ヒントになるはずだ。
fedora27におけるdependenciesは以下の7つ。

pygobject2 2.28.6-19.fc27
pygtk2 2.24.0-18.fc27
python-subprocess32 3.2.6-8.fc27
python-xpyb 1.3.1-9.fc27
python2-cairo 1.15.3-1.fc27
python2-olefile 0.44-3.fc27
python2-pillow 4.3.0-1.fc27

この中でcentos7でも単純に入れられるのは
python2-olefile 0.44-4.el7(epel)
pygtk2-2.24.0-9.el7.x86_64(already installed)

以上2つのみ。

python2-pillowとは
centos7においてはpython-pillowだと思われる。
しかしコレを入れただけではまだエラーが消えない
Pillowを入れる、それも最新版を入れる事が必要。
それは後述。

まずは必要なものを集めるにしても
リポジトリでヒットしないという問題の対応からだ。
fedoraでdnf info xxxと打つと各パッケージの詳細が出る。
centos7におけるyum info xxxと同じだ。
この詳細の中にURLが含まれるので
それをブラウザで開けば1つ1つ拾い集める事ができる。
拾ったとしてもrpmファイルとは限らないのに
どうやってインストールする?というのは
READMEなり何なり開けば書いてある。
基本的には、setup.pyがあれば
# python setup.py install
Makefileがあれば
# ./configure
# make
# make install
大体このどちらかでおk。

# yum install --enablerepo=epel xcb-proto \
python-devel cairo cairo-gobject-devel python-pip
// これは後で「xxxがありません」のエラーで止まるのが
// 邪魔臭いから先に必要なものをインストールしている

ここでsubprocess32-3.2.7.zipを拾って解凍。
# python setup.py install // 解凍先でコレ実行

ここでxpyb-1.3.1.tar.bz2を拾う
# ./configure // 解凍先で以下3行実行
# make
# make install


ここでpycairo-1.15.4.tar.gz拾う
# python setup.py install // 解凍先でコレ実行


ここでpygobject-2.90.1.tar.bz2拾う
# ./configure
// 解凍先で以下3行実行
# make
# make install
 


# pip install --upgrade pip
// Successfully installed pip-9.0.1
# sudo pip install -U Pillow // Pillowのアップグレード

mcomix1.2.1のソースを解凍 解凍先で以下実行
# python setup.py install

# exit
$ mcomix // 起動確認

次。python3.x
centos7は初期状態ではpythonは2系列しか入っていない。
これからpythonを勉強するなら2系列より3系列の方がよかろう。
そこで最新版の3.6を入れてみる。
入れ方もいろいろあるので2つ紹介してみる

python3.6-A
参考リンクはこことかここ
IUS Community Projectのリポジトリから拾う。
IUS Community Projectとは?→ここ等参照
# yum install https://centos7.iuscommunity.org/ius-release.rpm
// リポジトリ追加 epelみたいにデフォは無効にしてもよい
$ yum search python36

// ヒットするんだろうか?と試しているだけ
// (この1行は省略してもいい)
# yum install python36u python36u-libs python36u-devel python36u-pip

// 実際のインストール
$ python --version
Python 2.7.5

// 元々入っていた2.7.5は生きている
$ python3.6 --version
Python 3.6.4 

// python3系列はpython3.6コマンドで呼べるようになった

python3.6-B
ここにはまた違う方法が紹介されていた。
# yum install centos-release-scl-rh centos-release-scl
// scl=software collectionのリポジトリを追加している

// このSCLにpython3.6がある
// 勿論epel同様初期設定は無効化しておくのもアリ
# yum --enablerepo=centos-sclo-rh install rh-python36
// SCLのパッケージは /opt 配下にインストールされる

// つまり2.7系と共存可
# python -V
// バージョン確認
Python 2.7.5
// あれ?ワイ氏のpython3はどこやで?
# which python
// pythonコマンドはどこにあるやで?
// 今、pythonと呼んで反応するプログラムはどこのどれか
// パスがどこに通っているのかを確認している。
/usr/bin/python
// ここやで?
# scl enable rh-python36 bash
// 実は、環境変数を読み込んで利用する
# python -V

// 再確認。python -Vはpython --versionと同じ事。
// ちなみにpython -vは間違い。
// これはpythonが起動するだけ
// しかもverbose=普段は表示しないような
// 確認メッセージを全部ドカドカ表示するモード
Python 3.6.3
// めでたく3.6発見
# which python
/opt/rh/rh-python36/root/usr/bin/python

// pythonコマンドはここやで?と先程とは違う回答が出た。
// めでたくpython3による乗っ取りが成功している。
# nano /etc/profile.d/python36.sh
// 毎回毎回環境変数読み込みも面倒なので

// ログイン時に自動で3系を有効化する設定ファイルを書く

#!/bin/bash
source /opt/rh/rh-python36/enable
export X_SCLS="`scl enable rh-python36 'echo $X_SCLS'`"
// ctrl + o >> enter >> ctrl + x

次。JDK
ibus-mozcの項目で1.8ガーと書いておいてナンだが
JDKは既にオラクルが1.9を発表済み。
という事で1.8を飛ばして1.9を入れてみる。
ここのHPで紹介されていた方法を真似してみる。
まずオラクルのHP(ここ)で最新版のバージョンその他確認
(ダウンロードページでダウンロードリンクを右クリックして
copy link location押す)
2018年1月19日現在の最新版は
http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.rpm
...である(注:改行禁止) よって
# curl -LO -H "Cookie: oraclelicense=accept-\
securebackup-cookie" "http://download.oracle.com\
/otn-pub/java/jdk/9.0.4+11\
/c2514751926b4512b076cc82f959763f\
/jdk-9.0.4_linux-x64_bin.rpm"  
// これでダウンロード開始(例の改行取り消しをつけてある)
# java -version
// 最初に入ってるjavaは?
openjdk version "1.8.0_151"

// 1.8である
# rpm -Uvh jdk-9.0.4_linux-x64_bin.rpm 

// インストール開始
# java -version
// バージョン再確認
java version "9.0.4"

// めでたく9が入った
# javac --version
// ついでにコンパイラも確認
javac 9.0.4

// めでたく9が入った

最後 ffmpeg
本家HPでコマンドラインによるインストール方法が
書いてあるから入れればいいと思うよ?(爆w
ちなみにnux-dextopにもffmpegは置いてある

次回はいよいよ美人OLおパンツ鑑賞会

最後はお約束のひと言をオナシャス
「黒幕はキリスト教徒!」


0 件のコメント: