問題タブ [xattr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - Snow Leopard の古い Mac 拡張属性
昨年、誰かが PC で使えるように、OS 9 前後の古い Mac フォントを変換しなければなりませんでした。当時、フォント データは拡張属性 com.apple.ResourceFork に格納されていたことがわかりました。実際のファイル サイズは、ターミナルで 0 として表示されます。xattr -p com.apple.ResourceFork font > font.ttf を使用して拡張属性の値を出力するだけで、これを回避できました。
現在、Snow Leopard と HFS+ ファイル圧縮により状況が変わりました。ここで古いスタイルの拡張属性を出力しようとすると、値ではなく 16 進数のみが取得されます。-x オプションで指定しない限り、新しい拡張属性は 16 進数なしで表示されます。次に例を示します。
ResourceFork で xattr -p を実行すると 16 進数が出力され、検疫で実行すると ASCII が取得されます。明らかに、Apple は拡張属性の処理方法を変更しました。おそらく、OS 9 フォントをまだ使い続けている人々のことを忘れていたのでしょう。
ここに欠けているものはありますか、それとも16進数をASCIIに変換するスクリプトを書くだけですか?
file - 拡張属性の削除: 失敗
シェルスクリプトから、拡張属性を削除しようとしています
setfattr -x security.selinux file.txt
file.txt のモードは 777 ですが、「許可拒否エラー」が発生します。
どうすればこれを修正できますか?
linux - 拡張属性を見つける
Locateがユーザー定義の拡張属性(タグ)を見つけることができるように、updatedb(またはlocate)の一種のラッパースクリプトまたはパッチを作成する簡単な方法はありますか(ext3ファイルシステムでuser_xattrオプションでマウントされていると仮定します)?
macos - すべての Finder エイリアスのターゲットを照会する方法は?
マック OS X 10.6
間違ったボリュームを指しているエイリアスがいくつかあります。階層全体でそのようなエイリアスを検索したいと思います。それらはシンボリックリンクではなくエイリアスであるため、単に行うことはできませfind / -type l -ls | grep badVolumeName
ん.
エイリアスには com.apple.ResourceFork があるようですが、これをクエリするとxattr
バイナリ データが返されます。不正なボリューム名を grep できるように、エイリアスのターゲットをテキストとしてダンプする方法はありますか? または、これを行う別の方法は何ですか?
c# - C# xattr ファイルの属性
私はクロスプラットフォーム ソフトウェアを作成しています。C# で Unix (Mac OSX/Linux) 拡張ファイル属性を読み書きする (簡単な) 方法があるかどうかを知りたいです。名前空間について読んだばかりですxattr
が、この機能の C# 実装またはバインディングに関する情報は見つかりませんでした。
PS これまでに見つけたのは python-xattr ライブラリだけですが、次の理由から使用したくありません。
- ユーザーに Python のインストールを義務付けたくありません (対処すべき Mono/.NET 依存関係が既に存在します)
- Python を使用すると、パフォーマンスが低下します (C# はコンパイルされますが、Python は解釈されます)。
- 安全ではないため、(可能であれば) 外部ツールに依存/依存したくない
linux - Xattrs はサポートされていません
の小さなテストを実行しようとしていますXATTRs
。すべての XATTR を有効にしてカーネルを再コンパイルしました。
ここで、 xattrs のヘッダーをインクルードすると:
no such file or directoryというエラーが表示されます。UBUNTU 11.10 64 ビット システムを使用していますが、XATTR がサポートされていない理由がわかりません。
macos - xattrの16進出力の文字列表現の印刷
xattrを使用してOSX上のSafariでダウンロードしたディスクイメージから元のダウンロードURLを抽出するスクリプトを作成しようとしています。これにより、名前を変更しながら、参照用に元の名前を簡単に取得できます。
このコマンドは、例として、指定されたファイルがダウンロードされたURLの16進表現を出力します。
与える
URLは14バイト目(正しくカウントした場合)から始まり、NULLで終了します。次のように文字列出力を取得するように、この文字列をフォーマットするにはどうすればよいですか。
http://adcdownload.apple.com/Mac_OS_X/mac_os_x_10.6.1_build_10b504/0415073a.dmg
(心配しないでください。ADCにログインしていない限り、このリンクは機能しません)
...基本的に、FinderがGetInfoに表示するのと同じものです。xattrの出力をxxdにパイプしてみましたが、文字列が正しい場所から始まるようにオフセットを指定する方法がわかりません。
linux - FUSE ファイル システムを介した Linux 機能
私は、次のようにコーディングgetxattr
した FUSE ファイルシステムを持っています。setxattr
と
私はこれをテストしましたが、機能を除いて非常にうまく機能します。 setcap を使用してプログラムの機能を設定して実行すると、プログラムは特権作業を実行できません。getcap にもかかわらず、以前に設定した機能が返されます。
誰かが問題を追跡する方法を教えてくれますか、または何が起こっているかについての指針を教えてくれますか?
macos - Mac com.apple.ResourceFork 拡張属性をコピーすると、「引数リストが長すぎます」
OSX の「xattr」ユーティリティを使用して、あるファイルから別のファイルに拡張属性をコピーしようとしています。バックグラウンドは、バックアップツールを構築していて、ファイル/構造がすべての属性、ACL などを保持する必要があることです...リソースフォークなどの大きな属性を除いて、すべて正常に機能しています。小さな属性は、以下の方法を使用して正常に機能します。OS X 10.7.5 でこれを試みる
まず、「ls -l@」を使用してファイルの属性を特定します。以下の結果:
次に、属性をエクスポートします (com.apple.ResourceFork が問題の原因です)。
次のコマンドを使用して、この属性を別の Mac 上のファイルのコピーに適用したいと思います。
これにより、次の結果が得られます。
なぜそれが起こっているのかはわかっていると思います... リソースフォークのデータが長すぎて、引数に収まりません。壊れ始めるしきい値は確立していませんが、ARG_MAX に関係していると思われます。xargs は、いくつかの小さな引数ではなく、1 つの非常に大きな引数であるため、ここでは役に立ちません。
複数の質問:
- xattr にこの大きな値を受け入れさせる方法はありますか? どういうわけか標準入力経由でパイプしますか?manページには表示されませんが、私は専門家ではなく、おそらくそれを行うための創造的な方法があります
- ストックコマンドラインツールを使用して大きな拡張属性を適用する適切な方法を誰か教えてもらえますか?
- ストックコマンドラインツールがない場合、サードパーティツールの推奨事項はありますか?
java - Java UserDefinedFileAttributeView
ファイルに新しい属性を追加するUserDefinedFileAttributeView
と、Java はこの情報をどこに保存しますか? ディレクトリに追加のファイルはありません。ファイルのプロパティを表示しても、ファイルに新しい属性や詳細はありません。
私のコード: