最新記事

umaskの計算式はどのように導き出されますか?
files
permissions
filesystems
umask

umaskの計算式はどのように導き出されますか?

を使用するときにumask結果の権限を取得するには、まずマスクを編集してから、デフォルトのNOT権限AND(777または)で666編集する必要があることを知っています。 今私の質問は、この式がどのように導かれるかです。私の言葉はゆうマスクです、D基本権限です。右許可は受けましたが、どこに? R = D AND NOT(U) から?誰かが虚空で夢を見るのとは異なります。

Admin

ファイルシステムに対するすべての操作に時間がかかる
files
filesystems
ls
disk-usage
nautilus

ファイルシステムに対するすべての操作に時間がかかる

私はUbuntu 22.04 LTSを使用しています。驚いたことに、ファイルシステムのすべての操作が停止しました。試してみましたがls /、これらすべてのコマンドを実行するのに時間がかかります。私のオペレーティングシステムにはどんな問題がありますか?dfnautilus Nautilusが機能していないため、画像を挿入できません。 vimいつものように動作findmntします。 sshfsなどのコマンドは使用しませんが、うまくsudo ls /動作します。 dmesg -Hx出力: ... kern :notice: [ +0,000007] audit: type=1400 audit(1695399711.961:212677): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000013] audit: type=1400 audit(1695399711.961:212678): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000035] audit: type=1400 audit(1695399711.961:212679): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000028] audit: type=1400 audit(1695399711.961:212680): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000044] audit: type=1400 audit(1695399711.961:212681): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000028] audit: type=1400 audit(1695399711.961:212682): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000052] audit: type=1400 audit(1695399711.961:212683): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000028] audit: type=1400 audit(1695399711.961:212684): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000044] audit: type=1400 audit(1695399711.961:212685): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :notice: [ +0,000028] audit: type=1400 audit(1695399711.961:212686): apparmor="DENIED" operation="ptrace" class="ptrace" profile="snap.discord.discord" pid=4642 comm="Utils" requested_mask="read" denied_mask="read" peer="un> kern :warn : [ +7,435158] kauditd_printk_skb: 327 callbacks suppressed

Admin

ファイル名に許可される文字をどのように制限できますか?
files
filesystems
linux-kernel
security

ファイル名に許可される文字をどのように制限できますか?

フォローアップUnix/Linux/POSIX ファイル名の変更: 制御文字 (改行文字など)、先行ダッシュ、その他の問題*、方法がありますか?禁止する一般的なLinuxカーネル/ファイルシステムで問題のある名前のファイルを作成しますか?これは低レベルで適用される必要があるため、rootアクセスによる設定変更以外の変更はこれらのファイル名を生成できません。たとえば、ファイルシステムドライバに、制御文字、改行、その他の文字(名前の先頭のハイフンなど)なしで有効なUTF-8シーケンスのみを許可するように指示するマウントオプションが理想的です。 ユースケースは主にセキュリティ強化ですが、ひどいハッキングをせずにコードでファイル名を処理できることです(詳細は上記の記事を参照)。 *:これまでの回答とコメントで提起されたほとんどの事項がこの記事で解決されました。公開する前に確認してください。

Admin

バックアップコピーから部分的に読み取れないファイルを回復する手順/方法
files
backup
btrfs
file-copy

バックアップコピーから部分的に読み取れないファイルを回復する手順/方法

整合性検証ファイルシステム(btrfs)に部分的に破損したファイルがあります。 $ pv -c \{30939216-15e2-4563-b77e-2ab8687ec333\}.vdi >/dev/null pv: {30939216-15e2-4563-b77e-2ab8687ec333}.vdi: read failed: Input/output error 3.41GiB 0:00:00 [5.25GiB/s] [=====================================================================> ] 42% このファイルの完全バックアップがありますが、アクセスが非常に遅いです。 $ pv ~/mnt/borg/able-2022-10-05T12:00:21+04:00/arch/home/intelfx/VirtualBox\ VMs/Windows\ 10/Snapshots/\{30939216-15e2-4563-b77e-2ab8687ec333\}.vdi >/dev/null 1.3MiB 0:00:30 [430KiB/s] [> ] 0% ETA 51:55:23 ^C Btrfsは、ファイルのどの部分が破損しているかを知っています。破損した範囲を読み取ろうとすると、I/O エラーが返されます。 できるだけ少ないネットワークI / Oを実行してバックアップコピーからファイルを復元する最も簡単な方法は何ですか?上書きされるデータ量を最小限に抑えるファイル復元のボーナスポイント。 ddrescueダンスを見てみようかと思いましたが、壊れやすい感じがしました。 ddrescue broken_file temp_file map_file(保存map_file、廃棄temp_file) ddrescue --retrim backup_file broken_file map_file(再使用map_file) たぶん、より簡単な方法やこの目的のために特別に作られたツールが欠けているのでしょうか?

Admin

CPUで実行されているスレッドのTIDを取得します。
linux
files
linux-kernel

CPUで実行されているスレッドのTIDを取得します。

現在の論理コア(たとえば、論理コア0)で実行されているスレッドのTIDを取得できますか?カーネル空間ではこれは簡単ですが、ユーザー空間からスレッド情報を取得する方法がわかりません。

Admin

現在のディレクトリとサブディレクトリにある複数のファイルの名前を変更するスクリプト
bash
shell-script
files

現在のディレクトリとサブディレクトリにある複数のファイルの名前を変更するスクリプト

スクリプトは、ディレクトリ/サブディレクトリ内の各ファイルを繰り返し見て(シンボリックリンクをスキップ)、ファイル名を次のように置き換える必要があります。 複数の連続したスペースは1つのスペースのみです 複数の連続_1つだけを含む_ 1つ以上の下線と1つ以上のスペース(下線は1つのみを含む) 下線の後 - 下線のみ - 後ろに下線が続き、下線のみが表示されます。 複数の連続した「.」には1点しかありません。 ファイルサフィックスをすべて小文字にします(例:.PdFから.pdfへ)、これは単なる例です。 @、$、または!などの文字を削除してください。

Admin

大容量ファイルのinotifywaitデバウンス
bash
shell-script
files
inotify

大容量ファイルのinotifywaitデバウンス

リモートディレクトリに展開するファイルをアップロードします。リモートサーバーには、ディレクトリ内の新しいファイルを監視するスクリプトがあります。 inotifywait --monitor --event create --format '%f' --quiet /foo 新しいファイルが検出されると、デプロイプロセスが開始されます。 問題は、アップロードに時間がかかり、ファイルが書き込みを開始するとすぐに検出されることです。そのため、部分ファイルを使用しようとしているため、展開は失敗します。 inotifywait新しいファイルが完全に作成された後にのみ報告されるようにジッタを削除する方法はありますか?

Admin

メディアインフォに映像が切り取られたとはどういう意味ですか?
files
video
ffmpeg
multimedia
integrity

メディアインフォに映像が切り取られたとはどういう意味ですか?

破損したビデオファイルを確認する方法は2つあります。 1つ目はmediainfoすぐに使用して実行することです。 mediainfo "$1" | grep --color 'IsTruncated' 2番目は、ビデオをフレームごとに手動で段階的に進めることですffmpeg(数分の集中的な処理が必要です)。 ffmpeg -v error -i "$1" -f null - IsTruncated動画が移動またはダウンロードされ、中断されることが何を意味するのかを理解してください。ファイルが小さすぎてそのポイントに達すると、ビデオの再生が停止します。しかし、時には最初のスクリプトでビデオが切り捨てられたことを伝えますが、うまく再生され、最後まで再生され続けます。実行時に、2番目のスクリプトはエラーメッセージをまったく表示しません。 IsTruncated動画がよさそうだとはどういう意味ですか?どの部分とどの部分が欠けているのかわかりますか?

Admin

プロセスの閉じられていないすべてのファイルを見つける方法は?
files
process
strace
open-files
trace

プロセスの閉じられていないすべてのファイルを見つける方法は?

私のアプリケーションがコードのどこかに開いたファイルを保持しているかどうかをデバッグしようとしています。これを使ってみるか悩んでいますが、strace以前のテーマはすべてです(一つ)私たちは開いたファイルについてだけ話しています。この情報は役に立ちますが、プロセスとそのフォークによって閉じられないファイルに興味があります(理解できる理由で)。どうすればいいですか?

Admin

RAMにキャッシュされたNFSファイルの内容が破損しているのはなぜですか?
files
nfs
caching

RAMにキャッシュされたNFSファイルの内容が破損しているのはなぜですか?

NFSサーバーと複数のクライアント(Ubuntu 18.04)があります。時々(まれに)他のクライアントがファイルを変更した後、クライアントは破損したデータを表示します。サーバーと他のすべてのクライアントはファイルを正しく表示します。 コンテキストは、単純な日常的な開発者ワークフローの状況です。クライアントコンピュータのIDE(PyCharm)でプログラムのPythonソースコードを編集し、ターミナルウィンドウコンピュータで別の(よりパフォーマンスの高い)SSHとして実行してプログラム。症状:ファイルの末尾からnullバイトを読み取るか、ファイルが切り捨てられます(Pythonコードを実行すると構文エラーが発生します)。 これはキャッシュのバグによるものだと思います。特に、影響を受けるファイルの内容は依然として以前のバージョンと誤って見なされますが、すべてのメタデータが正しく表示されます。新しいバージョンで。 したがって、他のクライアントがファイルを小さくすると、失敗したクライアントはそのファイルが古いコンテンツを持っているように見えますが、突然新しいサイズで停止します。他のクライアントがそれを大きくすると、欠陥のあるクライアントは古いコンテンツを見ることができますが、最後にいくつかのガベージ(ほとんど0バイト)が追加されます。 キャッシュの一貫性に関するNFSのマニュアルページを読んでいますが、問題は属性キャッシュに関するものではなく、マニュアルページではコンテンツのキャッシュについてあまり言及していません。それはおそらく、NFSではなく、通常のファイルシステムキャッシュ層で処理されるからです。 これプロパティ(アノード番号、サイズ、変更時間)はすべて正しく表示されますが、内容は表示されません。 これは、設定可能な属性キャッシュのタイムアウトに関するものではありません。間違ったファイルの内容はそこに無期限に残り、クライアントは間違ったものがあることに気づかないでしょう。繰り返します。クライアントが誤ったコンテンツ(偽のヌルバイトなど)のためにブロックされます。空(およびそれ以上)キャッシュを手動で削除しない限り。 なぜですか?解決策はありますか?キャッシュを削除すると一時的に問題が解決される可能性がありますが、これは手動介入であるため、サイズが同じままで、他のクライアントで数バイトしか変更されない場合は、欠陥が静かになる可能性があります。 数年が経ちましたが、問題は続いて解決策がないようです。郵便はがきGitLabは2週間のデバッグでキャッシュエラーを見つけましたが、どちらも私の問題を実際に解決できませんでした。 ) ウェブ上で最も関連性の高い情報は、以下で提供されます。このメーリングリストの議論は2015年からです。しかし、結局のところ、開発者は全く問題がないと主張して混乱しています。それでは、HPCクラスタ設定でNFSをどのように使用しますか(ログインノードのコードを編集して実行のためにコンピューティングノードに送信)。ソースコードの破損したバージョンが表示されるコンピューティングノードの問題が頻繁に発生します。さらに重要なのは、NFSの人々が作成できるWONTFIX / NOBUGステートメントの背後にある哲学に関係なく、私のシナリオで実行可能な修正は何ですか?

Admin

ファイルの行を入力として算術的に評価することはできません。
bash
shell-script
files

ファイルの行を入力として算術的に評価することはできません。

だから私は各行に整数を含むファイルを許可するbashスクリプトを書いています、そして、各行のこれらの整数をローマ数字に変換する関数を書いています。これを別のファイルに書き込む必要があります。これを行うには)>)。ほとんどの操作はSubValueとRomanCon関数によって実行され、RomanConはファイルから読み取った行を繰り返しローマ数字に変換しますが、subvalueはデフォルトで整数値をローマ数字に置き換えます。コマンドラインから直接整数を入力すると、これらの両方がうまく機能します。ただし、ファイル入力から読み取ろうとすると、ファイルの行が純粋に整数で構成されていても、予想される整数式が引き続き表示されるため、機能しません。二重かっこ(())とは異なる強制型-iを試してみましたが、それでも望ましい効果が得られませんでした。 ありがとう #!/bin/bash #https://www.linuxjournal.com/content/converting-decimals-roman-numerals-bash #https://opensource.com/article/21/3/input-output-bash #https://phoenixnap.com/kb/bash-read-file-line-by-line #https://www.tutorialspoint.com/linux_admin/linux_admin_reading_and_writing_to_files.htm #https://github.com/joric/interviewbit/blob/master/scripting/regex-and-functions/convert-integer-to-roman-number.md SubValue() { # add $2 to romanvalue and subtract $1 from decvalue romanvalue="${romanvalue}$2" decvalue=$(($decvalue - $1 )) } RomanCon() { decvalue=$1 while [ "$decvalue" -gt 0 ] ; do if [ "$decvalue" -ge 1000 ] ; then SubValue 1000 "m" elif [ "$decvalue" -ge 900 ] ; then SubValue 900 "cm" elif [ "$decvalue" -ge 500 ] ; then SubValue 500 "d" elif [ "$decvalue" -ge 400 ] ; then SubValue 400 "cd" elif [ "$decvalue" -ge 100 ] ; then SubValue 100 "c" elif [ "$decvalue" -ge 90 ] ; then SubValue 90 "xc" elif [ "$decvalue" -ge 50 ] ; then SubValue 50 "l" elif [ "$decvalue" -ge 40 ] ; then SubValue 40 "xl" elif [ "$decvalue" -ge 10 ] ; then SubValue 10 "x" elif [ "$decvalue" -ge 9 ] ; then SubValue 9 "ix" elif [ "$decvalue" -ge 5 ] ; then SubValue 5 "v" elif [ "$decvalue" -ge 4 ] ; then SubValue 4 "iv" elif [ "$decvalue" -ge 1 ] ; then SubValue 1 "i" fi done echo $romanvalue } file=$1 while read -r line; do RomanCon $line done <$file 現在、コマンドライン引数を使用してスクリプトを実行しています。 ./roman.sh rome.txt はい、ファイルコンポーネントへの書き込みが完了していないことがわかりましたが、実行するたびに出力され続けるため、これまでは動作しませんでした。 : integer expression expected : integer expression expected : integer expression expected : integer expression expected したがって、これらの入力を取得する方法がわかりません(このファイルには整数が含まれています。例: 1111 2345 789 905

Admin