SSブログ

Firefox Quantumへの移行の準備 [Linux]

1. 背景


現在、下記のバージョンの Firefox を使用している(mozilla.org からダウンロード)。
できるなら今後も Firefox を使用したいと思っている。

・Firefox 45.9.0 ESR (on CentOS 6)
・Firefox 52.9.0 ESR (on Debian 8/9、CentOS 7、Windows 7)

また、Firefox Quantum (Firefox 57) より前のバージョンのサポートが終了した。
サポート終了後も上記バージョンを使用しようと思っているが、いずれは移行が必要となる。
よって、現状確認のため、Firefox Quantum の導入テストを行った。
なお、今回使用したバージョンは、Firefox 60.2.0 ESR (on Linux) である。


2. 導入の手順


(1) Firefox Quantum のインストール


インストールの手順は、これまでのバージョンと同様である。


(2) Firefox Quantum の設定


3. Firefox Quantum の設定

3-1. アドオンの更新 (WebExtensions に対応済のアドオン)


(1) Adblock Plus


v3.x で対応済であるが、v2.x に比べ使いづらくなっている。
・[詳細設定] の [マイ フィルターリスト] が強制的にソートされる。
 (このため、設定毎のコメントの追加ができない。)

(補足)
uBlock Origin で代替できる。
・uBlock Origin の方が動作が軽いとの情報もある。


(2) Stylish


v3.x で対応済であるが、ポリシー違反により使用不可となっている。

(補足)
Stylish からフォークされた Stylus で代替できる。
・ブラウザの UI や about:addons 等のビルトインページへのスタイル指定はできない。
 (WebExtensions の制約のため。)
・上記のスタイル指定については、user*.css への設定により対応できる。
 (<profile_dir>/chrome/{userChrome.css,userContent.css})


3-2. アドオンの更新 (WebExtensions に未対応のアドオン)


(1) Classic Theme Restorer


WebExtensions の仕様により、ブラウザの UI を変更できない。
よって、この種のアドオンは存在しない可能性が高いと思われる。


(2) Flashblock


Flash Block (Plus) で代替できる。


(3) gtranslate


Simple Translate で代替できる。


(4) Tab Mix Plus


・Tab Mix Plus WebExtensions 対応版が開発中である。
 (Tab Mix - Links)
・当方の使用環境では、なくてもそれ程不便を感じない。


(5) User Agent Switcher


User-Agent Switcher で代替できる。


(6) Vacuum Places Improved


・代替アドオンなし。
・なくてもそれ程不便を感じない。


3-3. アドオンの追加


(1) Restart Browser


Firefox の再起動ボタンをツールバーに表示する。

(補足)
・Classic Theme Restorer で再起動ボタンを表示できなくなったため。
・アドオンを使用しなくても再起動はできる。
 ([about:profiles] -> [通常の再起動...])


3-4. その他の設定


(1) 起動時に表示するページの変更


Firefox Quantum では、about: は不正な URL となる。
よって、about: を表示していた場合には、変更が必要である。

(a) about: に近い設定にする場合


・Firefox の起動時に表示するページ: ホームページを表示
・ホームページ: about:buildconfig


(b) 空白のページを表示する場合


・Firefox の起動時に表示するページ: 空白のページを表示


(c) その他の設定例


・Firefox の起動時に表示するページ: ホームページを表示
・ホームページ: about:about


(2) ツールバーのアイコン表示のコンパクト化


<profile_dir>/user.js に下記の設定を追加する。

// change UI density in Firefox to compact mode
user_pref("browser.uidensity", 1);


(補足)
ツールバー右端のメニューボタンからも変更可能である。
・[カスタマイズ] -> [UI 密度] において、[コンパクト] を選択



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

スクリプト内でPulseAudioのミュート状況を確認する方法 [Linux]

スクリプト内で PulseAudio のミュート状況を確認する必要があり、その対応を行った。
詳細は、以下の通りである。

1. スクリプト内で PulseAudio のミュート状況を確認する方法


(1) amixer コマンドを使用する場合

% amixer -c ${ALSA_CARD:-0} -D default get Master | grep -q '\[off\]'
% echo $?


・0: muting is on, 1: muting is off


(2) pactl コマンドを使用する場合

% pactl list | sed -n '/^Sink #0$/,/^$/p' | grep -q 'Mute: yes'
% echo $?


・0: muting is on, 1: muting is off



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

Linux x86_64でのPDFビューア [Linux]

1. 背景


現在、下記の Linux を使用している。

・Debian GNU Linux 8/9 (32 bit)
・CentOS 6 (32 bit)
・CentOS 7 (64 bit)

また、32 bit 環境では、PDF ビューアに Adobe Reader 9.4.2 を使用している。
64 bit 版でも Adobe Reader を使用できればよいのだが、32 bit 版のライブラリを多数追加インストールする必要があるため、現時点では却下とした。

以下の記載は、64 bit 版 Linux での PDF ビューアを探した時の備忘録である。
なお、要求仕様は、下記の通りである。

・GNOME 等の特定のデスクトップ環境に依存しないこと。
・インストールされるファイルの容量ができるだけ小さいこと。
・日本語の文字化けが発生しないこと。


2. PDF ビューア

2-1. xpdf (xpdf-3.04-9.el7.x86_64)


(1) インストールされるファイルの容量は小さい。

(2) PDF 文書の本文での文字化けは発生しない。

(3) しおりの部分での日本語の文字化けが発生する。


2-2. Firefox のプラグイン


(1) Firefox がインストールされている環境では、別途インストールは不要である。

(2) 本文、しおりとも日本語の文字化けは発生しない。

(3) 現時点では、最も要件に合っていると思われる。



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

ntfscloneでのNTFSパーティションのバックアップ/リストア [Linux]

1. 背景


Linux と Windows をマルチブートしており、Windows のシステムバックアップは、Linux 上の Partimage での NTFS パーティションのバックアップで対応してきた。
しかし、最近、特定のノードにおいて、リストア時にエラーが度々発生するようになった。

・これ以前は、特に問題はなかった。
・当該エラーの発生前に、バックアップ・データが非常に大きなサイズとなる事象が発生した。
 (これ自体がエラーとも考えられる。)
・上記のデータサイズに関する事象の発生後、リストア時のエラーが発生するようになった。

このため、Partimage が NTFS を正式にはサポートしていない(experimental のままで開発が終了している)ことが懸念されるようになり、ntfsclone でのバックアップへの移行を行うことにした。

(補足)
・2 個目以降のファイルの 1 ブロック目を読み飛ばすことで対処できるとの情報もある。
・バックアップ前にデフラグを実施することで改善できるとの情報もある。
・データを gzip で圧縮しているが、このデータの解凍でエラーとなることもある。
・バックアップ時の gzip の integrity チェックでエラーが発生することがある。


2. ntfsclone のインストール


(1) CentOS の場合


ntfsprogs パッケージをインストールする。

(補足)
・ntfsprogs は、EPEL のパッケージである。
・ntfs-3g が依存パッケージとなっている。


(2) Debian の場合


ntfs-3g パッケージをインストールする。


3. 使用方法


(1) バックアップ


(a) NTFS パーティションのデフラグの実施


適度な時間間隔で NTFS パーティションのデフラグを実施する。


(b) NTFS パーティションのバックアップ

(例)
# ntfsclone -s -o - /dev/sda1 | gzip -c > c-drive.img.gz


-s: バックアップ・データの取得
-o: 出力ファイルの指定


(c) gzip の integrity チェック

(例)
# gzip -tv <data-file>


・当該ノードにおいて、稀にエラーを発生することがある。
・エラーとなる場合には、再度バックアップを実施する。
 (現時点では、2 回連続でエラーを発生することはない。)
・この部分でのエラーについては、gzip の問題の可能性もある。


(2) リストア


(a) NTFS パーティションの作成

(例)
# fdisk /dev/sda


(b) NTFS パーティションのフォーマット

(例)
# mkfs.ntfs /dev/sda1


(c) ラベルの設定

(例)
# ntfslabel /dev/sda1 win_1


(d) バックアップ・データのリストア

(例)
# gzip -dc c-drive.img.gz | ntfsclone -r -O /dev/sda1 -


-r: バックアップ・データのリストア
-O: 既存パーテョション/ファイルへの上書きの許可



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

MDデバイスのアラインメントとサイズの変更 [Linux]

1. 背景


ディスク 2 台を使用し、パーティション毎に RAID 1 を構成(mdadm を使用) している。
/boot は MD デバイス上に直接ファイルシステムを作成し、その他は MD デバイス上に LVM を作成し、LV 上にファイルシステムを作成している。

この環境において、ディスクの 1 台が壊れ、新しいディスクへの交換が必要となった。
新しいディスクは AFT 対応で、他方は AFT 未対応のディスクである。

作業の所要時間を重視するなら、下記のような手順での対応となる。
・新しいディスクのパーティション構成を交換前と全く同じにする。
 (AFT 対応のためのアラインメントの変更を行わない。)
・RAID 1 を構成するパーティション間の同期を行う。

今回は、今後の AFT 対応ディスクへの交換を見据え、パーティション構成(アラインメント、サイズ)の変更を行うことにした。
・パーティションの作成には Debian 8 の fdisk (util-linux 2.25.2) を使用する。

以下は、備忘録として、実施手順をまとめたものである。


2. 実施手順


(1) ディスクの交換


・OS のシャットダウン(電源 OFF を含む)
・ディスクの交換
・電源 ON (OS のブートを含む)

(補足)
交換するディスクが /dev/sda の場合には、ブートローダーのインストール(外部メディアから起動してのブートローダーのインストール等)が必要となる。


(2) 新しいディスクでのパーティションの作成


・セクタの開始位置が 8 の倍数になるようにする。
・サイズは、RAID 1 を構成する他方のパーティションのサイズ以上にする。
・この時点では、パーティションのタイプを指定しない(default: 83)。
・全パーテョションの作成後に、設定を反映するために OS を再起動する。


(3) 新しいディスクのパーティション・タイプの変更


RAID 1 を構成するパーティションについて、タイプを fd に変更する。


(4) MD デバイスへのデバイス(新しいディスク上のパーティション)の追加

# mdadm [--manage] <raid-device> --add <device>


・すべての MD デバイスについて実施する。
・データの同期が順次開始される。
・小さい方のデバイスのサイズ分のみが RAID 1 構成となる。

# cat /proc/mdstat


データの同期が終了するのを待つ。


(5) 既存ディスクでのパーティションの削除

# mdadm [--manage] <raid-device> --fail <device>


・MD デバイスの当該デバイス(パーティション)を切り離す(故障状態にする)。
・すべての MD デバイスについて実施する。

# mdadm [--manage] <raid-device> --remove <device>


・MD デバイスから当該デバイス(パーティション)を削除する。
・すべての MD デバイスについて実施する。

# mdadm --misc --zero-superblock <device>


・MD デバイスから削除したパーティションのスーパー・ブロックを初期化する。
・該当するすべてのパーティションについて実施する。

その後、下記の手順を実施する。
・既存ディスク上の全パーティションを削除する。
・全パーテョションの削除後に、設定を反映するために OS を再起動する。


(6) 既存ディスクでのパーティションの作成


・上記の (2) の手順と同様。
・パーティションのサイズは、RAID 1 構成の他方のパーティションと同じにする。


(7) MD デバイスへのデバイス(既存ディスク上のパーティション)の追加


上記の (3)、(4) の手順と同じ。


(8) MD デバイスのサイズ変更

# mdadm --grow <raid-device> --size=max
または
# mdadm --grow <raid-device> -z max


MD デバイスを構成するデバイス(パーティション)のサイズまで拡張される。


(9) MD デバイス上の PV のサイズ変更(LVM を作成した MD デバイスの場合)

# pvresize <raid-device>


・PV のサイズが、MD デバイスのサイズまで拡張される。
・PV のサイズが拡張されることにより、VG のサイズも拡張される。


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

ファイルパスの不要な/の削除 [Linux]

シェルスクリプトで、ファイルパスの不要な / を削除しようとして少々手間取ってしまった。
以下は、備忘録としてまとめたものである。

1. 要求仕様


ファイルパスから不要な / を取り除く。
・/ が連続する部分を / に変更
・最後の / を削除


2. 実行例


(1) sed の場合


(a) 基本正規表現を使用する場合

% echo ..//aa//bb//cc// | sed -e 's!/\{2,\}!/!g' -e 's!\([^/]\)/$!\1!'
../aa/bb/cc
% echo /// | sed -e 's!/\{2,\}!/!g' -e 's!\([^/]\)/$!\1!'
/


(b) 拡張正規表現を使用する場合

% echo ..//aa//bb//cc// | sed -r -e 's!/+!/!g' -e 's!([^/])/$!\1!'
../aa/bb/cc
% echo /// | sed -r -e 's!/+!/!g' -e 's!([^/])/$!\1!'
/


(c) 失敗例

% echo ..//aa//bb//cc// | sed -e 's!/*!/!g' -e 's!\([^/]\)/$!\1!'
/././a/a/b/b/c/c


(2) awk の場合

% echo ..//aa//bb//cc// | \
awk '{gsub(/\/+/, "/"); r=gensub(/([^/])\/$/, "\\1", 1); print r}'
../aa/bb/cc
% echo /// | \
awk '{gsub(/\/+/, "/"); r=gensub(/([^/])\/$/, "\\1", 1); print r}'
/


(補足)
・gsub() および sub() では "\\1" が機能しない。
・gensub() の戻り値は変換後の文字列である(元の文字列を変更しない)。


3. sed の正規表現


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Firefoxのファイル入出力の候補に意図しないマウントポイントが表示されることへの対応 [Linux]

以前、Firefox のファイル入出力の候補に意図しないマウントポイントが表示されるため、表示されないように対応を行った。しかし、システムのバージョンアップにより、再発するようになってしまった。
以下は、この発生事象について備忘録としてまとめたものである。

[関係するソフトウェア]
・OS: CentOS 6/7、Debian 8/9
・Firefox 45.9.0 ESR、Firefox 52.4.0 ESR
・gvfs (CentOS の場合: gvfs、Debian の場合: gvfs-daemons)

1. 発生事象


ファイル入出力の候補にに意図しないマウントポイントが表示される。

・候補が多数表示されるため、見づらい。
・ファイルを開く時の候補に表示される。
・名前を付けてページを保存する時の候補に表示される。
・ブックマークのインポート/エクスポート時の候補に表示される。


2. 対処方法

2-1. gvfs 1.30 より前のバージョンの場合


CentOS 6、CentOS 7.3 まで、Debian 8 が該当する。

また、下記の条件により、状況が異なる。
・/usr/share/gvfs/remote-volume-monitors/udisks2.monitor の有無
 (ただし、CentOS 6 の場合では gdu.monitor)


(1) udisks2.monitor 有の場合 (初期状態)


上記のマウントポイントが表示される。


(2) udisks2.monitor 無の場合 (udisks2.monitor.org へのリネーム)


上記のマウントポイントが表示されない。


2-2. gvfs 1.30 以降の場合


CentOS 7.4 以降、Debian 9 が該当する。

また、下記の条件により、状況が異なる。
・Firefox のバージョン
・/usr/share/gvfs/remote-volume-monitors/udisks2.monitor の有無


(1) Firefox 45.9.0 ESR 場合


(a) udisks2.monitor 有の場合 (初期状態)


・/etc/auto.misc で定義されているマウントポイントが表示される。


(b) udisks2.monitor 無の場合 (udisks2.monitor.org へのリネーム)


・/etc/fstab で定義されているマウントポイントが表示される。


(2) Firefox 52.4.0 ESR の場合


(a) udisks2.monitor 有の場合 (初期状態)


・/etc/auto.misc で定義されているマウントポイントが表示される。
・[他の場所] という項目でまとめられるため、見づらくはない。


(b) udisks2.monitor 無の場合 (udisks2.monitor.org へのリネーム)


・/etc/fstab で定義されているマウントポイントが表示される。



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

Firefoxのブックマークでボーダーが表示されない [Linux]

[ソフトウェアのバージョン]
Firefox 52.3.0 ESR
OS: Debian 8.9、CentOS 7.3

1. 発生事象


Firefox のメニューバーから表示したブックマークで、ボーダーが表示されない。

・表示が重なった場合に見づらい。
・Firefox 45.9.0 ESR では発生しない。


2. 対処方法


ボーダーを表示するためのスタイルシートを追加する。
(Stylish を使用しているため、Stylish に設定を追加する。)

(設定例)

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

/* setting for bookmark */
menupopup > * {
  background-color: #f5f5f5 !important;
  border: 1px solid #c0c0c0 !important;
}

3. 備考


(1) 色のサンプル


https://developer.mozilla.org/ja/docs/Web/CSS/color_value


[追記]


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

ClamAVのウイルス情報の更新エラーへの対応 [Linux]

ClamAV のウイルス情報の更新時に、時々エラーが発生する。
また、この場合にはウイルスチェックでもエラーが発生する。
以下の記述は、備忘録として、この事象への対応方法をまとめたものである。

[ソフトウェアのバージョン]
・clamav 0.99.2
・OS: Debian 8/9、CentOS 6/7

1. 発生事象


(1) ウイルス情報の更新時のエラー


freshclam の実行時に、下記のようなエラーが発生する。

ClamAV update process started at Mon Aug  7 04:00:01 2017
main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: \
sigmgr)
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host db.local.clamav.net (IP: 120.29.176.126)
Trying host db.local.clamav.net (27.96.54.66)...
Downloading daily-23639.cdiff [100%]
WARNING: [LibClamAV] cli_tgzload: Invalid checksum for file daily.hdb
WARNING: [LibClamAV] Can't load /usr/local/tools/clamav/lib/clamav/\
clamav-a91f125d25aeacd304ebb2e1aeb81814.tmp/\
clamav-677b156a3fc4f33d7fe701aa680c0c20.cld: Malformed database
ERROR: Failed to load new database: Malformed database
WARNING: Database load exited with status 55
ERROR: Failed to load new database
(status=55)


・daily.cld のダウンロードで問題が発生する。
・/usr/local/tools/clamav/lib/clamav は /var/lib/clamav へのリンクである。


(2) ウイルスチェック時のエラー


clamscan の実行時に、下記のようなエラーが発生する。

LibClamAV Error: cli_tgzload: Invalid checksum for file daily.hdb
LibClamAV Error: Can't load /var/lib/clamav/daily.cld: Malformed database
ERROR: Malformed database

----------- SCAN SUMMARY -----------
Known viruses: 523608
Engine version: 0.99.2
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.887 sec (0 m 0 s)
(status=2)


・ウイルス情報の更新時のエラーが原因で発生する。


2. 対処方法

2-1. ウイルス情報の更新時のエラーへの対応


freshclam.conf を編集し、設定を下記のように変更する。

・Debian 8/9 の場合: /etc/clamav/freshclam.conf
・CentOS 6/7 の場合: /etc/freshclam.conf

(1) DatabaseMirror

DatabaseMirror db.jp.clamav.net
DatabaseMirror db.us.clamav.net


ウイルス情報のダウンロード先を指定する。
・db.jp.clamav.net は、db.local.clamav.net の正式名称である。
・db.jp.clamav.net は、database.clamav.net の正式名称である。


(2) CompressLocalDatabase

CompressLocalDatabase yes


ローカル・データベースを圧縮する。
・daily.{cld,cvd} を gzip で圧縮するか指定する。
・本来は daily.cvd となると思うが、daily.cld で保存されることがある。
 (file コマンドの実行結果では、gzipped と表示される。)

(補足)
この設定により、更新時のエラーが発生しなくなったように思われる。


2-2. エラーが発生した時の対応


(1) ウイルス情報の更新時のエラー


(a) ウイルス情報の更新を再実行する。


改善しない場合にのみ、以降の手順を実施する。


(b) エラーに関係するファイルを削除する。

# rm -fr /var/lib/clamav/*.tmp
# rm -f /var/lib/clamav/daily.{cld,cvd}
# rm -f /var/lib/clamav/mirrors.dat


(c) ウイルス情報の更新を再実行する。


(2) ウイルスチェック時のエラー


(a) ウイルス情報の更新が異常終了している場合


ウイルス情報の更新時のエラーへの対応を行う。


(b) ウイルス情報の更新が正常終了している場合


ウイルスチェックを再実行する。


3. 備考


(1) ウイルス情報の更新方法


現在、下記の方針に沿った方法でウイルス情報を更新している。

(a) freshclam コマンドを使用する。

(b) freshclam を cron から定期的に実行する。


freshclam のデーモン・モードは使用しない。


(c) 独自にログファイルを作成する。


[追記]


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Firefox 52.xのファイル選択でディレクトリが先に表示されないことへの対応 [Linux]

Firefox 45.9.0 ESR と Firefox 52.2.1 ESR を併用しているが、後者において、ファイル選択ウィンドウでファイルとディレクトリの区別なく単純にソートされる。
詳細は、以下の通りである。

1. 発生事象


Firefox 52.xのファイル選択でディレクトリが先に表示されない。
(ファイル、ディレクトリの区別なく、名前でソートされる。)

・Firefox 52.2.1 ESR でメニューからファイルを開く際に上記の事象が発生する。
・Firefox 52.2.1 ESR のブックマークの Import/Export で上記の事象が発生する。
・Firefox 45.9.0 ESR では発生しない。


2. 対処方法


(1) dconf エディターの起動


下記のいずれかの手順を実施する。

(a) コマンドの実行

/usr/bin/dconf-editor


(b) デスクトップ環境のメニューからの起動


GNOME の場合:
[アプリケーション] -> [システムツール] -> [dconf エディター]


(2) file-chooser の設定の変更

[パス]
/org/gtk/settings/file-chooser/sort-directories-first

[設定値]
True (初期値: False)


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。