Home » FreeBSD » FreeBSD で削除出来ないファイルを削除する

現在、基本環境ではやや古めの ports スケルトンを用いていますが、以下の様なエラーで削除が完了しない場合があります。

# rm -r ports/
override r-xr-xr-x  root/wheel schg for ports/misc/compat4x/work/var/empty?
rm: ports/misc/compat4x/work/var: Directory not empty
rm: ports/misc/compat4x/work: Directory not empty
rm: ports/misc/compat4x: Directory not empty
rm: ports/misc: Directory not empty
rm: ports/: Directory not empty

rm -rf に変更しても、プロンプトが返らなくなるだけで変わりません。

# rm -rf ports/
rm: ports/misc/compat4x/work/var/empty: Operation not permitted
rm: ports/misc/compat4x/work/var: Directory not empty
rm: ports/misc/compat4x/work: Directory not empty
rm: ports/misc/compat4x: Directory not empty
rm: ports/misc: Directory not empty
rm: ports/: Directory not empty

パーミッションが許可されていても削除出来ない場合、chflags により削除出来ないフラグが設定されていることを想い出し、

ls -lo ports/misc/compat4x/work/var/
total 4
dr-xr-xr-x  2 root  wheel  schg 512 Oct  3  2004 empty

ls -lo で確認するとやはり schg フラグが付加されていました。

# chflags noschg ports/misc/compat4x/work/var/empty
# rm -r ports/

該当のディレクトリ・ファイルのフラグを no で打ち消すことで削除は可能ですが、

# chflags 0 ports/misc/compat4x/work/var/empty
# rm -r ports/

0 を指定することで、強制的にすべてのフラグをクリアすることも可能です。

compat4x/ 以外にも同様のケースがあった記憶がありますが、その様な場合は

# chflags -R 0 ports/misc/compat*
# rm -r ports/

と chown 同様 -R で対象のディレクトリ配下すべてを一括変更出来ます。chflags (FreeBSD 日本語マニュアル) も参考になりました。

Random Select

2013 年産ダイヤモンド麦芽の恵み 初仕込 (12)
2013 年産ダイヤモンド麦芽の恵み 初仕込 ザ・プレミアム・モルツ (Part 1) の続きです。2013/12/09 に終了した "絶対もらえるキャンペーン" で、2014/0
FreeBSD Logo
デスクトップやノート PC の環境を FreeBSD 9.1-RELEASE (amd64) から 10.1-RELEASE (amd64) に移行した際、ついに日本語入力を kinput2 + ca
デミグラスハンバーグと海老フライ定食
世間はクリスマスイブでチキン真っ盛りですが、この日のランチはなぜか無性にハンバーグが食べたくなりました。ザ・ハンバーグ (300g) も考えましたが、沖縄出張 (No. 24 – きょんた
あぐーハンバーグセット 220g
瀬底島 (No. 3 – アンチ浜ビーチ 〜 瀬底ビーチ) の続きです。瀬底島を堪能した後は、ハンバーグとパンケーキのお店うるり に猫まっしぐらに向かいました。元々予定に組み込んでいて絶対
辛つけ麺 (大盛 500g)
東京オフィスから神保町方面に 4, 5 分靖国通り沿いを歩くと、つけ麺さとう があります。ランチ時に限りませんが、入口手前の慣れないと見落とすところにトッピング無料券があります。味玉温野菜ネギ中に入っ
Office Desk
この手の手続きは、何かきっかけがないと (きっかけがあっても) 腰が重いクセが抜けません。現在地には 2006/09 に転入しましたが、この時は住民票のみ移して、戸籍謄本や印鑑証明の処理はしませんでし
やさいそば (大) + じゅうしぃ
古宇利島 (No. 1 – 古宇利大橋 〜 ハートロック) の続きです。翌日 09/21 (日) は再び 3 人での観光です。当初 09/21 に計画していた予定を 09/20 に前倒した
タコライス + メキシチョイス
自宅 de タコライス (S&B タコスシーズニング Part 3) で思わぬ成功に味をしめたので、再び挑戦しました。今回は OLD EL PASO タコ・シーズニング を手に入れるべく、隣駅
Rack Sample 0
ここ数年、"理想のファイルシステムとは何か" というテーマで考え続けています。機器単体では RAID (Redundant Arrays of Independent Disks)
今帰仁城跡 (1)
沖縄本島 (No. 11 – 首里ほりかわ) の続きです。首里城には 2 度行ったことがありますが、沖縄には城跡が点在すると聞いています。今回は中城城跡と今帰仁城跡を訪れてみました。いずれ
Valid HTML5 Valid CSS3 Another HTML Lint