Linux Tips: Difference between revisions

4,584 bytes added ,  9 December 2023
no edit summary
No edit summary
No edit summary
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
*たんなるメモ
いろいろお便利なコマンド
<syntaxhighlight lang="bash" enclose="div">
apt list '~c'
apt purge '~c'
apt --purge autoremove -y
</syntaxhighlight>
*たんなるメモ
<syntaxhighlight lang="bash" enclose="div">
npm --omit=dev --omit=optional ls --all
</syntaxhighlight>
*debian bookwormメモ
大きな変更。そろそろ来ると思ってたが rsyslog がなくなり systemd journal を使う。merged-/usr が必須。このあたりは時代の流れ。自分のOSSビルド環境で /bin から /usr/bin に変わったプログラムのシンボリックリンク切れが起きて結構はまったw
https://www.debian.org/releases/stable/i386/release-notes/ch-information.ja.html
python系の変更には注意して運用する。
<syntaxhighlight lang="text" enclose="div">
5.2.2. python インタプリタは externally-managed としてマークされます
Debian が提供する python3 インタプリタパッケージ (python3.11 および pypy3) は、PEP-668 に従って externally-managed とマークされるようになりました。Debian で提供されるバージョンの python3-pip はこれに伴って、--break-system-packages オプションが指定されない限り、Debian の python インタプリタ環境へ手作業でのパッケージインストールを拒否します。
Debian ではパッケージ化されていない Python アプリケーション (あるいはバージョン) をインストールする必要がある場合、(pipx Debian パッケージにある) pipx を使ってのインストールを推奨します。pipx は他のアプリケーションやシステムの Python モジュールから隔離された環境をセットアップし、アプリケーションとその依存関係をその環境へインストールします。
Debian ではパッケージ化されていない Python ライブラリモジュール (あるいはバージョン) をインストールする必要がある場合、可能であれば virtualenv へインストールするのを推奨しています。virtualenv は Python 標準ライブラリモジュールの venv (python3-venv Debian パッケージ内)、あるいは Python サードパーティツールの virtualenv (virtualenv Debian パッケージにあります) で作成できます。例えば、pip install --user foo を実行するのではなく、任意の virtualenv にインストールするのに mkdir -p ~/.venvs && python3 -m venv ~/.venvs/foo && ~/.venvs/foo/bin/python -m pip install foo を実行します。
詳細については /usr/share/doc/python3.11/README.venv を参照してください。
</syntaxhighlight>
*avahi-browse や avahi-resolve が答え返さない問題
ホスト名に勝手にシリアル番号を付ける問題に対応した設定が原因だった。どちらが運用上いやなのかを考えて、avahi-browse や avahi-resolve は捨てて mdns-scan 使うw
勝手にシリアル番号追加問題の回避策
<syntaxhighlight lang="bash" enclose="div">
cache-entries-max=0
</syntaxhighlight>
*Ubuntu無題w
<syntaxhighlight lang="bash" enclose="div">
#!/bin/sh
systemctl stop snapd.socket
systemctl stop snapd
systemctl disable snapd
systemctl disable snapd.socket
systemctl stop snapd.failure.service
systemctl disable snapd.failure.service
systemctl stop snapd.snap-repair.service
systemctl disable snapd.snap-repair.service
systemctl stop snapd.mounts-pre.target
systemctl disable snapd.mounts-pre.target
</syntaxhighlight>
*雑多なメモ
忘れてた。久しぶりに boot してこないと console をつなげたら...fsck中...
そのままメンテナンスモードからマルチユーザモードにしてしまったら、いわゆるデバイス番号が変わってたw UUID でマウントしてるから問題は起きなかったが、昔々大チョンボしたパターンw
おまじないは忘れずにw
<syntaxhighlight lang="bash" enclose="div">
tune2fs -c -1 -i 0 /dev/sda2
</syntaxhighlight>
*雑多なメモ
binary file 探す。(今までは find でいろいろ駆使しながらやってたがこれがシンプルね)
<syntaxhighlight lang="bash" enclose="div">
grep -rIL .
</syntaxhighlight>
*雑多なメモ
SSDを容量のギリギリまでつかうのなら discard 付けとけ。でないと遅杉。fstrim じゃぁ追いつかねぇw
*make の j オプション
これにしておけば良いらしい
<syntaxhighlight lang="bash" enclose="div">
make -j$[$(nproc)+1]
</syntaxhighlight>
*smartmontools アプデ
*smartmontools アプデ
<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">