Open10

linux-os雑記

karamawanukaramawanu

manjarolinuxアップデート失敗 libgstreamer=0.30+*

その1 libcanberra gstreamer=0.30+**

# pacman -Syu
:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
:: システム全体の更新を開始...
:: libcanberra-pulse を extra/libcanberra に置き換えますか? [Y/n] Y
:: pamac-common を extra/libpamac に置き換えますか? [Y/n] Y
:: pamac-snap-plugin を extra/libpamac-snap-plugin に置き換えますか? [Y/n] Y
:: python-dbus を extra/dbus-python に置き換えますか? [Y/n] Y
:: python-dbus-common を extra/dbus-python に置き換えますか? [Y/n] Y
依存関係を解決しています...
衝突するパッケージがないか確認しています...
エラー: 処理の準備に失敗しました (依存関係を解決できませんでした)
:: lib32-libcanberra (0.30+2+gc0620e4-5) をインストールすると 'lib32-libcanberra=0.30+2+gc0620e4-3' が破壊され lib32-libcanberra-gstreamer の依存関係が壊れます
:: libcanberra (0.30+2+gc0620e4-5) をインストールすると 'libcanberra=0.30+2+gc0620e4-3' が破壊され libcanberra-gstreamer の依存関係が壊れます

Update Error on System Update - Support - Manjaro Linux Forum

You might be blocked updating when using pacman due to some libcanberra packages. Simply remove those packages: sudo pacman -Rdd lib32-libcanberra-pulse lib32-libcanberra-gstreamer libcanberra-pulse libcanberra-gstreamer. We recommend to use pamac anyway, which does this automatically: pamac update

$ sudo pacman -Rdd lib32-libcanberra-pulse lib32-libcanberra-gstreamer libcanberra-pulse libcanberra-gstreamer. 

>

その2

Invalid or corrupted package (PGP signature) - Technical Issues and Assistance / Package update process - Manjaro Linux Forum

# pacman -S ****
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1) expect-5.45.4-2

合計ダウンロード容量:  0.18 MiB
合計インストール容量:  0.41 MiB

:: インストールを行いますか? [Y/n] Y
:: パッケージを取得します...
 expect-5.45.4-2-x86_64                             188.0 KiB   612 KiB/s 00:00 [##############################################] 100%
(1/1) キーリングのキーを確認                                                    [##############################################] 100%
(1/1) パッケージの整合性をチェック                                              [##############################################] 100%
エラー: expect: "Allan McRae <me@allanmcrae.com>" の署名は信頼されていません
:: ファイル /var/cache/pacman/pkg/***-x86_64.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。
ファイルを削除しますか? [Y/n] ^C
Interrupt signal received

<!---->

sudo rm -r /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux manjaro 
sudo pacman-key --refresh-keys 
sudo pacman -Sc
sudo pacman -Sy gnupg archlinux-keyring manjaro-keyring

September 8th, 2021 9:51am

karamawanukaramawanu

バルクリネーム業界

バルクリネーム

bulk rename tools

https://github.com/dsidlo/bulkrn perl5

$ ./bulkrn.pl -f '(mwlog.wfiejb\d+)(.\d\d\d\d)(08\d\d)'
Testing the FilePattern...
FilePattern Test: applog.cluster1.20100810 => (applog.cluster1) (.2010) (0810)
FilePattern Test: applog.cluster1.20100811 => (applog.cluster1) (.2010) (0811)
FilePattern Test: applog.cluster1.20100812 => (applog.cluster1) (.2010) (0812)

https://github.com/neurobin/rnm C++

  • rnm directory/file/path -ns new_name [other options]
  • rnm directory/file/path -rs "/search regex/replace string/gi" [other_options]
  • rnm directory/file/path -ns/f namestring/file/path

https://github.com/ketlerd/BulkRename Windows GUI

https://github.com/rrydman/BulkRename 3 years ago

https://github.com/rrydman/BulkRename/blob/master/BulkRename/bulkrename.py

https://github.com/nikitazu/BulkRename Windows GUI

https://github.com/redbluegames/unity-bulk-rename Unity Plugin

https://github.com/ke4ukz/BulkRename Windows GUI VB .net

https://github.com/NicholasLambell/BulkRename Windows GUI

https://github.com/hb/gnome-bulk-rename Python GNOME

karamawanukaramawanu

ext3 -> ext4

tune2fs -O extents,uninit_bg,dir_index /dev/$DEV
e2fsck -fDC0 /dev/$DEV

karamawanukaramawanu

shells

Five Cool Alternative Open Source Linux Shells

  • bash
  • tcsh
  • zsh
  • ksh
  • fish

20 best alternatives to bash (shell) as of 2021 - Slant

  • python?
  • zsh
  • ruby?
  • dash
  • tcl
  • lua
  • xonsh

Alternatives to Bash Shell

terminal multiplexer

byobu

Byobu
GitHub - dustinkirkland/byobu: git mirror of upstream bzr at http://launchpad.net/byobu

screen

Screen - GNU Project - Free Software Foundation
screen.git - screen

tmux

Home · tmux/tmux Wiki · GitHub

yash

Yash: yet another shell - POSIX コマンドライン端末用シェル

ion

GitHub - redox-os/ion: Mirror of https://gitlab.redox-os.org/redox-os/ion

redox-os / ion · GitLab

interactive httpd

HTTP Prompt - An interactive command-line HTTP client

elvish

Elvish Shell

~> curl https://api.github.com/repos/elves/elvish/issues |
from-json | all (one) |
each [issue]{ echo $issue[number]: $issue[title] } |
head -n 11

es

es - extensible shell

GitHub - wryun/es-shell: es: a shell with higher-order functions

Comparison of command shells - Wikipedia

GitHub - alebcay/awesome-shell: A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.

guided shell

GitHub - denisidoro/navi: An interactive cheatsheet tool for the command-line

nushell

GitHub - nushell/nushell: A new type of shell

ksh

ast/src/cmd/ksh93 at master · att/ast · GitHub

fish

fish shell

xonsh

The Xonsh Shell — Python-powered shell
the xonsh shell — xonsh 0.10.1.dev5.dev5 documentation

GitHub - xonsh/xonsh: Python-powered, cross-platform, Unix-gazing shell

dash

DASH

dash/dash.git - DASH Shell

karamawanukaramawanu

https://forums.gentoo.org/viewtopic-t-1130286.html

chatgpt4+webpilot

Recommend a filesystem for SSD

zah21は、新しいラップトップにアップグレードする予定で、SSDにどのファイルシステムを使用するかを決めようとしています。彼はこれまでExt4を使用しており、btrfsやf2fsもSSDサポートが良いと聞いています。

Ionenは、F2FSは主に「dumb」なフラッシュストレージ(USBサムドライブのようなもの)に役立つと述べています。

Goverpは、F2FSがSSDやNVMe用に設計されたこと、Samsungの人々によって設計されたことを指摘しています。

asturmと他の多くのユーザーは、ext4を使用しており、それが最も一般的で信頼性が高いと感じています。

eccerr0rは、SATA SSDはwear levelingを自動的に処理するため、フラッシュ中心のファイルシステムを実行する必要はないと述べています。

msstは、btrfsを好むが、ext4もSSDサポートがしっかりしているため、他の特徴が必要ない場合は実験する必要はないと述べています。

karamawanukaramawanu

https://wiki.gentoo.org/wiki/F2FS/ja

F2FS (Flash-Friendly File System) は、NAND フラッシュメモリデバイス向けに設計されたファイルシステムです。Linux カーネル 3.8.x 以降で利用できます。Gentoo を eMMC、SSD、SD カード、または USB フラッシュメモリデバイスにインストールする場合、このファイルシステムはいい選択肢です。

F2FS は「低機能」なフラッシュストレージ (USB フラッシュメモリなど) で非常に有用です。現代的な SSD は ext4 や xfs を使用したほうが良いかもしれません。ここでの議論 https://forums.gentoo.org/viewtopic-t-1130286.html も参照してください。

karamawanukaramawanu

ext4 error loading journal

USBの外付けHDDがmountできなくなったことがあり、かなり慌てた。

$ mount -t ext4 /dev/sdb1 /mnt
mount: /mnt: /dev/sdb1 のスーパーブロックを読み込むことができません.
$

dmesgすると原因は判る。

[ 2137.370246] JBD2: recovery failed
[ 2137.370255] EXT4-fs (sdb1): error loading journal

ジャーナリングファイルだけが壊れてるようだ。

hard disk - Recovering an ext4 filesystem with corrupt journal - Unix & Linux Stack Exchange

mount -o ro,noloadで行けるらしい。

$ sudo mount -t ext4 -o ro,noload /dev/sdb1 /mnt

確かにmountはできた。

しかしこのままでは書き込めないので腹を括ってfsckしてみる。

$ sudo fsck.ext4 /dev/sdb1
e2fsck 1.44.1 (24-Mar-2018)
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? yes
******: recovering journal
JBD2: Invalid checksum recovering block 43 in log
JBD2: Invalid checksum recovering block 43 in log
JBD2: Invalid checksum recovering block 43 in log
JBD2: Invalid checksum recovering block 45 in log
JBD2: Invalid checksum recovering block 49 in log
JBD2: Invalid checksum recovering block 52 in log
Journal checksum error found in ******
Pass 1: Checking inodes, blocks, and sizes

ここまで終われば、ジャーナルファイルの修復は終わってるようだ。
mountできるようになっている。

$ sudo mount -t ext4 /dev/sdb1 /mnt
karamawanukaramawanu

ext4の非互換フィーチャー metadata_csum

ext4にはフォーマットバージョン毎に微妙かつ重大な差異があるようで、マウントできなくなる場合がある。

archlinux/linux-5.4.74/e2fsprogs-1.45.6-3でfsckしたext4を
ubuntu20.04LTS/linux-5.4.44/e2fsprogs-1.45.6-2でマウントできない。

それぞれの環境で、マウントできてるパーティションのtune2fs -L出力を比較する。

GOOD2は古い方でマウントできてるもの
BADは古い方でマウントできなかったもの。
diff -U0 で比較する。

--- GOOD2	2020-12-03 13:12:23.512724925 +0900
+++ BAD	2020-12-03 13:09:27.717610746 +0900
@@ -7 +7 @@
-Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
@@ -26 +25,0 @@
-RAID stripe width:        8191
@@ -45,0 +45,2 @@
+Checksum type:            crc32c
+Checksum:                 0xa30a8fa3

uninit_bgが減って
metadata_csumが増えている。

この点で検索すると、次の記事のような情報が見当たる。

2018年3月23日号 ext4のmetadata_csumオプションへの対処・initramfsの圧縮方式の変更:Ubuntu Weekly Topics|gihyo.jp … 技術評論社

しかし,Xenialやそれより古いe2fsprogsはこのオプションが有効なファイルシステムを解釈できず,たとえばe2fsckがエラー終了するようになる(≒fsckを実行しないとマウントできない,というシチュエーションにおいてはマウント不能になる⁠)⁠。

新しいe2progsでフォーマットするとmetadata_csumが増えてしまう。が、後天的に取り除くのは可能なようだ。

sudo tune2fs -O ^metadata_csum /dev/sdXX

mkfs -O ^64bit,^metadata_csum -t ext4