最新記事

ファイルシステムサイズのZFSリストの奇妙な出力
zfs

ファイルシステムサイズのZFSリストの奇妙な出力

次のオプションを使用していくつかのzfsデータセットを作成しました。 zfs create ... data/media -o reserv=1TB data/audiostudio -o reserv=600GB data/database -o reserv=20GB data/Git-Backup -o reserv=20GB data/PC-Backup-Linux -o reserv=300GB data/PC-Backup-Windows -o reserv=300GB data/docker-images -o reserv=100GB data/logs -o reserv=20GB ただし、出力は次zfs listのようになります。 NAME USED AVAIL REFER MOUNTPOINT data 2.33T 1.18T 352K /data data/Git-Backup 192K 1.20T 192K /data/Git-Backup data/PC-Backup-Linux 192K 1.48T 192K /data/PC-Backup-Linux data/PC-Backup-Windows 192K 1.48T 192K /data/PC-Backup-Windows data/audiostudio 192K 1.77T 192K /data/audiostudio data/database 192K 1.20T 192K /data/database data/docker-images 192K 1.28T 192K /data/docker-images data/logs 192K 1.20T 192K /data/logs data/media 192K 2.18T 192K /data/media 利用可能なスペースはどのように計算しますか?これらのデータはすべて約4TBと予想されます(合計プールサイズ、すべてのデータセットはまだ空です)。

Admin

systemdのプログラムが提供する環境変数
linux
systemd
environment-variables

systemdのプログラムが提供する環境変数

文書を読むこのリンクからたとえば、システムサービスにコンパイル時に既知の変数を簡単に追加できます。 Environment="VARIABLE=content" 〜する echo $VARIABLE 「内容」である しかし、プログラムでこのような変数(例:/home/user/myprogram)を提供する必要がある場合はどうすればよいですか?環境タグにこのプログラムの標準出力を取得させる方法はありますか?

Admin

RHEL8のRHELタイプの決定(ワークステーションとサーバー)
rhel

RHEL8のRHELタイプの決定(ワークステーションとサーバー)

仮想マシンとしてデプロイされたrhelがあり、それがサーバーかワークステーションであるかを確認したいと思います。注文する 理解するために、次のコマンドを実行しています。 $ cat /etc/rhel-release Red Hat Enterprise Linux release 8.2 (Ootpa) $ rpm -q --whatprovides /etc/redhat-release redhat-release-8.2-1.0.el8.x86_64 $ uname -as Linux opus-c-master 4.18.0-193.el8.x86_64 #1 SMP Fri Mar 27 14:35:58 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux これらのコマンドのどれも型を伝えません。 誰でも助けることができますか?

Admin

Ubuntu Server 20.04.2で端末をスクロールできません。
ubuntu
terminal

Ubuntu Server 20.04.2で端末をスクロールできません。

この質問にはすでに答えがあります。: LinuxコンソールのShift + PgUpは機能しなくなりました。 (回答1個) 閉鎖2年前。 Samsung PC(仮想マシンではない)にUbuntu Server 20.04をインストールしましたが、上下にスクロールできず、マウスがなければ何をすべきかわかりません。 Shift+ PageUp、Ctrl++ Shift、、PageUp++ ArrowUp、またはShift何もテストしていません。周辺には何も見つかりません。ありがとうFnPageUpArrowUup

Admin

BashがAlpine 3.14.2で実行可能ビットを正しく評価できないのはなぜですか?
bash
test
alpine-linux

BashがAlpine 3.14.2で実行可能ビットを正しく評価できないのはなぜですか?

Bash 5.1.4(1) を実行する dockerized Alpine 3.14.2 では、Bash スクリプトで奇妙な動作が発生します。最も重要なのは、ファイルの実行可能性をテストすることですが、常に失敗します。簡単に言えば、これはifテストです。 bash-5.1# if [ ! -x /opt/java/openjdk/bin/java ]; then echo "something strange just happened"; fi something strange just happened しかし、私が知っている実行可能性を「テスト」するさまざまな方法は、すべてさまざまな結果を示しています。 bash-5.1# ls -la /opt/java/openjdk/bin/java -rwxr-xr-x 1 root root 12648 Jan 21 2021 /opt/java/openjdk/bin/java bash-5.1# stat -c "%A" /opt/java/openjdk/bin/java -rwxr-xr-x bash-5.1# /opt/java/openjdk/bin/java --version openjdk 15.0.2 2021-01-19 OpenJDK Runtime Environment AdoptOpenJDK (build 15.0.2+7) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 15.0.2+7, mixed mode, sharing) 私のスクリプトが正しく機能するために、Bash内の実行可能性テストは正しい結果を返す必要があります。しかし、なぜできませんか? 私が確認したり試したことがたくさんあります。そのうちのいくつかはコミュニティの提案に基づいています。 すべての(テスト済み)実行可能ファイルのスキャンに失敗しました。 Bash自体も同様です。結果は常に間違っています。 bash-5.1# if [ ! -x /bin/bash ]; then echo "this is weird"; fi this is weird @KamilMaciorowskiは、彼の意見でbashカバレッジテストを提案しました。しかし、出力は大丈夫に見えます。 bash-5.1# type -a [ [ is a shell builtin 以下はコマンドの追跡です(@zevzekに感謝します)。 bash-5.1# strace -fe trace=access,faccessat,stat bash -c '[ -x /bin/bash ]' stat("/root", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 stat(".", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 stat("/root", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 stat("/root", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 stat(".", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 stat("/usr/local/sbin/bash", 0x7ffc257ec050) = -1 ENOENT (No such file or directory) stat("/usr/local/bin/bash", 0x7ffc257ec050) = -1 ENOENT (No such file or directory) stat("/usr/sbin/bash", 0x7ffc257ec050) = -1 ENOENT (No such file or directory) stat("/usr/bin/bash", 0x7ffc257ec050) = -1 ENOENT (No such file or directory) stat("/sbin/bash", 0x7ffc257ec050) = -1 ENOENT (No such file or directory) stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=760136, ...}) = 0 stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=760136, ...}) = 0 +++ exited with 1 +++ Busyboxで「real」を使用すると問題はありませんが、Bashでは[機能しません。[ただし、このコンテナのソフトウェアに付属のすべてのBashスクリプトを再構築することはできません。 bash-5.1# which [ /usr/bin/[ bash-5.1# if [ ! -x /bin/bash ]; then echo "this is weird"; fi this is weird bash-5.1# if /usr/bin/[ ! -x /bin/bash ]; then echo "this is weird"; fi bash-5.1# ファイルシステムが「noexec」マウントされていません 他のテストは[ -f /bin/bash ]正確[ -f /tmp/not_there ]ですが、-x間違っているようです。 Bash 5.1.1を試してみましたが、そこで動作します。その時私が経験したバッシュリリースノートしかし、2つの間に関連するコンテンツが見つかりません。

Admin

Linuxとモニター間の接続問題のデバッグ
linux
multi-monitor

Linuxとモニター間の接続問題のデバッグ

2台のノートパソコンがあり、KVMを使用して単一のモニターに接続します(USB-CからKVMへ、HDMIからKVMからモニターへ)。ノートブックの1つはデュアルブートLinux / Windowsです。私が経験している問題は、デュアルブートノートブックがLinuxを起動したときにモニターを認識しないようです。これをより具体的にするには: 両方のノートブックにはまったく同じLinuxディストリビューションがあります(同じプロファイルのNixOS 21.05)。 KVMで使用するための非デュアルブートノートブック デュアルブートノートブックはWindowsではKVMで動作しますが、Linuxでは動作しません。 デュアルブートノートブックでLinuxを使用すると、xrandrモニターは表示されません。 デュアルブートノートブックには2つのUSB-Cポートがあります。 1つはThunderboltポート、もう1つはUSB-C経由のDisplayPortです。 Windowsでは、奇妙なことに、USB-Cポートの上にあるディスプレイポートのみが機能します。 KVMがThunderboltポートに接続されている場合、ディスプレイは検出されません。 これをxrandr数回入力し、モニタに何も表示されないことを観察した後、原因を特定するためにLinux技術の限界に達したことに気づきました。誰でも私にアドバイスを与えることができますか? イベントの前後に感謝の気持ちを伝えてください。

Admin

$!を使用してシェルスクリプトのPIDを取得すると、正しい(最終)PIDは提供されません。
bash
shell-script
process

$!を使用してシェルスクリプトのPIDを取得すると、正しい(最終)PIDは提供されません。

後で終了できるように、シェルスクリプトのPIDを取得しようとしています。 bash "home/lewis/builds/arduino/arduino-1.8.12/arduino" & disown echo "$!" 上記は実行され、37977を返します。 しかし、 走ると手にkill 37977入る bash: kill: (37977) - No such process 私の考えでは、スクリプトが/home/lewis/builds/arduino/arduino-1.8.12/arduino37977に加えて別のプロセスを生成するためだと思います。 シェルスクリプトや私が実行している他のコマンドの最終PIDを取得する方法はありますか?通常はうまく機能しますが、このインスタンスは問題を引き起こします。 これが再発する場合に備えて、他のコマンドに移動できるソリューションが必要です。

Admin

-ok NOT -execでfindコマンドを使用する例
command-line
find

-ok NOT -execでfindコマンドを使用する例

誰かが以下のコマンドからに置き換える方法を教えてもらえますか-exec?-ok find -name "*.swp" -exec rm {} "\;" -ok「マンページ」にこれを使用して「確認」できることが示されています。 交換しましたが、-execエラー-okが発生しました。 find: missing argument to 'ok' これはParrotOSにあります。

Admin

KBUILD_CFLAGS_MODULEを使用してカーネルモジュールをコンパイルすることはできません。
linux-kernel
compiling
kernel-modules

KBUILD_CFLAGS_MODULEを使用してカーネルモジュールをコンパイルすることはできません。

KBUILD_CFLAGS_MODULE新しいカーネルでカーネルモジュールをコンパイルするのに問題があります。コンパイラは私に奇妙なエラーを示しています。このタイプのビルドは以前のカーネル(5.5)で動作しましたが、5.16カーネルでは機能しなくなりました。 以下は、再現可能な最小限の例です。 仮想モジュール: #include #include #include MODULE_LICENSE("GPL"); static int __init lkm_example_init(void) {return 0;} static void __exit lkm_example_exit(void){} module_init(lkm_example_init); module_exit(lkm_example_exit); ファイル生成: TARGET ?= test obj-m += ${TARGET}.o KBUILD_CFLAGS_MODULE := "-O1" "-mcmodel=medium" # Examples .PHONY: all all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean その行をコメントアウトすると、KBUILD_CFLAGS_MODULEビルドが機能します。 ただし、コメントアウトを削除すると、次のエラーメッセージでコンパイルが失敗します。 make TARGET=test make -C /lib/modules/5.16.0/build M=/home/user/test modules make[1]: Entering directory '/home/user/linux' CC [M] /home/user/test/test.o In file included from ./include/linux/module.h:22, from /home/user/test/test.c:2: ./include/linux/module.h:183:39: error: expected ',' or ';' before 'KBUILD_MODFILE' 183 | #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE); | ^~~~~~~~~~~~~~ ./include/linux/moduleparam.h:26:47: note: in definition of macro '__MODULE_INFO' 26 | = __MODULE_INFO_PREFIX __stringify(tag) "=" info | ^~~~ ./include/linux/module.h:183:21: note: in expansion of macro 'MODULE_INFO' 183 | #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE); | ^~~~~~~~~~~ ./include/linux/module.h:230:34: note: in expansion of macro 'MODULE_FILE' 230 | #define MODULE_LICENSE(_license) MODULE_FILE MODULE_INFO(license, _license) | ^~~~~~~~~~~ /home/user/test/test.c:4:1: note: in expansion of macro 'MODULE_LICENSE' 4 | MODULE_LICENSE("GPL"); | ^~~~~~~~~~~~~~ make[2]: *** [scripts/Makefile.build:287: /home/user/test/test.o] Error 1 make[1]: *** [Makefile:1846: /home/user/test] Error 2 make[1]: Leaving directory '/home/user/linux' make: *** [Makefile:6: all] Error 2 この問題の根本原因が何であるかを知っていますか?

Admin