Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

2
破損したドライブ(IOエラー)に対する高度なNTFSパーティションファイル回復テクニック
いくつかのVMに影響を与えるESXiホストのハードドライブへの被害は、非常に小さいものの非常に重要です。復元したいファイルがありますが、もちろん、通常のバックアップから除外されました。最新のコピーは6か月前のものです。私はそれが必要なことがわかりました...おっと。 詳細: 1)Parted MagicブータブルISO内でddrescue(AWESOMEツール)を使用して、問題のVMのドライブの99.98%を回復しました。残念ながら、エラーはほとんど最近のファイル書き込みによるものと思われます...もちろん、これらはまさに私が最も回復する必要があるセクターです。 2)ドライブは不良セクターの読み取りでIOエラーを出しますが、以前の不良セクターの読み取りで時々成功します!したがって、回復はまだ可能です。それよりもわずかに多い頻度で、ある種の大きな誤動作が発生し、ドライブがスピンダウンしてバックアップします。ああ、そしてこれらのスピンダウンの約1/4は元に戻りません。(ハードパワーサイクルが必要です。シャットダウンは機能しません)最後に、読み取った不良セクターのほぼすべてに、クリック音が聞こえます。 3)重要なVMディスクはNTFSフォーマットです。 4)破損したNTFSボリュームを読み取り専用で(通常は)マウントできます。また、必要なファイルが含まれているフォルダーに移動できます(頻度は少し少なくなります)。ただし、問題のファイルは、フォルダーの「ls」を実行すると常にIOエラーを表示するようです。フォルダー内の他のファイルは、IOエラーを発生しません。 5)私はntfsinfo / etcを使用してみました...まさに私が必要としているように聞こえます...しかし、それはパーティションをまったく開けません。(イライラする、「マウント」は通常そうするから) 6)ファイルはExcel 2003時代のXLSファイルであるため、生のディスクイメージを検索するための文字列を思いつくかどうかはわかりません。(おそらく6か月前のバージョンの一部ですか?) 私は本当にdebugfsの機能のようなものを使いたいです。ただし、manページからは、パーティションを開くように作られている場合にのみ、ntfsツールが作業を実行できるようです。特に、IOエラーが純粋にファイルのメタデータ内にあるのか、ファイルの内容をコピーするのに十分なだけディレクトリレコードを復元できるのかと思います。最後の手段として、取得できるファイルの部分的なコンテンツが何であれ、すばらしいと思います。 以前は(比較的単純な)カーネルモジュールを作成したことがあるので、より多くのデバッグ情報を有効(または追加)にして特別なNTFSモジュールをコンパイルできます。(ファイルは、回復するために少なくとも数日いじくり回す価値があります...さらに、その過程で素晴らしいものを学んでいます) ポインタはありますか? 編集: その他のドライブエラー情報: / var / log / messagesにはもちろん多くのNTFS-fsエラーが表示されています...しかし、最終的に、通常取得する未処理のセンスコードメッセージ(センスキー0x3、ASC = 0x11、ASCQ = 0x4)を翻訳する必要がありました。(これはUNRECOVERED READ ERROR-AUTO REALLOCATE FAILEDに変換されるようです)。 ドライブがスピンダウンすると、「scsi0:* BusLogic BT-958 Initialized」というメッセージが表示されます。Linux SCSIドライバーなのか、ESXiドライバーなのか、ドライブ自体をスピンダウンさせるのかはわからない。Linuxドライバーの場合は、ドライバーを変更してスピンダウンを回避できます。この全体のddrescueの事柄は、これらのパワーサイクルを必要とするスピンダウンによって非常に苦痛にされます。 EDIT2: 問題のファイルを含むディレクトリを「ls」した直後に「end_request:I / Oエラー、dev sda、セクター7238859」ログメッセージを使用して、そのセクターをddrescue操作の対象にしました。私は現在、私のチャンスを利用して、成功した場合はそのセクターをライブディスクに書き戻す予定です。おそらく、この方法で問題のファイルへの道をゆっくり再構築できます。それでも、ほとんどの回復可能な不良セクターは20回未満の再試行で回復します...これはこれまでに150回を超えています... *ため息* EDIT3: 私が必要とするファイルの「ls」からのセクターエラーは完全に非協力的です(1000+は夜通し試行し、運がありません)。あなたが「ls」をするとき、それが単なるメタデータであることを望んでいますか?:) ほとんどのddrescueコピーは持っていますが、マウントされません(またはファイルなしでマウントされます)。ほとんどの場合、破損したドライブは正しくマウントされます。破損したドライブのIOエラーは、正常に機能するミラーにフォールバックする「マウント」を強制しますか? ** EDIT4:** 私は今のところあきらめ、さらなる提案を待っています。ドライブを取り外して、箱を作り直しました。何かが起きた場合に備えて、ドライブをそのままにしておきます。

3
passwdでHTTP_PROXYおよび特殊文字をエクスポートする
議論のために、以下の私のパスワードが abc123@ パッチとアップデートを取得するには、企業のプロキシを介してLinuxマシンを認証する必要があります...通常はこれを使用します。 export HTTP_PROXY='http://<Americas\Username>:<Password>@proxy.foo.com' export http_proxy='http://<Americas\Username>:<Password>@proxy.foo.com' しかし、で終わる実際のパスワードを置き換えて@を実行するとaptitude update、... [mpenning@netwiki ~]$ sudo -E aptitude update Err http://mirror.anl.gov squeeze Release.gpg Could not resolve '@proxy.foo.com' Err http://mirror.anl.gov/debian/ squeeze/main Translation-en Could not resolve '@proxy.foo.com' 私はでパスワードを\@エスケープし、両方を\@\@2文字(@@)でエスケープしようとしましたが、これが正しくプロキシされないようです。最近パスワードを変更するまで問題はありませんでした。 パスワードをエスケープする正しい方法は何bashですか?

3
端末のグラフィックAPIとは何ですか?
特定のプログラムはどのようにして背景とフォントの色を設定し、文字を画面上の同じ場所(たとえば、3行目、5列目)に複数回書き込むことができますか? 一部の例は、によって表示される進行状況バーcurl google.com > a、一部のインストール画面、およびほぼすべてのテキストエディターです。

6
カレンダー/スケジューリングアプリケーション
カレンダーとして使えるプログラムを探しています。 私が最初に気づくのは、Googleアプリは、オンラインとオンラインの2つを除いて完璧だということです。Googleカレンダーの最初の問題は、オンラインのため、オンラインでないとそれを利用できないことです。 2つ目の問題は、オンラインであるため、ブラウザを使用してアクセスする必要があることです。つまり、ブラウザのどこかでGoogleカレンダーを開いておく必要があります。まあ、私のブラウザの状態を考えると、良いことではありません。私はその仕事専用の「より少ない」ブラウザー(KonquerorやMidoriなど)を使用することもできましたが、彼らがそれを実現できるかどうかはわかりません。Zap2itとtvlistingsのために私がすることを行うことができますが、別のアカウントを作成しますが、アラーム中の音を防ぐことができます。 私のセットアップは、Debianテストを実行している小さなデスクトップと、Ubuntu Lucid(時にはVista)を実行しているラップトップです。将来的には、Android(ICS)以降を搭載したタブレットを入手する予定です。これらすべてのプラットフォーム間で同期する必要があります。Linuxマシンでは、KDE ​​4を実行しています。私はGnomeベースの(GTK)アプリケーションに反対していませんが、両方のキャンプに、2つのDEを実行しているような十分な部分を起動するプログラムがあることを知っています。それは避けたいです。 アプリケーション自体については、私が探しているものがいくつかあります。アラーム、日次ビュー、週次ビュー、月次ビューを設定する機能。一度に一部のグループのみを表示できるように、イベントをグループ化したいと思います。フリーフローティングイベント(時間に制限のないイベント)がいいでしょう。したがって、よりインタラクティブなGUIになります。(月の日を出力するだけのアプリケーションとは対照的です。) Linux、Android、Vista間で完全に同期するにはどういうわけか。世話をしてくれるGoogleカレンダーに同期できるかと思います。 最後に、イベントをスクリプト化する方法もいいですが、Googleカレンダーと同期できればうまくいくと思いますgcalcli。

2
Debianでタッチスクリーンを設定しますか?
私は、Samsung Q1 UltraにDebian Squeezeを搭載しています。タッチスクリーン以外はすべて問題なく動作します。 矢印はタッチにほとんど反応しません-タッチされた後、たまにランダムな場所に移動します。 を使用して画面を調整しようとしxinput-calibrateましたが、矢印がタッチに反応しなかったため、何も実行されませんでした。 X11は、私が追加するのxorg.confを持っていないので、起動時の設定を生成しますが、私が持っている/user/share/X11/xorg.conf.d/10-evdev.confを。 別のドライバーを試すべきですか(他にある場合)?または、実行する必要があるいくつかの構成はありますか?または何が悪いのでしょうか?


6
端末を使用してツイートする方法は?
端末でメッセージをツイートしたいのですが。 私は次のようなことを試しました: curl -u 'TwitterUsername':'TwitterPassword' -d status=”Your Message Here” https://twitter.com/statuses/update.xml しかし、これはもう機能していないようです。 次のようなエラーが発生します。 <?xml version="1.0" encoding="UTF-8"?> <errors> <error code="53">Basic authentication is not supported</error> </errors> では、ターミナルからツイートするにはどうすればよいでしょうか。 PS .:私のやる気は私が屋久家ターミナルをよく使うからで、そこからツイートするのは素晴らしいことです。

1
後で使用するために `bc`関数を定義する方法は?
いつもbc神秘的で興味をそそられるものを見つけました。これは、元のUnixプログラムの1つでした。そしてそれはそれ自体がプログラミング言語です。だから、私はそれを使用するために見つけることができるどんなチャンスでも喜んで取ります。 bcには階乗関数が含まれていないようなので、次のように定義します。 define fact(x) { if (x>1) { return (x * fact(x-1)) } return (1) } でも……それでは再利用できませんね。 次のようなことができるようになりたいです me@home$ bc <<< "1/fact(937)"
8 shell  bc 

2
CPUが99%で数時間スタック:ログの計算
から抽出syslog: CRON[pid]: (user) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! - execdir fuser -s {} 2>/dev/null \; -delete) 私のCPUは数時間99%でスタックしていますが、これはこれが原因であると考えています。これが何であるか、どのように開始され、どのように停止するかを誰かが偶然知っているでしょうか? 編集:私は試しましたがtop -n1、これを何度も見ています: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND …
8 linux  ubuntu  logs 

1
ライブラリがリンクされているライブラリのバージョンを見つける
不明なUbuntuマシンでコンパイルされたライブラリーがあり、そのマシンがコンパイル時に持っていたUbuntuのバージョンを確認したい。 私の考えは、使用されているさまざまなライブラリ(カーネルなど)のバージョンを探して見つけ、これらのバージョンがさまざまなリリースで変更されたことを知っていた。とを使用nmしてみlddましたが、関連情報を見つけることができません。 助言がありますか?

3
配列を関数に渡す最も正しい方法は何ですか?
私が非常に大きな配列を持っていると考えてください$large_list、配列を引数としてとる関数を書く方法はありますか?例えば: echo_idx_array () { arr="$1" idx="$2" echo "${arr[$idx]}" } そのようなことをするための通常の戦略は何ですか?変数を指定してみまし$large_listたが、空でした。 引数リストの変更に合わせて関数を変更するつもりです。 記録のために、私はksh88を使用しており、可能な限りポータブルな答えを探しています。 編集:これまでのところ私が思いつくことができる最善の方法は、配列をループして、各要素を関数の引数として送信することです。これは信じられないほど醜く、エラーが発生しやすいようです。言うまでもなく、すぐに制限に達します。これが私がしたことです: foo () { echo $* } cmd="foo " while [[ $i -lt $MAX_ARR_SIZE ]]; do cmd="$cmd ${large_list[$i]}" ((i=i+1)) done eval $cmd 何か良いことはありませんか?
8 shell  ksh  array 

3
ディスクがフォーマットされた後の簡単/自動再インストールのためにインストール済みパッケージのリストを作成する方法
私はシステムを32ビットから64ビットに変更し、以前と同じDebian Squeezeを使用しますが、以前にインストールしたプログラムをすべて失いたくないのは、すべての名前を覚えていないためです。 だから私はこれを行うコマンドが欲しかった、システムに付属している標準のプログラムではなく、ファイルにインストールしたすべてのプログラムの名前を保存し、他のシステムを使用しているときはすべてを自動的にインストールするためのファイルとディレクトリ。 もう1つの質問:で手動でインストールされたプログラムでこれを行うことは可能dpkg-i package.debですか?もしそうなら、どうすればそれを行うことができますか?

3
2台のコンピューターを同期するための優れたツールとは
自宅には、arch linuxを実行しているPCタワーがあります。最近、出張用のラップトップも購入しましたが、自宅にいるときはPCタワーで作業したいと思います。 今、私は自分のマシンがどのように構成されているかについてかなり敏感です(それが私がラップトップを必要とする理由です、私は私の大学のWindows 7ステーションが嫌いです)。これらの2つのマシンを同期する方法があるかどうか疑問に思っていましたか?私はこれらをお互いの「正確な」クローンにしたいので、どうやら(もちろん同期後は)一方からもう一方に切り替えることができます。 私は使用を考えrsyncていましたが、それが最良の選択肢かどうかはわかりません。もしそうなら、私は何に注意すべきですか?そこに良いチュートリアルはありますか? また、可能であれば、ホームPCをWebサイトサーバーとして使用したいので、同期する必要のないマシンのセクション(つまり、Webサイトのディレクトリ)があります。 明確にするために:両方のコンピューターでArch Linuxが実行されます。

3
カーネルモジュールがまだ使用されている場合、それを削除するにはどうすればよいですか?
[rootSERVER ~]# rmmod -f cifs ERROR: Removing 'cifs': Resource temporarily unavailable [rootSERVER ~]# modprobe -r cifs FATAL: Module cifs is in use. [root@SERVER ~]# lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: Scientific Description: Scientific Linux release 6.1 (Carbon) Release: 6.1 Codename: Carbon [root@SERVER ~]# 私は試した rmmod -fw cifs しかし、それは単に年齢を待っていました...(そしてはい、すべてのCIFS共有は、CIFSモジュールを削除しようとする前に "umount …

2
異なるファイルシステムのスペースオーバーヘッドは何ですか?
ファイルシステムをUbuntuシステムからFedora 17にバックアップ/復元しました。df出力に従って、使用済みスペースが30%増加したことに気付きました。これの理由は何でしょうか? Fedoraシステムでのdf表示:78 GB使用 Ubuntuシステムでのdf表示:60 GB使用 システム間の違い: Ubuntu:ext3(数年前に作成) Fedora 17:ext4(バニラmkfs.ext4コールで作成) XFSファイルシステム(Fedora 17上)に復元すると、78 GBの使用済みスペースが生じます。 バックアップと復元はGNU tarで行われました。ファイルシステムには、さまざまな種類のファイルが含まれています(ソースツリー、maildir、ISOなど)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.