2015年11月9日月曜日

Fedora23でsyslog無くなってた


正確にはFedora20ぐらいからsyslog無くなってたらしい。
最近はFedora触ってなかったので知らなかった。。。

代わりに/var/log/journalが役目を果たしているとのこと。
journalctlでsyslog相当の一番古いブートログから見ることができる。

# journalctl -b
だと最近のブートログだけが見れる。
# journalctl --list-boot
-17 e706327cdc3d42c1a10a6e3e122fb26a 木 2015-05-28 02:23:53 JST—木 2015-05-28 02:36:30 JST
-16 af151fb0e5e941e9aabc090640aab990 日 2015-05-31 13:22:02 JST—日 2015-05-31 13:42:30 JST
-15 836febc5fd084df0af25259f90aebe2e 日 2015-06-07 02:48:32 JST—日 2015-06-07 02:49:39 JST
-14 ece8ea7e1ac946c7996628baeeb11a17 金 2015-06-26 02:19:21 JST—金 2015-06-26 02:26:25 JST
-13 3150061f8d4b4f2593ff0c2e402e8fc8 月 2015-07-20 03:23:42 JST—月 2015-07-20 03:25:57 JST
-12 6c303fa35f954dbd98add02f8689770e 月 2015-11-02 01:49:21 JST—月 2015-11-02 02:20:52 JST
-11 b68b798a119748c5ba73baed49c88b3d 月 2015-11-02 02:21:05 JST—月 2015-11-02 02:48:38 JST
-10 41f22a7f5c694bb186d4ec66a19877c6 水 2015-11-04 23:57:57 JST—木 2015-11-05 00:13:25 JST
 -9 f029de9794c544baa6805e7d891453a7 木 2015-11-05 00:46:50 JST—木 2015-11-05 01:17:15 JST
 -8 563afecb5e5949e4933432f895d24c68 木 2015-11-05 01:17:24 JST—木 2015-11-05 01:33:55 JST
 -7 a36af9e5644642c2bbddc57e04f77140 木 2015-11-05 01:34:06 JST—木 2015-11-05 01:38:54 JST
 -6 f82ec15f399449a9ab67fa0f15597469 月 2015-11-09 16:17:33 JST—月 2015-11-09 16:49:28 JST
 -5 ea18424ed34742eab03756e993568956 月 2015-11-09 18:40:36 JST—月 2015-11-09 19:07:46 JST
 -4 890244106b104813927f868501ddae43 月 2015-11-09 19:07:54 JST—月 2015-11-09 19:43:16 JST
 -3 c0c97f291ec04df685b1dcf385f3ca88 月 2015-11-09 22:40:21 JST—月 2015-11-09 22:46:04 JST
 -2 a00c9d8fc8444bcaa7f3550c66144450 月 2015-11-09 22:46:13 JST—月 2015-11-09 23:04:43 JST
 -1 6bb9be41751a4bfc801b9406dfd57d06 月 2015-11-09 23:04:50 JST—月 2015-11-09 23:21:44 JST
  0 e38ced96031b4b1989ee737c5625c260 月 2015-11-09 23:21:53 JST—月 2015-11-09 23:24:40 JST
--list-bootを付けるとログに残っているbootのリストが見れるようだ。

今日の作業

今日はHTMLの画像の抽出とFedora23 Desktopの環境整備で終わった。意外とFedora23 Desktopを開発環境にしようとすると細かいところでめんどくさかった

Fedora23で日本語入力環境を作る

Fedora23を使ってたらやっぱり日本語入力したくなったのでメモ。

とりあえずibusでいいかと思い、ibus-mozcをインストールする。
# dnf -y install ibus-mozc
================================================================================
 パッケージ        アーキテクチャ
                          バージョン                               リポジトリ
                                                                           容量
================================================================================
インストール中:
 ibus-mozc         x86_64 2.17.2077.102-5.fc23                     fedora 413 k
 mozc              x86_64 2.17.2077.102-5.fc23                     fedora  18 M
 xemacs-filesystem noarch 21.5.34-12.20150929hga76c9268bb72.fc23   fedora  21 k
 zinnia            x86_64 0.06-26.fc23                             fedora  68 k
 zinnia-tomoe-ja   x86_64 0.06-26.fc23                             fedora  12 M
 
トランザクションの要約
================================================================================
インストール  5 Packages
 
総ダウンロード容量: 30 M
インストール済み容量: 56 M

リブート
# reboot

[アクティビティ]→[設定]→[地域と言語]を選択する。

日本語を選択し
 左下の[+]をクリック
[日本語(Mozc)]をクリック
右上の入力モードの変換部分で日本語(Mozc)を選択する。

geditなどで確認してみる。かなキーで日本語入力できれば問題なし。


(補足)
Mozcを追加した直後、入力ソースで二番手になっているので、デフォルトをMozcにするためにMozcを選択し[↑]で一番上にしておくとよい

【設定前】


【設定後】

Fedora23 Desktopで開発環境をそろえてみた



Fedora23で開発環境をそろえるためにやったこと。

Fedora22からyumではなく、dnfコマンドに置き換わっているので、それを使ってのメモ。

開発環境はコンパイラやライブラリが必要なのでグループを調べてみた。
# dnf group list
利用可能な環境グループ:
   最小限のインストール
   Fedora Server
   Fedora Workstation
   Fedora Cloud Server
   KDE Plasma デスクトップワークスペース
   Xfce デスクトップ
   LXDE デスクトップ
   LXQt Desktop
   Cinnamon デスクトップ
   MATE デスクトップ
   Sugar デスクトップ環境
   開発環境とクリエイティブワークステーション
   Web サーバー
   インフラサーバー
   基本的なデスクトップ環境
利用可能なグループ:
   管理ツール
   Audio Production
   著作と発行
   本とガイド
   C 開発ツールとライブラリー
   クラウド基盤
   Cloud Management Tools
   Container Management
   D Development Tools and Libraries
   デサインスイート
   開発ツール
   Domain Membership
   Fedora Eclipse
   エディタ
   教育用ソフトウェア
   電子ラボラトリ
   技術系と科学系
   FreeIPA Server
   ゲームと娯楽
   Headless Management
   LibreOffice
   MATE Applications
   MATE Compiz
   医療アプリケーション
   Milkymist
   ネットワークサーバー
   Office/生産性
   ロボット
   RPM 開発ツール
   セキュリティラボ
   サウンドとビデオ
   システムツール
   テキストベースのインターネット
   3D プリント
   ウィンドウマネージャ
ここから"開発ツール"をインストールする。
出力ログも念のためメモ。
# dnf group install "開発ツール"
================================================================================
 グループ        パッケージ                                                   
================================================================================
Marking installed:
 開発ツール      mercurial                   rcs                    scanmem   
                 qgit                        svn2cl                 tkcvs     
                 translate-toolkit           utrac                  diffstat  
                 mr                          quilt                  gtranslator
                 dejagnu                     patchutils             cvs2cl    
                 lcov                        manedit                cvsps     
                 gitg                        meld                   nemiver   
                 systemtap                   darcs                  bzr       
                 subunit                     gettext                cvs       
                 doxygen                     robodoc                gambas3-ide
                 subversion                  tortoisehg             expect    
                 archmage                    buildbot               colordiff 
                 giggle                      git                    tig       
                 git2cl                      cvsgraph               highlight 
                 git-annex                   bzr-explorer           git-cola  
                 rapidsvn                    monotone               tailor    
================================================================================
 パッケージ              アーキテクチャ
                                     バージョン              リポジトリ    容量
================================================================================
インストール中:
 cpp                     x86_64      5.1.1-4.fc23            fedora       8.5 M
 cvs                     x86_64      1.11.23-39.fc23         fedora       590 k
 diffstat                x86_64      1.60-1.fc23             fedora        41 k
 doxygen                 x86_64      1:1.8.9.1-4.fc23        fedora       4.3 M
 dyninst                 x86_64      9.0.3-1.fc23            fedora       2.9 M
 gcc                     x86_64      5.1.1-4.fc23            fedora        19 M
 isl                     x86_64      0.14-4.fc23             fedora       490 k
 kernel-debug-devel      x86_64      4.2.5-300.fc23          updates      9.9 M
 libdwarf                x86_64      20150915-1.fc23         fedora       131 k
 libmpc                  x86_64      1.0.2-4.fc23            fedora        55 k
 libserf                 x86_64      1.3.8-1.fc23            fedora        57 k
 mokutil                 x86_64      1:0.2.0-3.fc23          fedora        38 k
 patchutils              x86_64      0.3.4-3.fc23            fedora       113 k
 rcs                     x86_64      5.9.4-3.fc23            fedora       244 k
 subversion              x86_64      1.9.2-1.fc23            fedora       1.2 M
 subversion-libs         x86_64      1.9.2-1.fc23            fedora       1.3 M
 systemtap               x86_64      2.9-1.fc23              fedora        23 k
 systemtap-client        x86_64      2.9-1.fc23              fedora       2.9 M
 systemtap-devel         x86_64      2.9-1.fc23              fedora       1.6 M
 systemtap-runtime       x86_64      2.9-1.fc23              fedora       267 k
 
トランザクションの要約
================================================================================
インストール  20 Packages
 
総ダウンロード容量: 54 M
インストール済み容量: 157 M
これだとgcc++、cmakeがインストールされないので、別途インストールする。
# dnf -y install gcc-c++
# dnf -y install cmake

とりあえず。

取得したHTMLから画像ファイルだけを抽出してダウンロードする



取得したHTMLから画像リンクだけを抽出する。

これはリンクを抽出をした場合とほぼ一緒。aタグかimgタグかだけの違い。

showimage.js
var client = require('cheerio-httpcli');
var URL = require('url');
 
var url = "http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8C";
var param = {};
 
/**
 * client.fetch:指定されたURLからHTMLを取得する
 * コールバックfunction:
 *   err:エラー情報
 *   $:取得データ
 *   res:サーバレスポンス
 */
client.fetch(url, param, function(err, $, res){
 if(err){
  console.log("Error", err);
  return;
 }
 $("img").each(function(idx){
  var src = $(this).attr('src');
   
  console.log(src);
 });
});

結果はこんな感じで上手く取得できた。

//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Disambig_gray.svg/25px-Disambig_gray.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Coat_types_3.jpg/240px-Coat_types_3.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Samoyed_600.jpg/180px-Samoyed_600.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/5/52/Rousou1.jpg/120px-Rousou1.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Shiba_inu_zad_rybnik-kamien_pl.jpg/120px-Shiba_inu_zad_rybnik-kamien_pl.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/af/Golden_retriever_eating_pigs_foot.jpg/200px-Golden_retriever_eating_pigs_foot.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Shiba_inu_profile_01.jpg/200px-Shiba_inu_profile_01.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/0/00/Shiba_inu_eyes.jpg/200px-Shiba_inu_eyes.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Canine_reproduction.jpg/200px-Canine_reproduction.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg/200px-Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Wilde_huendin_am_stillen.jpg/200px-Wilde_huendin_am_stillen.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Shiba_inu_Boston_Terrier_greetings.jpg/200px-Shiba_inu_Boston_Terrier_greetings.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Tesem.jpg/200px-Tesem.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/d/da/%E7%8A%AC-oracle.svg/26px-%E7%8A%AC-oracle.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/2/21/Dog_-_Hata_Rokurozaemon_with_his_dog.jpg/150px-Dog_-_Hata_Rokurozaemon_with_his_dog.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Grande_Boucherie_Canine_a_Paris.jpg/220px-Grande_Boucherie_Canine_a_Paris.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Boldini_-_Madame_Rejane.jpg/215px-Boldini_-_Madame_Rejane.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Jomon_People_and_Jomon_Dog.jpg/180px-Jomon_People_and_Jomon_Dog.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/0/02/Inu_ou_mono00.jpg/250px-Inu_ou_mono00.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Tsunyaoshi.jpg/250px-Tsunyaoshi.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/5/52/Border_Collie_sheepdog_trial.jpg/260px-Border_Collie_sheepdog_trial.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Defense.gov_News_Photo_120318-M-MM918-007_-_U.S._Marine_Lance_Cpl._Evan_Frickey_a_dog_handler_with_3rd_Marine_Regiment_plays_with_Cookie_an_improvised_explosive_device_detection_dog_while.jpg/250px-thumbnail.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Dog_attack_%28USAF%29.jpg/220px-Dog_attack_%28USAF%29.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/34px-Wikiquote-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Labrador_Retriever_babies.jpg/250px-Labrador_Retriever_babies.jpg
//upload.wikimedia.org/wikipedia/commons/9/91/Dog_galloping.gif
//upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Wiktionary_small.svg/25px-Wiktionary_small.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/23px-Wikibooks-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/24px-Wikisource-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/22px-Commons-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/27px-Wikinews-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/25px-Wikiversity-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/25px-Wikidata-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikispecies-logo.svg/25px-Wikispecies-logo.svg.png
//ja.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1
/static/images/wikimedia-button.png
/static/1.27.0-wmf.5/resources/assets/poweredby_mediawiki_88x31.png

画像の一括ダウンロード

しかし、これも画像ファイルが相対パスなので絶対パスへ変更してあげる。
変更後、これらをすべて一括でダウンロードしてみる。

その時requestモジュールがあると便利なのでインストールしておく。
# /usr/local/node/bin/npm install request
request@2.65.0 ../../node_modules/request
├── aws-sign2@0.6.0
├── forever-agent@0.6.1
├── tunnel-agent@0.4.1
├── caseless@0.11.0
├── oauth-sign@0.8.0
├── stringstream@0.0.5
├── isstream@0.1.2
├── json-stringify-safe@5.0.1
├── extend@3.0.0
├── tough-cookie@2.2.0
├── node-uuid@1.4.3
├── qs@5.2.0
├── combined-stream@1.0.5 (delayed-stream@1.0.0)
├── mime-types@2.1.7 (mime-db@1.19.0)
├── form-data@1.0.0-rc3 (async@1.5.0)
├── http-signature@0.11.0 (assert-plus@0.1.5, ctype@0.5.3, asn1@0.1.11)
├── hawk@3.1.1 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
├── bl@1.0.0 (readable-stream@2.0.4)
└── har-validator@2.0.2 (pinkie-promise@1.0.0, commander@2.9.0, chalk@1.1.1, is-my-json-valid@2.12.3)

ソースはこんな感じ、ドメイン以降のパスは_に置換して保存するようにしている。
dl-image.js
var client = require('cheerio-httpcli');
var URL = require('url');
var fs = require('fs');
var request = require('request');
 
var savedir = __dirname + "/img";
if(!fs.existsSync(savedir)){
 fs.mkdirSync(savedir);
}
 
var url = "http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8C";
var param = {};
 
/**
 * client.fetch:指定されたURLからHTMLを取得する
 * コールバックfunction:
 *   err:エラー情報
 *   $:取得データ
 *   res:サーバレスポンス
 */
client.fetch(url, param, function(err, $, res){
 if(err){
  console.log("Error", err);
  return;
 }
 $("img").each(function(idx){
  var src = $(this).attr('src');
  src = URL.resolve(url, src);
  var fname = URL.parse(src).pathname;
  fname = savedir + "/" + fname.replace(/[^a-zA-Z0-9\.]+/g, '_');
  request(src).pipe(fs.createWriteStream(fname));
  console.log(src);
 });
});

これで実行ディレクトリ配下にimgフォルダを作成して、そのフォルダにダウンロードした画像が保存される。
_static_1.27.0_wmf.5_resources_assets_poweredby_mediawiki_88x31.png
_static_images_wikimedia_button.png
_wiki_Special_CentralAutoLogin_start
_wikipedia_commons_9_91_Dog_galloping.gif
_wikipedia_commons_thumb_0_00_Shiba_inu_eyes.jpg_200px_Shiba_inu_eyes.jpg
_wikipedia_commons_thumb_0_02_Inu_ou_mono00.jpg_250px_Inu_ou_mono00.jpg
_wikipedia_commons_thumb_1_1e_Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg_200px_Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg
_wikipedia_commons_thumb_2_21_Dog_Hata_Rokurozaemon_with_his_dog.jpg_150px_Dog_Hata_Rokurozaemon_with_his_dog.jpg
_wikipedia_commons_thumb_2_24_Wikinews_logo.svg_27px_Wikinews_logo.svg.png
_wikipedia_commons_thumb_4_4a_Commons_logo.svg_22px_Commons_logo.svg.png
_wikipedia_commons_thumb_4_4c_Wikisource_logo.svg_24px_Wikisource_logo.svg.png
_wikipedia_commons_thumb_5_52_Border_Collie_sheepdog_trial.jpg_260px_Border_Collie_sheepdog_trial.jpg
_wikipedia_commons_thumb_5_52_Rousou1.jpg_120px_Rousou1.jpg
_wikipedia_commons_thumb_5_5f_Disambig_gray.svg_25px_Disambig_gray.svg.png
_wikipedia_commons_thumb_5_5f_Dog_attack_28USAF_29.jpg_220px_Dog_attack_28USAF_29.jpg
_wikipedia_commons_thumb_8_87_Jomon_People_and_Jomon_Dog.jpg_180px_Jomon_People_and_Jomon_Dog.jpg
_wikipedia_commons_thumb_8_89_Labrador_Retriever_babies.jpg_250px_Labrador_Retriever_babies.jpg
_wikipedia_commons_thumb_9_91_Shiba_inu_zad_rybnik_kamien_pl.jpg_120px_Shiba_inu_zad_rybnik_kamien_pl.jpg
_wikipedia_commons_thumb_9_91_Wikiversity_logo.svg_25px_Wikiversity_logo.svg.png
_wikipedia_commons_thumb_9_9a_Boldini_Madame_Rejane.jpg_215px_Boldini_Madame_Rejane.jpg
_wikipedia_commons_thumb_a_a1_Canine_reproduction.jpg_200px_Canine_reproduction.jpg
_wikipedia_commons_thumb_a_a1_Samoyed_600.jpg_180px_Samoyed_600.jpg
_wikipedia_commons_thumb_a_ae_Wilde_huendin_am_stillen.jpg_200px_Wilde_huendin_am_stillen.jpg
_wikipedia_commons_thumb_a_af_Golden_retriever_eating_pigs_foot.jpg_200px_Golden_retriever_eating_pigs_foot.jpg
_wikipedia_commons_thumb_b_b1_Defense.gov_News_Photo_120318_M_MM918_007_U.S._Marine_Lance_Cpl._Evan_Frickey_a_dog_handler_with_3rd_Marine_Regiment_plays_with_Cookie_an_improvised_explosive_device_detection_dog_while.jpg_250px_thumbnail.jpg
_wikipedia_commons_thumb_b_b3_Shiba_inu_profile_01.jpg_200px_Shiba_inu_profile_01.jpg
_wikipedia_commons_thumb_c_c6_Tesem.jpg_200px_Tesem.jpg
_wikipedia_commons_thumb_d_d9_Tsunyaoshi.jpg_250px_Tsunyaoshi.jpg
_wikipedia_commons_thumb_d_da_E7_8A_AC_oracle.svg_26px_E7_8A_AC_oracle.svg.png
_wikipedia_commons_thumb_d_df_Wikispecies_logo.svg_25px_Wikispecies_logo.svg.png
_wikipedia_commons_thumb_e_e3_Coat_types_3.jpg_240px_Coat_types_3.jpg
_wikipedia_commons_thumb_e_eb_Shiba_inu_Boston_Terrier_greetings.jpg_200px_Shiba_inu_Boston_Terrier_greetings.jpg
_wikipedia_commons_thumb_e_ec_Grande_Boucherie_Canine_a_Paris.jpg_220px_Grande_Boucherie_Canine_a_Paris.jpg
_wikipedia_commons_thumb_f_f2_Edit_clear.svg_40px_Edit_clear.svg.png
_wikipedia_commons_thumb_f_f9_Wiktionary_small.svg_25px_Wiktionary_small.svg.png
_wikipedia_commons_thumb_f_fa_Wikibooks_logo.svg_23px_Wikibooks_logo.svg.png
_wikipedia_commons_thumb_f_fa_Wikiquote_logo.svg_34px_Wikiquote_logo.svg.png
_wikipedia_commons_thumb_f_ff_Wikidata_logo.svg_25px_Wikidata_logo.svg.png
こんな感じ。うまいこといった。