トップ «前の日(11-04) 最新 次の日(11-06)»

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)

_ 原神

層岩巨淵を進めた。

どのくらい進んだかはわからない。 鐘1つめが終わったところ。 攻略サイトを見た感じ、かなり終盤か?

あー、黒蛇騎士の栄光をやってない感じだな。 あとでやろうか。

_ 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


追記 パスワード変更