2019-11-05 (Tu)
_ emacs が起動しない...
wayfire の panel から emacs を起動しようとしたが、上がってこない。
あれ?
端末で実行してみたところ、
luna:~ % emacs
emacs: error while loading shared libraries: libMagickWand-7.Q16HDRI.so.6: cannot open shared object file: No such file or directory
なんと。
luna:~ % ls /usr/lib/libMagickWand-7*
/usr/lib/libMagickWand-7.Q16HDRI.so@
/usr/lib/libMagickWand-7.Q16HDRI.so.7@
/usr/lib/libMagickWand-7.Q16HDRI.so.7.0.0*
なるほど。昨日 pacman -Syu
した時に変わったのか。
emacs をビルド+インストールしなおして、起動するようになった。
ま、自前ビルドだし、そういうこともあるわな。
2020-11-05 (Th)
_ squid をインストールしてみた
家庭内の3台の PC で、全部 archlinux が動いてる。 3台でそれぞれパッケージを更新すると、3台それぞれにダウンロードする。 ギガが無駄だよね、って思ってた。
そこで、squid で cache してみる。
ルート証明書、中間証明書を作って、中間証明書を squid に渡す。
ただ、http_port の引数がよくわからず、cert= と key= を使ってたんだけど、 古かったのかな、squid.conf.documented を見たら tls-cert= と tls-key= に 変わってたっぽい。
あと、
FATAL: No valid signing certificate configured for HTTP_port [::]:8081
とかいうエラーで起動しない問題もあって。
どうやら、証明書と秘密鍵が対応してなかったっぽいんだけど。
証明書を作る時に、いろいろやってて、最終的にしくじってるのに気づかず、 対応してないものを使っていた。 秘密鍵と証明書を作り直す時には、index.txt を削除しましょう、と。 でないと、秘密鍵は作ったけど証明書は「既にあるぜ!」ってエラーで 作られず、それに気づかず、作った秘密鍵と古い証明書を使ってしまった。 ようである。
証明書はこんな感じで。
FATAL: The /usr/lib64/squid/security_file_certgen -s /var/local/squid/ssl_db -M 4MB helpers are crashing too rapidly, need help!
かな。
help! っていうなら、もっと親切なメッセージ出せよ。 squid は help って言ってるだけだし、肝心の security_file_certgen は 何も残してない。
手動で同じコマンドを実行してみたところ、一旦 -c で ssl_db を初期化してやる 必要があるんだそうで。
参考にしてたサイトにもちゃんと -c は説明してあって、 もちろんよく見なかった私のミスなんけど、 診断メッセージが不親切すぎるやろ。
あとは、とりあえずブラウザに設定して試して、 また証明書と証明書キャッシュを削除して squid を再起動して、 firefox を reload したら、google につながった!!!
これを pacman に設定する。 root ca を /etc/pacman.d/ にでも置いておいて、 pacman.conf の XferCommand を
XferCommand = /usr/bin/env https_proxy=mike.local:8443 /usr/bin/wget --ca-certificate=/etc/pacman.d/RootCA_crt.pem -c -O %o %u
と設定する。
一応、プロキシとしては機能してる。
ただ、pacman -Syu で 700MB 以上ダウンロードしたはずなのに、 /var/cache/squid/ には 200MB 弱くらいしかなくて、全然意味不明。 ちゃんと cache できてないのか…? cache の timestamp は新しいんだけどな。
とりあえず今日は時間切れなので、また明日かな。
2021-11-05 (Fr)
_ 最近の UI
スクロールバーとか、 閉じる x ボタンとか、 navbar とか。
なんで消すの?
スマホなら解るよ。画面狭いし。 でも画面広い PC で消す必要ないじゃん?
UI を統一したい? 状況が違えば UI が違うのは当然でしょ。 そこは統一するところじゃない。
スクロールバーや x は消せば存在がわからないし、 navbar はスクロールのたびに出たり消えたりうざいし。 スマホのようにやむをえない理由があるなら仕方ないけど、 そうでない PC で消すのはやめて欲しい。 めちゃめちゃ使いにくいしうざい。
_ 古いノート PC の処分を開始
使い古しのノート PC を2台サーバにしてたんだけど、 そろそろさすがに古いな、と思って、処分しようと思ってる。
小さい PC を1台買って移行は済ませたので、あとは処分するだけ。
古いと言ってもリサイクル開始後に買ったやつなので、
- 1台はメーカーサイトで申し込むと伝票送ってくるらしい
- もう1台はリサイクルマークが貼られていなくて、取り寄せて貼る必要があるらしい。 リサイクル料金は払ってるはずなので、取り寄せは無料のはず。
というわけで、とりあえずそれぞれ申し込んでみた。
2022-11-05 (Sa)
_ systemd が重い件
もう CPU しか違いがない… Celeron なんかあるのか?? と思ってぐぐってみたら、 Celeron 関係ないけど、なんか見つけた。
https://bbs.archlinux.org/viewtopic.php?id=278426
同じ症状。
microSD 挿したら治るんやろか…
このデバイスのせいなら、 このデバイスだけ電源切れば、治るはずだよなぁ。
https://stackoverflow.com/questions/4702216/controlling-a-usb-power-supply-on-off-with-linux
↑usb1 usb2 の単位では切れそうだけど、 デバイス単位では無理そうだな。
もしかすると、ドライバ外すだけでも治るかもな。 その案なら簡単なので、ちょっとやってみよ。
https://github.com/systemd/systemd/issues/25021
↑この人の場合は、ドライバから media change イベントが発行されてた、って。
2024-11-05 (Tu)
_ PGroonga
yay -S groonga
mecab もインストールされる。groonga がインストールされるけど、バージョンがちと古いので、 PKGBUILD を編集して新しくした。
yay -S pgroonga
sudo su -
su -l postgres -c "initdb --locale=C.UTF-8 --encoding=UTF8 -D '/var/lib/postgres/data'"
sudo systemctl start postgresql.service
su - postgres
psql -c 'CREATE DATABASE pgroonga_test'
psql -d pgroonga_test -c 'CREATE EXTENSION pgroonga'
[postgres@luna ~]$ psql -d pgroonga_test
psql (16.3)
Type "help" for help.
pgroonga_test=# \d
Did not find any relations.
pgroonga_test=# create table memos (
pgroonga_test(# id integer,
pgroonga_test(# content text
pgroonga_test(# );
CREATE TABLE
pgroonga_test=#
CREATE INDEX pgroonga_content_index ON memos USING pgroonga (content);
INSERT INTO memos VALUES (1, 'PostgreSQLはリレーショナル・データベース管理システムです。');
INSERT INTO memos VALUES (2, 'Groongaは日本語対応の高速な全文検索エンジンです。');
INSERT INTO memos VALUES (3, 'PGroongaはインデックスとしてGroongaを使うためのPostgreSQLの拡張機能です。');
INSERT INTO memos VALUES (4, 'groongaコマンドがあります。');
SET enable_seqscan = off;
pgroonga_test=# select * from memos where content &@~ 'groonga コマンド';
id | content
----+-----------------------------
4 | groongaコマンドがあります。
(1 row)
おー簡単だった。
select * from memos where content &@~ 'groonga コマン';
これでも同じ結果だったので、mecab を使ってるわけじゃなさそう。
どのくらいのスピードが出るんだろう。
20万通のメールを突っ込んでみた。
sudo su - postgres
psql
create database pgrep;
psql -d pgrep
CREATE EXTENSION pgroonga;
GRANT ALL ON DATABASE pgrep TO masm;
GRANT ALL ON SCHEMA public TO masm;
exit
psql -U masm pgrep
create table mails (
path varchar,
body text
);
#!/usr/bin/env ruby
require 'pg'
@conn = PG::Connection.new(dbname: 'pgrep')
@conn.prepare('insert', 'INSERT INTO mails (path, body) VALUES ($1, $2)')
@conn.exec 'BEGIN'
def recurse(dir)
Dir.glob("#{dir}/*").each do |f|
puts f
if File.directory? f
recurse f
else
body = File.read(f)
body.scrub!
body.tr! "\0", ''
@conn.exec_prepared('insert', [ f, body ])
end
end
end
recurse 'tmp'
@conn.exec 'COMMIT'
↑データ投入 3分。
psql -U masm pgrep
psql -U masm pgrep -c 'create index idx_mails on mails using pgroonga (body);'
9分でインデックス作成が完了。
select * from mails where body &@~ 'masm pgtk';
検索も瞬時。 速っ!
ちなみに CPU は、Intel(R) Celeron(R) J4125 CPU @ 2.00GHz
。