No Such Blog or Diary
Ubuntu 20.04 で 確認ダイアログのポップアップが遅い問題
- 2021-02-05 (Fri)
- 一般 ソフトウェア ( Linux/coLinux )
最近 Ubuntu 20.04 に do-release-upgrade してから発生してた問題で,編集したファイルを保存せずエディタを閉じるときとかに出る確認ダイアログのポップアップが結構遅かった.ダイアログが出るまで待たされるだけだったのでしばらく放置してたけど,やっぱり我慢してられんと思ったのでどうにかしてみることにした.
で,とりあえず日本語でググっだけど同じ症状の情報はうまく見つからなかった.残念.そして次に "ubuntu dialogue slow pop up" でぐぐってみたら,まんま同じ症状が見つかった:https://askubuntu.com/questions/1254787/pop-up-dialogs-very-slow-on-ubuntu-20-04
結局,PulseAudio が音を準備するのに時間食ってたかなんかが原因だったらしい.そこに書いてある解決策のとおり,~/.config/pulse/default.pa を作って .include /etc/pulse/default.pa と unload-module module-suspend-on-idle の2行を書き込んで再起動したら直った.
めでたし.
- Comments: 0
- TrackBack (Close): -
LVM の容量拡張
- 2020-12-25 (Fri)
- ソフトウェア ( Linux/coLinux )
VM のルートパーティションが狭くなってきたのでディスク追加してファイルシステム拡張.LVM だとここらが楽でいい.
以下,具体的な操作を忘れるのでメモ.
まず,VM に仮想ディスクを追加して,パーティションタイプを LVM (8e) にしたパーティション作成./dev/vdb1 とか.
次に LVM に物理ボリューム追加:sudo pvcreate /dev/vdb1
そしてボリュームグループにそれを追加:sudo vgextend hoge-vg /dev/vdb1
そしてルートパーティションの論理ボリュームにそのボリュームグループの空き(=上で拡張した分)を追加:sudo lvextend -l +100%FREE /dev/hoge-vg/root
そしたらファイルシステム拡張(ext4 だったので resize2fs で):sudo resize2fs /dev/hoge-vg/root
あとは念の為 reboot でもして終わり.
- Comments: 0
- TrackBack (Close): -
Emacs の正規表現置換でキャプチャした内容に関数を適用して置き換えたい
- 2020-05-18 (Mon)
- 一般 ソフトウェア ( Meadow/Emacs )
という需要があったのでぐぐってみたら,Emacs: regular expression replacing to change case とか Shiny and New: Emacs 22 で答えが見つかった.
置き換え文字中に \,(hoge \1) とかあると hoge を1つ目のキャプチャ(\1)に適用した結果に置き換わるらしい.より正確には,\, で後続のS式を評価できるらしい.なので \,(substitute ?_ ? (downcase \1)) とかすると,キャプチャした内容を小文字にしたうえで空白をアンダースコアで置き換えたものにできる.
超便利.だいぶ大昔からある機能のようだけど全然知らんかったのは残念.他にも連番を生成できる \# とかもあったりしてちゃんと勉強しとかんと時間を損するね.
- Comments: 0
- TrackBack (Close): -
VM が遅いと思ったら
- 2018-03-24 (Sat)
- ソフトウェア ( Linux/coLinux )
新しい VM 母艦に virt-install で新しい VM を作って OS インストールしてたら異常に遅い.何でだろうと思って virt-install の出力をよく見てみたら kvm が使えてないっぽい感じのエラーが:
ERROR Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'
CPU 古くないし cat /proc/cpuinfo して vmx も出てるので CPU は問題ないはず,とか思いながら lsmod | grep kvm してみると……
kvm 548864 0 irqbypass 16384 1 kvm
うん,kvm_intel が欠けてる.試しに sudo modprobe kvm_intel してみるもエラーを食らう:
modprobe: ERROR: could not insert 'kvm_intel': Operation not supported
CPU が大丈夫だけどこんな文句を言われるならあとは BIOS で無効化されているというオチだけど,試しに sudo /usr/sbin/kvm-ok してみる:
INFO: /dev/kvm does not exist HINT: sudo modprobe kvm_intel INFO: Your CPU supports KVM extensions INFO: KVM (vmx) is disabled by your BIOS HINT: Enter your BIOS setup and enable Virtualization Technology (VT), and then hard poweroff/poweron your system KVM acceleration can NOT be used
ということで,VT が BIOS で無効化されてた.誰だそんな設定にしたのは…… たぶん誰もいじってないだろうからデフォルトなんだろうけど,何で VT 無効がデフォルトなんだか理解できん.
そんな状況で VM のインストールが終わるまでまったり止まってて時間無駄にした.残念.
- Comments: 0
- TrackBack (Close): -
Chainer のインストールに手こずる
- 2017-10-08 (Sun)
- ソフトウェア
Chainer というより CuPy のインストールに四苦八苦.最初に CUDA 9 を入れたらダメっぽいので CUDA 8 に入れ直してみたり,その後に cuDNN が有効になってないとか warning が出ているので cuDNN を入れて諸々して pip install --no-cache-dir -I で何度か再コンパイルするも cuDNN が全然認識されなかったり.結局 cuDNN は無くても動くことがわかったので諦めた.
んで,Chainr のサンプル train_mnist.py を time で測ってみたら CPU(8コアx2)で 6分,GPU(1080)で 50秒.GPU のが 7倍くらい速い.cuDNN 有効にしたらもっと速くなるのだろうか?
とりあえずこれで DL で遊べる環境が出来たので,何かネタ学習をやらせてみようかね.
- Comments: 0
- TrackBack (Close): -
LDAP で ssh の公開鍵管理
- 2017-06-26 (Mon)
- ソフトウェア ( Linux/coLinux )
ホームディレクトリを共有しないマシン達で ssh の公開鍵だけでも共有したいなと.何やら LDAP に置けるらしいのでやってみた.
とりあえず,LDAP サーバでスキーマ追加.sshPublicKey を持ち得る ldapPublicKey というオブジェクトクラスを定義する.
cat > openssh-lpk.ldif <<'EOF' dn: cn=openssh-lpk,cn=schema,cn=config objectClass: olcSchemaConfig cn: openssh-lpk olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey' DESC 'MANDATORY: OpenSSH Public key' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 ) olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY DESC 'MANDATORY: OpenSSH LPK objectclass' MAY ( sshPublicKey $ uid ) ) EOF sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif
次に,ssh サーバにスクリプトを置いて LDAP から鍵を取れるようにする(ドメインとかはテキトウな値を書いている).
cat > get_pubkey_LDAP <<'EOF' #!/bin/bash if test ${EUID:-${UID}} != 0; then echo "run as root" exit 0 fi if test "x$1" = "x" then echo "usage: $0 UID" exit fi uid=$1 dcs="dc=fuga,dc=hoge,dc=jp" ldapsearch -x -H ldapi:/// -b $dcs -LLL -D cn=admin,$dcs -w admin_pass_here "(& (objectClass=posixAccount) (uid=${uid}))" "sshPublicKey" | sed -e '1d;s/^ //' | sed -e 'H;$!d;g;s/\n//g' | sed -e 's/sshPublicKey: /\n/g' | sed -e '1d' EOF chmod 700 get_pubkey_LDAP sudo cp get_pubkey_LDAP /etc/ssh/get_pubkey_LDAP
そして /etc/ssh/sshd_config にこのスクリプトを使うように追記:
AuthorizedKeysCommand /etc/ssh/get_pubkey_LDAP AuthorizedKeysCommandUser root
もともと ~/.ssh/authorized_keys が有効なら,これで authorized_keys と LDAP と両方見に行ってくれる.
あとはユーザアカウント毎に鍵を LDAP に入れる.そのためにまずアカウントを ldapPublicKey クラスに入れる:
username="your_account_name" dcs="dc=fuga,dc=hoge,dc=jp" cat << << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here dn: uid=$username,ou=people,$dcs changetype: modify add: objectClass objectClass: ldapPublicKey EOF
そしてユーザの鍵を追加する:
username="your_account_name" dcs="dc=fuga,dc=hoge,dc=jp" pubkey=$( cat $YOUR_PUBLIC_KEY ) cat << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here dn: uid=$username,ou=people,$dcs changetype: modify add: sshPublicKey sshPublicKey: $pubkey EOF
なお,LDAP に鍵は複数個登録可能.あとは ssh サーバに置くスクリプトが複数の鍵に対応してればいい(と思う).
- Comments: 0
- TrackBack (Close): -