So-net無料ブログ作成
  • ブログをはじめる
  • ログイン
前の10件 | -

スクリプト内で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 のみの問題とも断定できない。
・当該エラー発生前に、バックアップ・データが非常に大きなサイズとなる事象が発生した。
 (これ自体エラーとも考えられる。)
・上記のデータサイズに関する事象の発生後、リストア時のエラーが発生するようになった。

こうなると Partimage が NTFS パーティションを正式にはサポートしておらず、experimental のままで開発が終了していることが気になるようになり、念のため、ntfsclone でのバックアップへの移行を行うことにした。

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

(補足-2)
バックアップ時の 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) 
共通テーマ:パソコン・インターネット

AVG AntiVirus 2011の更新 [Windows]

1. 背景


Windows 環境において、AVG AntiVirus Free を使用している。
Windows は Windows 7 を使用しているが、Windows XP SP3 をサブ環境として使用している。
このような環境において、先日 AVG AntiVirus 2011 on Windows XP のシステム・トレイのアイコンに、常に感嘆符が表示されるようになってしまった。

・ウィルス情報が古い等、ウィルスチェックが正常に機能しない場合に感嘆符が表示される。
・ウィルス情報の更新はできるため、感嘆符を無視して使用し続けることは可能と思われる。

検討した結果、これを機に AVG AntiVirus のバージョンアップを行うことにした。
(必要最小限の機能のみをインストールする。)


2. アップデートの手順


(1) 既存パッケージ (AVG AntiVirus 2011) のアンインストール


・パッケージのアンインストール
・レジストリのクリア(AVG 関連の項目を削除)


(2) OS の再起動

(3) 新しいバージョンの AVG AntiVirus のインストール


Antivirus_Free_1817.exe の実行で AntiVirus 2018 がインストールされる。
(多分、インストール実行時の最新版がインストールされると思われる。)

・ようこそ画面で [カスタム インストール] を選択する。
・インストールするアプリの選択では、[基本アプリをインストール] を選択する。
・下記のコンポーネントのみをインストール選択する。
 (コンピュータシールド、ウェブ&メールシールド)


[3. 設定の変更] - 処理の軽量化を第一に考えた設定例


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

CentOS 6のClamAVのウィルス・チェックでエラーが発生する [CentOS]

[ソフトウェアのバージョン]
・clamav-0.100.0-1.el6.i686 (EPEL のパッケージ)
・clamav-db-0.100.0-1.el6.i686 (EPEL のパッケージ)

1. 発生事象


ClamAV のウィルス・チェックでエラーが発生する。

[エラーメッセージ]
LibClamAV Error: cli_cvdload: Corrupted CVD header
LibClamAV Error: Can't load /var/lib/clamav/daily.cld: Malformed database
ERROR: Malformed database

(補足)
・CentOS 6/7 と Debian 8/9 をマルチブートしており、ウィルス情報を共有している。
 (ウィルス情報: /var/lib/clamav/)
・CentOS 7(EPEL のパッケージ)、Debian 8/9 の ClamAV では発生しない。
・CentOS 6(EPEL のパッケージ) の clamav-0.99-* では発生しない。


2. 対処方法


[古いパージョン(v99.*) の RPM パッケージを入手できる場合]
古いバージョンにバージョンダウンする。

[上記以外の場合]
更新パッケージのリリースを待つ。

(補足)
パッケージのバグのようである。
cf. https://bugzilla.redhat.com/show_bug.cgi?id=1600458


[3. 追記]


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

AVG AntiVirus 2017の起動処理の軽量化 [Windows]

Windows 7 で AVG AntiVirus Free を使用しているが、AntiVirus 2017 に更新してからログオン時の起動処理が非常に重くなってしまった。
以下は、この起動処理を軽量化するために行った対応である。
なお、インストールしているコンポーネントは、ファイルシールド、メールシールドのみである。

1. 実施手順


(1) [AVG Service] サービスの起動開始時期を遅延させる。


・[スタート] -> [プログラム] -> [管理ツール] -> [サービス] を選択
・[AVG Service] を右クリックし、[プロパティ] を選択
・スタートアップの種類を [自動(遅延開始)] に変更

(補足)
・自動(遅延開始) では、約 2 分後に開始される。
・[AVG Antivirus] サービスについては、スタートアップの種類を変更できない。


(2) システムスタートアップ時のルートキット・スキャンを無効化する。


(a) 設定画面の表示


・AVG のアイコンを右クリックし、[開く] を選択
・[メニュー] -> [設定] を選択
・左側の一覧から [トラブルシューティング] を選択


(b) トラブルシューティングの設定の変更


下記の項目を無効化する。

・システムスタートアップ時のルートキット・スキャン
・ブートタイム・スキャン中のダイレクト・ハード・ドライブ・アクセス


2. 備考


(1) AntiVirus 2018 への更新後も同様の効果がある。


プログラムを 18.5.3059(公開日: 2018/06/20) に更新後も同様の効果が得られる。


(2) [AVG Service] サービスが表示されなくなった。


上記の設定後、いつの間にか [AVG Service] サービスが表示されなくなった。
また、代わりに [avgIDSAgent] サービスが表示されるようになった。
なお、avgIDSAgent のスタートアップの種類は手動であり、自動起動されない。



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

CentOS 7.5へのアップデート後の不具合の発生 [CentOS]

CentOS 7.4 から 7.5 へのアップデート後に KVM で不具合が発生する。
詳細は、以下の通りである。

[ソフトウェアのバージョン]
・virt-manager-1.4.3-3.el7.noarch
・libvirt-daemon-3.9.0-14.el7_5.4.x86_64

1. 発生事象


CentOS 7.5 への更新後、KVM で起動できないドメインが発生する。

[エラーメッセージ]
Error starting domain: サポートされない設定: shared access for disk 'hdc' \
requires use of supported storage format
[hdc の設定] - /etc/libvirt/qemu/xxx.xml
<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/var/lib/libvirt/images/cluster-common.qcow2'/>
  <target dev='hdc' bus='ide'/>
  <shareable/>
  <address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>


(補足)
・hdc はクラスタ・ノード間で共有するディスクである。
・何がサポートされない設定なのかが不明である。


2. 対処方法


該当するパッケージを CentOS 7.4 のものにバージョンダウンする。

[該当するパッケージ]
・libvirt-*
・virt-install-*
・virt-manager-*


2-1. CentOS 7.4 のバックアップ・データが存在する場合の手順


(1) バックアップ・データを使用し、CentOS 7.4 に戻す。


(2) 下記のパッケージ以外をアップデートする。

libvirt-*
virt-install-*
virt-manager-*


(補足)
該当するパッケージの詳細については、備考を参照。


2-2. CentOS 7.4 のバックアップ・データが存在しない場合の手順


該当するパッケージを CentOS 7.4 のものにバージョンダウンする。

(補足)
該当するパッケージの詳細については、備考を参照。


[3. 備考]


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) 
共通テーマ:パソコン・インターネット

Postfixのinet_interfacesの設定に関するエラーが発生する [Debian]

1. 発生事象


/etc/postfix/main.cf の inet_interfaces の設定に関するエラーが発生する。

[ソフトウェアのバージョン]
postfix 2.11.3-1+deb8u2 (on Debian 8)
postfix 3.1.8-0+deb9u1 (on Debian 9)
mdadm 3.3.2-5+deb8u2 (on Debian 8)
mdadm 3.4-4+b1 (on Debian 9)

[エラーメッセージ]
postfix/sendmail[pid]: fatal: parameter inet_interfaces: no local interface \
found for 192.168.x.x

[inet_interfaces の設定値]
inet_interfaces = $myhostname, localhost

・192.168.x.x は eth0 の IP アドレスである。
・Postfix の起動/再起動時には発生しない。


2. 原因


mdadm の mdmonitor.service の不具合である。

・OS 起動時に mdmonitor からメール通知を行う場合に当該事象が発生する。
・ネットワーク I/F が使用できない状態でのメール送信のためと思われる。

(補足)
・メール通知自体は正常に機能する。
 (127.0.0.1 が使用されたものと思われる。)
・mdmonitor は、mdadm のモニタ機能である。
・mdmonitor.service は、'/sbin/mdadm --monitor --scan' を実行する。
・'/sbin/mdadm --monitor --scan -t' でテスト用にメールを送信できる。


3. 対処方法


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

(1) mdmonitor.service の変更

(変更内容)
[Unit] 欄の最後に下記の設定を追加する。
After=network.target


(補足)
/etc/systemd/system/mdmonitor.service の作成
または
/lib/systemd/system/mdmonitor.service の変更


(2) /etc/postfix/main.cf の変更

(変更前)
inet_interfaces = $myhostname, localhost

(変更後)
inet_interfaces = all        … 他ノードから接続を行う場合
または
inet_interfaces = localhost  … 他ノードから接続を行わない場合

[4. 備考]


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

Debian9.4へのアップデートでの不具合の改善 [Debian]

Debian 9.4 において、Debian 9.2 以降で発生した Postfix の不具合が改善されている。
詳細は、以下の通りである。

1. ソフトウェアのバージョン


postfix 3.1.8-0+deb9u1
postfix-sqlite 3.1.8-0+deb9u1


2. 改善された不具合


/etc/postfix/main.cf の mynetworks の設定が反映されるようになった。

・該当するアドレスの 25 番ポートが LISTEN 状態になる。
 ('netstat -an | grep :25' の実行結果で確認できる。)


3. 備考


発生していた不具合の詳細
cf. http://dan-project.blog.so-net.ne.jp/2017-10-08



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット
前の10件 | -