完全に個人的な備忘録

完全に個人的な備忘録。学習コストが高くなってきたので、メモしておかないと…片っ端から忘却の彼方なのです。

gitリポジトリの引越

久々に osdn にアクセスしたところ、レスポンスが帰って来ない…正確には全くアクセスできないわけではないのだが、かなり重い。殆ど使えない状態になってた。

504 Gateway Time-out

が大量発生する。調べてみたところ、最近、売却されて、それ以降、接続しにくい状態が続いているようだ。こんな状態では、何時、アクセスできなくなるかもしれないので、引越を行なう事にした。Wiki等の引越は諦めるとして、リポジトリだけは引っ越したい。
幸いにして、gitからリポジトリのアクセスはできるようなので、早めに引っ越す事にした。引越先は github にしました。

以下、手順です(リポジトリは架空です)。

移行元のリポジトリを --mirror オプションで clone します。

$ git clone --mirror https://pf.osdn.net/gitroot/t/ta/taratara/hogehoge.git
Cloning into bare repository 'hogehoge.git'...
remote: Counting objects: 285, done.
remote: Compressing objects: 100% (166/166), done.
remote: Total 285 (delta 119), reused 268 (delta 111)
Receiving objects: 100% (285/285), 73.18 KiB | 663.00 KiB/s, done.
Resolving deltas: 100% (119/119), done. 

cloneしたディレクトリに移動します。

$ cd hogehoge.git/

移行先のリポジトリへ --mirror オプションでプッシュします。

 git push --mirror https://github.com/taratara/hogehoge.git
Enumerating objects: 285, done.
Counting objects: 100% (285/285), done.
Compressing objects: 100% (158/158), done.
Writing objects: 100% (285/285), 73.18 KiB | 18.30 MiB/s, done.
Total 285 (delta 119), reused 285 (delta 119), pack-reused 0
remote: Resolving deltas: 100% (119/119), done.
To https://github.com/taratara/hogehoge.git
 * [new branch]      master -> master
 * [new tag]         convert-from-cvs -> convert-from-cvs
 * [new tag]         r-hogehoge -> r-hogehoge
 ! [remote rejected] main (refusing to delete the current branch: refs/heads/main)
error: failed to push some refs to 'https://github.com/taratara/hogehoge.git'

ところがエラー発生。
デフォルトのブランチ名が一致していないのが原因です。github のデフォルトのブランチ名が master から main に変更になっているが原因です。

移行先のデフォルトブランチ名を main から master に変更してから再度実行したところ問題なく移行できました。

$ git push --mirror https://github.com/taratara/hogehoge.git
Enumerating objects: 248, done.
Counting objects: 100% (248/248), done.
Compressing objects: 100% (110/110), done.
Writing objects: 100% (212/212), 39.57 KiB | 4.95 MiB/s, done.
Total 212 (delta 114), reused 198 (delta 100), pack-reused 0
remote: Resolving deltas: 100% (114/114), completed with 19 local objects.
To https://github.com/taratara/hogehoge.git
 + 8eab0a8...8392bbb master -> master (forced update)

勿論、ブランチ名を指定して push する方法もあるんですけどね。

    • -

上記は github側で git init でリポジトリの初期化を行なってしまった為にデフォルトのブランチが作成されてしまい、ブランチ名が一致しない事により、エラーになってしまったが、github側でリポジトリの初期化を行なわなければ問題なく移行できる。

git init を行なっていない状態

この状態であれば、そのままエラーが発生する事なく引越が完了します。

git push --mirror  https://github.com/tarancho/jbanner.git
Enumerating objects: 50, done.
Counting objects: 100% (50/50), done.
Delta compression using up to 2 threads
Compressing objects: 100% (46/46), done.
Writing objects: 100% (50/50), 43.08 KiB | 689.00 KiB/s, done.
Total 50 (delta 17), reused 0 (delta 0)
remote: Resolving deltas: 100% (17/17), done.
To https://github.com/tarancho/jbanner.git
 * [new branch]      master -> master
 * [new tag]         Version-1.0 -> Version-1.0
 * [new tag]         convert-from-cvs -> convert-from-cvs
 * [new tag]         release -> release

次に既存の編集中の clone したリポジトリが存在している場合は、リモートURLを更新します。

現在のURLを確認します。

git remote -v
origin  tarancho@git.pf.sourceforge.jp:/gitroot/t/ta/tarancho/jbanner.git (fetch)
origin  tarancho@git.pf.sourceforge.jp:/gitroot/t/ta/tarancho/jbanner.git (push)

URLを移行先に変更します。

git remote set-url origin https://github.com/tarancho/jbanner.git

URLを確認します。

git remote -v
origin  https://github.com/tarancho/jbanner.git (fetch)
origin  https://github.com/tarancho/jbanner.git (push)

新しいリモートリポジトリと同期します。

git pull
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 11 (delta 7), reused 4 (delta 0), pack-reused 0
Unpacking objects: 100% (11/11), done.

Emacs27で Org-mode の <e TAB が効かない…

Emacs27のOrg-modeでファイルを編集中に

 <e

と入力して TAB キーを押しても反応がない…

<q
<s

qの後もsの後も反応がない…
Emacs26の時は

#+BEGIN_EXAMPLE

#+END_EXAMPLE
#+BEGIN_QUOTE

#+END_QUOTE
#+BEGIN_SRC 

#+END_SRC

と補完してくれたのに…
調べてみたところ、既定では、org-tempo が有効になっていないという事のようです。
qiita.com
設定方法は上記のリンクに詳しく書いていました。大変助かりました。
為念、自分の備忘録の為に手順を残しておきます。

M-x customize-option

コマンドを org-modules を引数に実行します。すると、以下のような設定画面になります。

customize-option org-modules

tempo をチェック状態にして、"Apply and Save" で init.el に保存されました。

10年振りにノートPCを購入したのでLubuntu22.04をインストール

2022年の年末は諸般の事情により自粛生活になってしまったので10年振りにノートPCを購入してセットアップする事にした。
因に10年前に購入したノートPCにインストールしているOSはLubuntu12.04だった。

古いPCのOSの壁紙

この古いPCは1万円で購入した記憶が残っている。たしか、メモリは1Gだったと記憶していたのだが、実際に確認してみたら512Mだったようだ。

旧PCのメモリは512M

このスペックでデスクトップOSが動いていた事に驚きでした。

因にこのPCは 2004年に発売された Latitude D505 です。18年前って事ですね。
ascii.jp

今回購入したPCと古いPCを並べてみたら、旧PCの大きさと重さに吃驚しました。特に重さに…

新旧PC

因に今回購入したPCも1万円台で中古で購入しました。OSはWindows 10がインストールされていましたが、Lubuntu 22.04に書換えます。

そんなわけでインストールの前準備

今回購入したPCにはLubuntu 22.04 をインストールする事にします。ライブCDからインストールする方法が最も簡単なのかもしれませんが、大容量の媒体を持っていないのとminimalでインストールしたいので、Ubuntu serverのNetbootイメージからminimalインストールをしてLubuntu Desktopを追加インストールする方法をとりたいと思います。因に私は基本的に設定はCUIで行なえれば問題ない人なので、GUIでの設定は必ずしも必須ではありません。

Netbootイメージの取得

Netbootイメージは旧PCで行ないます。先ずは
cdimages.ubuntu.com
へアクセスします。

Netbootイメージの取得

ここから 22.04LTS へ飛びます…

アクセスできない…

しかし、その先のページにはアクセスできません。ページが存在しないわけではなく、セキュリティの問題のようです。12.04ではアクセスできないようです。新しいPCのWindows 10からはアクセスできたので、とりあえず、Netbootイメージは新しいPCでダウンロードしました。

インストール媒体の作成

Netbootイメージを scp コマンドで古いPCへ転送し、インストール媒体を作成します。インストール媒体はUSBメモリを使用します。
USBメモリを挿入してlsusbコマンドで認識されているか確認します。

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 048d:1170 Integrated Technology Express, Inc.

問題なく確認されているようです。このUSBメモリが何というデバイス名として認識されているか確認します。USBメモリを挿入する前と挿入した後で lsblk を実行して差分を確認します。
挿入前。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  18.6G  0 disk
├─sda1   8:1    0   8.9G  0 part
├─sda2   8:2    0     1K  0 part
├─sda5   8:5    0   510M  0 part
├─sda6   8:6    0   8.8G  0 part /
└─sda7   8:7    0   502M  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

挿入後。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  18.6G  0 disk
├─sda1   8:1    0   8.9G  0 part
├─sda2   8:2    0     1K  0 part
├─sda5   8:5    0   510M  0 part
├─sda6   8:6    0   8.8G  0 part /
└─sda7   8:7    0   502M  0 part [SWAP]
sr0     11:0    1  1024M  0 rom
sdb      8:16   1   3.8G  0 disk
└─sdb1   8:17   1   128M  0 part

USBメモリのデバイス名は /dev/sdb なのが確認できます。容量は3.8Gですね。
このデバイスにダウンロードしたNetbootイメージを dd コマンドで書き込みます。

$ sudo dd bs=4M if=./ubuntu-22.04.1-live-server-amd64.iso of=/dev/sdb
351+1 レコード入力
351+1 レコード出力
1474873344 バイト (1.5 GB) コピーされました、 222.109 秒、 6.6 MB/秒

インストール

Ubuntu serverのインストール

USBメモリを新しいPCに挿入して電源を入れるだけだった。

USBブート

もしかするとBIOSでブートデバイスの設定変更が必要になるかもと思っていたが、すんなりUSBからブートしてくれた。あとは画面の指示に従って入力するだけ。私の場合は

  • minimal を選択
  • 選択したサービスは ssh だけ

という感じでインストールを行なった。気がついたら complete していた。Enterキーを押すと「インストールメディアを抜いてEnterを押せ」みたいなメッセージが出るので、USBメモリを抜いてEnterキーを押下するとUbuntu serverが起動した。

とりあえず、sshで接続して軽く動作を確認した。

新PCのメモリは旧PCの16倍

Lubuntuのインストール

lubuntuのインストールは簡単に以下のコマンドで行なった。

sudo apt install lubuntu-desktop

再起動して動作を軽く確認した。

lubuntu22.04

序でに lxde も追加でインストールした。

sudo apt install lxde

設定

全て手動でインストールしたのでロケールタイムゾーンがローカラズされていないので手動で設定します。

ロケールの設定

現在のロケールを確認します。

$ localectl
   System Locale: LANG=C.UTF-8
       VC Keymap: n/a
      X11 Layout: jp
       X11 Model: pc105

日本語化はしておきたいので必要な最低限のパッケージをインストールします。

 sudo apt -y install language-pack-ja-base language-pack-ja

ロケールを変更します。

$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
$ source /etc/default/locale
$ localectl
   System Locale: LANG=ja_JP.UTF-8
                  LANGUAGE=ja_JP:ja
       VC Keymap: n/a
      X11 Layout: jp
       X11 Model: pc105

タイムゾーンの設定

現在の時刻を確認するとUTCで表示されます。

$ date
2022年 12月 29日 木曜日 07:21:42 UTC

/etc/localtime UTCシンボリックリンクされている事を確認。

 ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 12月 29 04:32 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

シンボリックリンクを変更します。

$ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo  /etc/localtime

日本標準時になっている事を確認します。

$ date
2022年 12月 29日 木曜日 16:26:15 JST

日本語入力の設定

日本語入力は操作が慣れている skk系が良いので ibus-skk をインストールする事にした。

$ sudo apt install ibus-skk

インストール中に以下のメッセージを確認したので

debconf: apt-utilsがインストールされていないため、パッケージの設定を遅らせます。
以前に未選択のパッケージ dconf-cli を選択しています。

apt-utils も追加でインストールした。

sudo apt install apt-utils

基本的には概ね使えているのだが、何故か辞書サーバに登録されている筈の単語が変換できない。辞書サーバに接続できていないのではないかと推測した。

netcatでは接続できる

netcatでは辞書サーバに接続できる事を確認したので実際に ibus が接続できているか確認した。

$ sudo netstat -v -p -4  -n | grep 1178
tcp        0      0 192.168.1.142:40802     192.168.1.10:1178       ESTABLISHED 2221/nc
tcp        0      0 192.168.1.142:59052     192.168.1.10:1178       ESTABLISHED 1460/ibus-engine-sk

問題なく接続できているようだ。という事は辞書サーバとインターフェースが合っていないのかもしれない。辞書サーバは随分昔から使っているからな〜

辞書サーバ側を確認したら問い合わせ回数は更新されていたので通信はできているようだ。やっぱり、インターフェースがあっていないという事のようだ。辞書サーバ側の更新が必要なようだ。

辞書サーバ側の問い合わせ回数

その他

teams のインストール

仕事でも使えるかもって事で teams をインストールしようとしたが、依存関係の問題でインストールできなかった。最終的には以下のページを参考にして apt でインストールできた。
learn.microsoft.com

やり残した事

2022年の年末の巣籠りで久々にLinuxのセットアップをしたのですが二つ程やりのこした事があります。

  • SKK辞書サーバを新しいものに変更しなければ…ググっても今稼働してskk serverの情報がヒットしないので、可成前からメンテナンスされていなさそうですね。
  • 基本的に CUIで設定できれば問題ない人なのですが WiFiの接続はGUIの方が便利なのでネットワーク設定をNetworkManagerに変更しようか迷い中です。
  • 古いLatitude D505をサーバにしようかと目論んだけどUbututu 22.04 はインストーラが起動しなかった。古い記事を読んでも Ubuntu 14.04をbootする方法とかがあるぐらいなので、このPCは12.04が最後なのかもしれないですね。

Ubuntu の console にIPアドレスを表示する(netplan)

以前、以下のような備忘録を書いた。
tarancho.hatenablog.com
この中でも書いているけど、この備忘録の手順だと今のUbuntuでは動作しない。ネットワークの設定が netplan に変更になっているからだ。手順は概ね上記の備忘録の通りなのだが、スクリプトの配置場所が違うのです。
ネットワークインターフェースがアップしたタイミングで実行されるスクリプト

/etc/networkd-dispatcher/routable.d/

ディレクトリに配置すれば良い。今回はスクリプトの内容も少しだけ変更している。前回の手法だと、予め /etc/issu を /etc/issu.org に複写する手順としていたが、この方法だと OS の update時に /etc/issu が更新された場合、古い情報に書き戻してしまうのだ。
そんなわけで、今回は /etc/issu を直接更新する方式にスクリプトを変更している。スクリプトの内容は以下の通り。

#!/bin/sh

sed -i '/^IP addresses:/d' /etc/issue
echo 'IP addresses:' $(hostname -I) >> /etc/issue

勿論、ファイルに実行権限を付与するのを忘れずに。

MSR ドラゴンフライの燃料漏れ

先日久々にドラゴンフライを使用したところコントロールバルブからの燃料漏れを確認した。かなり焦ったが、使用している燃料が引火点の高い灯油なのと、滲んでいる程度だったので、そのまま使用した。2014年から使用しているが一度もメンテナンスをした事がなかったので
フューエルポンプ - MSRストーブメンテナンス| 株式会社モチヅキ
を参考にしてポンプのメンテナンスを行なう事にした。コントロールバルブのOリングの交換が必要そうだったので、同サイトから注文した。為念,チューブOリングも交換する事にした。メーカは1年での交換を推奨しているようだが、私は2014年に購入以来一度も交換した事がなかった。
Oリングが届いたので、交換する事にしたが、交換する前に燃料漏れを確認する為に圧力をかけてみた。間違いなくコントロールバルブから燃料が漏れている。

f:id:tarancho:20220331162647j:plain
コントロールバルブが燃料漏れ

ポンププランジャー、コントロールバルブ、ブッシングを外して、コントロールバルブOリングとフューエルチューブOリングを外した。

f:id:tarancho:20220331161336j:plain
新旧Oリングの比較(着色されている方が新品)

外したOリングと新品のOリングを比較すると、コントロールバルブOリングは明らかに痩せていて内径が大きくなっているのが肉眼でも確認できた。フューエルチューブOリングは見た目には殆んど差は感じられなかった。
そしてOリングを交換してポンプを組み立てている時に明らかな変化を感じた。コントロールバルブを締める時に重さを感じたのだ。交換前はもっと軽かったのだ。これじゃ燃料漏れするわけだ…

f:id:tarancho:20220331162711j:plain
Oリング交換後は燃料漏れなし

ポンプで圧力をかけてみたが、燃料漏れは解消している事を確認できた。ちゃんとメンテナンスしておかなくてはいかんですな。

ヤマレコで自分が行った事がある山の山行記録をリストアップする

山行記録にヤマレコを使っている。山行が多くなってくると、「あれ、ここって何時行ったんだっけ?」っと思う事がある。

マイページ→山行記録の「記録検索」だと思うようにヒットしない事がある。この記録検索は文字列から山データを検索して、その後、山行記録を検索しているのだと思う。その為、同じ山の名前が複数存在している場合等は、意図した通りの検索ができない場合がある。

そんな時は私は以下の方法で自分の山行記録を検索している。

  1. 「山のデータ」で検索したい山を検索する
  2. 検索した山データの番号を控えておく(コピーしておく)。例えば富士山の場合は 63 となる。
  3. 以下のURLに自分のヤマレコのIDと検索したい山のデータの番号を嵌め込んでブラウザからアクセスする。
https://www.yamareco.com/modules/yamareco/search_record.php?uname=【自分のID】&request=1&ptid=【山の番号】

例えば私のアカウントで「山伏平」の山行記録を検索したい場合は、以下のURLとなる。
https://www.yamareco.com/modules/yamareco/search_record.php?uname=tarancho&request=1&ptid=14418www.yamareco.com

「ヶ」という文字

三ヶ月の「ヶ」という文字はどうやって入力するのかずっと疑問だった。もちろん「三ヶ月」の場合は「さんかげつ」と入力すれば良いのだが、「七里ヶ浜」のように「しちりがはま」で変換できない場合(環境によってはできるのでしょうが)もある。何時も片仮名の「け」で代用していたのだが、Wikipediaによると

「ヶ(ケ)」は、片仮名の「ケ」とは由来を別にし、「箇」または「个」の略字とされる。

という事で異なる文字のようなのだ。そして恥ずかしながら「か」と入力すると「ヶ」に変換できる事を知ったのはつい最近だ。

ふと「箇」の略字の「ヶ」と片仮名の「ヶ」の文字コードを調べてみようと思って調べてみた。

f:id:tarancho:20210616102642p:plain
hexl-modeでの確認

結果は UTF-8の場合は e383b6 で同じ文字だった。由来は違うけど、文字は同じという意味だったのか。