2014年12月30日火曜日

Arch Linuxで年賀状作成 | LibreOfficeを使って年賀状作成

Arch Linuxで年賀状を作成する。とりあえず、Linuxで動くアプリを探してみた。Adobe Airで動くアプリではがきデザインキット、PrintMagicがあると分かったので試してみたが、両方とも使えなかった。はがきデザインキットは、起動しても以下のようなI/Oエラーが出て、灰色のウィンドウが開くだけ。Adobe Air 2.5だとエラーが出ないとか、lib32-libgnome-keyringが必要だとか情報はあったが、結局よく分からず。
$ DESKTOP_SESSION="gnome" /opt/adobe-air-sdk/bin/adl -nodebug /opt/airapps/design_kit/META-INF/AIR/application.xml /opt/airapps/design_kit/

Gtk-Message: Failed to load module "atk-bridge"
Gtk-Message: Failed to load module "canberra-gtk-module"
I/O warning : failed to load external entity "/etc/opt/Adobe/certificates/AIR/crypt//config.xml"
Unable to parse Document: /etc/opt/Adobe/certificates/AIR/crypt//config.xml. 
libgnome-keyring.so: cannot open shared object file: No such file or directory
libgnome-keyring.so: cannot open shared object file: No such file or directory
libgnome-keyring.so: cannot open shared object file: No such file or directory
Error: EncryptedLocalStore database access error




一方、PrintMagicは起動はするものの、アップデートは2011年からされていないし、印刷の文字が汚すぎて使いものにならない。



結局、LibreOfficeを使って、年賀状を作ることに。環境は、GNOME 3.14.2、プリンタはCanon MG5130。

2014年12月29日月曜日

pacman 4.2パッケージのアップデートでエラー | packagekit: requires pacman<4.2.0, package-query: requires pacman<4.2

パッケージをアップデートしようとしたら、エラーが起きてアップデートできなくなっていた。エラーメッセージは以下のとおり。
# pacman -Syu

:: Synchronizing package databases...
 testing is up to date
 core is up to date
 extra is up to date
 community is up to date
 archlinuxfr is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: package-query: requires pacman<4.2

packagekit: requires pacman<4.2.0という、エラーメッセージが出る場合もある。これは、pacman 4.2がリリースされたことが原因。pacman -Syuすると、pacman 4.2をインストールしようとするが、package-queryとpackagekitがpacmanのバージョン<4.2を要求しているので、コンフリクトする。

2014年12月23日火曜日

Intel Microcode Updateの設定

linux 3.17-2とlinux-lts 3.14.21-2以降、Intelのマイクロコードが自動でアップデートされなくなった。2014/10/22に公式ページでアナウンスがあった。Intel CPUを使っている場合は、マイクロコードがアップデートされるように手動で設定しておく必要がある。

intel-ucodeパッケージをインストールする。
# pacman -S intel-ucode

/boot/grub/grub.cfgを更新する。念の為バックアップしてから行う。
# mv /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
# grub-mkconfig -o /boot/grub/grub.cfg

もし、自分でgrub.cfgを設定したい場合は、/boot/grub/grub.cfgのecho 'Loading initial ramdisk ...'の行の直後にあるinitrd /initramfs-linux.imgをinitrd /intel-ucode.img /initramfs-linux.imgのように修正する。

設定がうまく行ったかどうかdmesgで確認できる。設定が有効になっていない場合の表示は、
$ dmesg | grep microcode

[    0.470089] microcode: CPU0 sig=0x306a9, pf=0x2, revision=0x17
[    0.470094] microcode: CPU1 sig=0x306a9, pf=0x2, revision=0x17
[    0.470100] microcode: CPU2 sig=0x306a9, pf=0x2, revision=0x17
[    0.470106] microcode: CPU3 sig=0x306a9, pf=0x2, revision=0x17
[    0.470112] microcode: CPU4 sig=0x306a9, pf=0x2, revision=0x17
[    0.470118] microcode: CPU5 sig=0x306a9, pf=0x2, revision=0x17
[    0.470123] microcode: CPU6 sig=0x306a9, pf=0x2, revision=0x17
[    0.470127] microcode: CPU7 sig=0x306a9, pf=0x2, revision=0x17
[    0.470162] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba

設定が有効になっている場合の表示は、
$ dmesg | grep microcode

[    0.000000] CPU0 microcode updated early to revision 0x1b, date = 2014-05-29
[    0.153336] CPU1 microcode updated early to revision 0x1b, date = 2014-05-29
[    0.173343] CPU2 microcode updated early to revision 0x1b, date = 2014-05-29
[    0.193469] CPU3 microcode updated early to revision 0x1b, date = 2014-05-29
[    0.470135] microcode: CPU0 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470140] microcode: CPU1 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470146] microcode: CPU2 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470152] microcode: CPU3 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470157] microcode: CPU4 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470162] microcode: CPU5 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470167] microcode: CPU6 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470172] microcode: CPU7 sig=0x306a9, pf=0x2, revision=0x1b
[    0.470207] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba

AMDのCUPの場合は、ベースシステムに含まれるlinux-firmwareにamd-ucode関係のファイルが含まれるため、特に手動での設定はないっぽい。


参考:
[1]Changes to Intel microcode updates

2014年12月21日日曜日

gnupg-2.1にアップデート後にキーリングの更新

gnupg-2.1のアップデートでpacmanのキーリングのフォーマットが更新され、pacmanのローカルのマスターキーが、他のキーに署名できなくなるとのこと。pacmanのキーリングをカスタマイズしてなければ、問題ないらしいがpacmanのキーリングを全て更新したほうが良い。また、gnupgが使う乱数の生成器となるhavegedインストールしていなければ、インストールしたほうが良いとのこと。havegedは、乱数生成の時に使うシステムのエントロピー情報を管理してくれる。

havegedをインストールする。
# pacman -Syu haveged
# systemctl daemon-reload
# systemctl start haveged
# systemctl enable haveged

pacmanのキーリングを更新する。
# rm -fr /etc/pacman.d/gnupg
# pacman-key --init
# pacman-key --populate archlinux

詳しくは、公式ページの情報を参照。


参考:
[1]GnuPG-2.1 and the pacman keyring

2014年12月7日日曜日

jreのアップデート時にエラー

jreをアップデートしようとすると、java-runtime-commonをインストールしようとして、java-runtime-commonのインストール時にエラーが発生した。
...
error: failed to commit transaction (conflicting files)
java-runtime-common: /etc/profile.d/jre.csh exists in filesystem
java-runtime-common: /etc/profile.d/jre.sh exists in filesystem
...

というエラーが出てjava-runtime-commonがインストールできない。/etc/profile/jre.shをみると、export PATH=${PATH}:でパスを通している。jreのパッケージのページのコメントを見てみると、削除して問題ないとの事だった。
The package update pulled java-common, which conflicted with existing /etc/profile.d/jre.{,c}sh. Removing the files made it work.

yaourtの使い方 | Arch Linux, yaourt, AUR, オプション, パッケージ管理

Arch LinuxにはArch User Repository (AUR, 公式リポジトリに登録されていない様々なパッケージが登録されているリポジトリ) というリポジトリが存在する。yaourtを使えばこのリポジトリに登録されているパッケージをインストールすることができる。例えば、日本語入力ソフトのmozcはAURからインストールする必要がある。公式リポジトリではないので、インストールできても動かないなど、問題を抱えているパッケージもあり、不具合がないか注意して使う必要はある。

yaourtの使い方は、pacmanと似ているので、pacmanさえ使えるようになれば、yaourtも同じ感覚で使える。ただし、yaourtはソースからビルドするので、PKGBUILDファイルの編集が加わることもある。あと、yaourtは基本一般ユーザの権限で利用する。root権限で使うことはほぼ無いので注意。一般ユーザで実行した後、パッケージのインストール直前で管理者パスワードを求められて入力する流れになる。

AURのパッケージを管理するツールとして、packerとかもあったりする。yaourt以外のツールも候補にして、使いやすさなど調べてみても良いかも。現在、自分はpackerの方を使っている。packerの使い方はこの記事にまとめてある。