Debian 11(Bullseye): アップグレード後に動作が停止しましたか?

Debian 11(Bullseye): アップグレード後に動作が停止しましたか?

最近のアップグレード後、人が動作を停止しましたが、その理由がわかりません。これは私のシステムです。

# cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

man - 空のマニュアルページを実行すると、次の内容が表示されます。

# man ksh
 Manual page ksh(1) byte 0/0 (END) (press h for help or q to quit)

押した後q:

man: command exited with status 1: (cd /usr/share/man && /usr/lib/man-db/zsoelim) | (cd /usr/share/man && /usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8//IGNORE) | (cd /usr/share/man && preconv -e UTF-8) | (cd /usr/share/man && tbl) | (cd /usr/share/man && nroff -mandoc -rLL=156n -rLT=156n -Tutf8)

stracestderrへのいくつかの出力以外には何も見つかりませんでした。

# grep 'write(2' man.trc
10614 write(2, "troff: can't find 'DESC' file\n", 30) = 30
10614 write(2, "troff: fatal error: sorry, I can"..., 44) = 44
10599 write(2, "man: ", 5)              = 5
10599 write(2, "command exited with status 1: (c"..., 299) = 299
10599 write(2, "\n", 1)                 = 1
#
# grep DESC man.trc
10613 openat(AT_FDCWD, "/usr/share/groff/site-font/devutf8/DESC", O_RDONLY) = -1 ENOENT (No such file or directory)
10613 openat(AT_FDCWD, "/usr/share/groff/1.22.4/font/devutf8/DESC", O_RDONLY) = 3
10614 openat(AT_FDCWD, "/usr/share/groff/site-font/devutf8/DESC", O_RDONLY) = -1 ENOENT (No such file or directory)
10614 openat(AT_FDCWD, "/usr/share/groff/1.22.4/font/devutf8/DESC", O_RDONLY) = -1 EACCES (Permission denied)
10614 openat(AT_FDCWD, "/usr/lib/font/devutf8/DESC", O_RDONLY) = -1 ENOENT (No such file or directory)
10614 write(2, "troff: can't find 'DESC' file\n", 30) = 30

/usr/share/groff/1.22.4/font/devutf8/DESC誰でも読めるように権限を変更しましたが、違いはありませんでした。

どんなアイデアがありますか?

コメントに対する編集者の回答:

エラーメッセージは、パイプラインが失敗していることを示しています。

# man zip
man: command exited with status 1: (cd /usr/share/man && /usr/lib/man-db/zsoelim) | 
(cd /usr/share/man && /usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8//IGNORE) | 
(cd /usr/share/man && preconv -e UTF-8) | (cd /usr/share/man && tbl) | 
(cd /usr/share/man && nroff -mandoc -rLL=156n -rLT=156n -Tutf8)

手動で実行してみました。

# gunzip -c /usr/share/man/man1/zip.1.gz | /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8//IGNORE | preconv -e UTF-8 | tbl | nroff -mandoc -rLL=156n -rLT=156n -Tutf8

正しい出力が生成されるため、問題が発生してもその部分の前に発生する必要があります。おそらくどこかにマンページを解凍してパイプで接続する必要があるようですが、見つかりません。

編集2:

私はもう少し興味深く調べました。

# grep DESC man.trc
666097 openat(AT_FDCWD, "/usr/share/groff/site-font/devutf8/DESC", O_RDONLY) = -1 ENOENT (No such file or directory)
666097 openat(AT_FDCWD, "/usr/share/groff/1.22.4/font/devutf8/DESC", O_RDONLY) = 3
666098 openat(AT_FDCWD, "/usr/share/groff/site-font/devutf8/DESC", O_RDONLY) = -1 ENOENT (No such file or directory)
666098 openat(AT_FDCWD, "/usr/share/groff/1.22.4/font/devutf8/DESC", O_RDONLY) = -1 EACCES (Permission denied)
666098 openat(AT_FDCWD, "/usr/lib/font/devutf8/DESC", O_RDONLY) = -1 ENOENT (No such file or directory)
666098 write(2, "troff: can't find 'DESC' file\n", 30) = 30

だからpid 666097はそれを見つけてうまく/usr/share/groff/1.22.4/font/devutf8/DESC開きました。それからpid 666098で見つけましたが、権限の取得が拒否されました。

どうやってこれができますか?

ベストアンサー1

明らかにgroff見つかりませんでした/usr/share/groff/site-font/devutf8/DESC。私が理解したのは、これが答えの一部である必要があるため、groff-baseあなたの意見がsudo apt reinstall groff-base正当であるようです。

ディレクトリが/usr/share/groff/site-font/devutf8存在しない場合は、次のようになります。

ln -s /usr/share/groff/current/font/devutf8 /usr/share/groff/site-font/devutf8

manファイルを見つけるのに役立ちますDESC

ディレクトリが存在するが含まれていない場合は、DESCディレクトリからコピーすると便利です。DESC/usr/share/groff/current/font/devutf8

存在する場合は、DESC読み取り可能であることを確認してください(644)。

おすすめ記事