Unix & Linux

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

1
zshのFPATH:関数とサイト関数
.zshrcファイルの先頭近くに次の行があることに気づきました。 export FPATH=/usr/share/zsh/site-functions:/usr/share/zsh/4.2.6/functions:$FPATH これを自分で入力したのか、この行がによって自動的に生成されたのか思い出せません zsh-newuser-install。 ユーザーがこれらのパスをFPATHスタートアップファイルに入力すると想定されていますか?違いは何だfunctionsとはsite-functions?
10 zsh 

2
「if」でタスクをバックグラウンドに送信
どうしてこれなの? if true; then sleep 3 &; fi bash: syntax error near unexpected token `;' 走りたい sleep 3 コマンド["sleep 3"は単なる例]が "paralell"スタイルで実行されるようにバックグラウンドで実行されるため、より速く終了します。しかし、私はこれを手に入れています: bash: syntax error near unexpected token `;' エラーメッセージ。どうして?バックグラウンドにタスクを送信できないのはなぜですか?

3
python == python2 OR python == python3?python py2kスクリプトをパッケージ化して配布する方法は?
システムに応じて、python== python2またはpython== python3。 実行可能なPythonスクリプト。 #!/usr/bin/env python #!/usr/bin/env python2 #!/usr/bin/env python3... Python py3kの場合、ドキュメントで提供されているので、バージョン番号で使用する必要があります/使用できるため、次のようにします。 #!/usr/bin/env python3 しかし、私はpy2kスクリプトに問題を発見しました。 滞在中py2kドキュメントには、使用に書き込まれます#! /usr/bin/env python、 一部の* nix-esでは、python py3kがデフォルトであるため、python == python3です。(たとえば、ArchLinux pythonパッケージ、ここではpythonパッケージファイル)。 それを処理するための配布用のpythonスクリプトをパッケージ化(構成、作成)および/または準備する方法は? ユーザーが(環境を変更せずに)簡単に実行できるソフトウェアパッケージの作成について質問します python py3kスクリプトと同じトリックをpython py2kスクリプトと同じようにして、次のように設定でき#!/usr/bin/env python2ますか?各python py2kディストリビューションにpython2ファイルが含まれていることを確認できます#!/usr/bin/env python2か? はいの場合、なぜそれが標準として提案されていないのですか、たとえばpython py2kのドキュメントでは?

1
rsyslogの重複メッセージを抑制しますか?
同一の重複メッセージを抑制するようにrsyslogを構成する方法はありますか? 特定の状況(多くの場合ハードウェア障害)では、メッセージが1/4秒ごとに繰り返されるため、syslogが100 MB以上に増加することがあります。
10 syslog  rsyslog 

1
バイナリファイルを最初から追跡するには(la "tail -f")
バイナリファイルを最初から追跡することは可能tail -fですか? これはscp、ファイルをリモートサーバーに送信しているときに、別のプロセスにフィードしたい場合などに便利です(そう、私はssh+ catトリックを使用できることを知っています)。 私がFMから読む限り、tailテキストファイルを念頭に置いて書かれています。 標準のposixツールを使用してそのような操作を行う簡単な方法はありますか?

4
いつでも電源が切れても安全にSDカードを使用する
私たちは、OSとアプリケーション(250-500Meg)用の小さめの内部NANDデバイスとデータ用の8Gb SDHC SDカードを備えたSDカードを備えた小さな組み込みLinuxシステム(2.6.35-ish)に取り組んでいます。 ユニットの電源はいつでも切ることができます。 システムはSDカードにデータを保存する必要があります。このデータはかなり重要です...それはシステムの全体的な目的です。システムは通常、遠隔地のネットワークから完全に切断されており、データは4〜8週間ごとにスニーカーネット経由で取得されます。 現在、SDカードにVFATが含まれています。これは主に、最初のテストクライアントが簡単に手動でWin7ラップトップにデータをコピーできるようにするためでした。 しかし、私は今、間違った時間に停電が発生してデータが失われるまでは時間の問題だと心配しています。 データの損失を防ぐためにそのようなシステムを構成する最良の方法は何ですか?JFFS2は、データの書き込み方法に関しては私が望んでいるように聞こえます(そして、パフォーマンスのニーズはまったく高くありません)が、block2mtdを使用するのはかなり慎重に聞こえます。それと。 これを行う最良の方法は何ですか? 編集 私は今、ファイルシステムVFATを残して、一度に0xFFで満たされた日サイズのファイルを割り当てることを考えています。これにより、電源サイクルの障害の発生を大幅に制限できます。その後、事前に作成されたブロック内のレコードのみを追加できます。SDカードがそれほど愚かではなく、0xFF領域への書き込み/消去レベルの書き込みができないことを願っています。 noatimeを使用できますが、変更された時間フィールドへの書き込みを防ぐための同等のVFAT nomtimeはありますか?新しい日のファイルが作成されるまで、メタデータの更新をまったく防止する方法が必要です。 編集2 電子スタック交換の誰かが、NANDにもECCデータがあることを思い出させたので、消去の必要性を防ぐ方法はありません。 それで、block2mtdを介したJFFS2はこの状況で適切でしょうか? 編集3 思ったよりひどい。私が持っているSDカードは、ディスクにまったく同じ内容を書き込んでも、データブロックを消去します。消去ブロックは64KBであり、大きすぎて書き込みを完全に遅延させることはできません。NANDフラッシュ(書き込み動作を制御できます)に最大128KBのデータを一種のジャーナルに保存し、SDカードのVFATパーティションにある128KBに整列したファイルに128KBブロックを書き込みます(他のSDカードに128KBの消去ブロックがある場合)。


1
バックグラウンドプロセスが自発的に停止することがあるのはなぜですか?
時々、bgbashでプロセスをバックグラウンド化した後、同じシェルでEnterキーを押してプロンプトを再表示するときがあります(バックグラウンドプロセスからの出力が表示されたときに、まだbashであることを確認するため)。バックグラウンドプロセスが自然に停止するようです。 bgもう一度やると、同じ問題が再発します。 それを修正する唯一の方法はようfgです。 なぜこれが起こるのですか?

1
sudo -u username -s“ cmd arg”はコマンドが見つからないことを返します
私は以前コマンドを実行していました: sudo -u elasticsearch -s "ulimit -Hn" そして、Ubuntu 11.10で試してみるまで、ユーザーelasticsearchに表示されるulimit -Hnの値を返していました。そこに戻ります: /bin/bash: ulimit -Hn: command not found いくつかの異なるコマンドを試しましたが、引数を使用すると、常に「コマンドが見つかりません」と表示されます。 $ sudo -u elasticsearch -s "ls all.sh" /bin/bash: ls all.sh: command not found 引数を必要とするコマンドを実行するにはどうすればよいsudoですか?
10 sudo  quoting 

2
139(セグメンテーション違反)を返すプログラムをbashでトラップするにはどうすればよいですか?
一部のプログラムをテストするbashスクリプトがあり、そのプログラムの1つが返されるSegmentation faultため、スクリプトの先頭にトラップを追加しようとしました。 trap "echo 'segfault occured!'" SIGSEGV しかし、それは何もしませんでした。使った echo $? segfaultを生成するプログラムの直後に、出力として139が表示されます。特定のエラーコードのトラップを追加するにはどうすればよいですか?

5
DebianでのUSBスティックの自動マウント
私はプラグコンピュータでDebian Squeezeを実行しています(SSHのみで、GUIはありません)。USBスティックを差し込むと自動的にマウントされるようにするためです。 私がやっautofsたことは、デバイスがどこにあるかを知っている限り、私が集めたものから自動マウントを処理するインストール/devです。 問題は、USBスティックが常に同じデバイス名にあるとは限らないことです。時々それは/dev/sdc1、時々/dev/sdd1、などです これを修正udevするには、USBスティックに常に同じ名前が付けられていることを確認するために使用する必要があることを収集します。 私は次の情報を手に入れましたudevadm: Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes …

1
「名前の衝突…」エラーが発生するのはなぜですか。どうすれば修正できますか?
たびに、私は打ち上げにしようとvimか、emacsあるいはtop(SSHを介したクラスタコンピュータ上)、UNIXの端末では、私はこのようなエラー「XXX間の名前の衝突」のAA連続ストリームを取得します(私はそれが実際に使用するのはncursesがあること、任意のコマンドだと思います)。 Name collision between dumb dumb Name collision between unknown unknown Name collision between lpr lpr Name collision between glasstty glasstty Name collision between vanilla vanilla Name collision between ansi+local1 ansi+local1 Name collision between ansi+local ansi+local ...... Name collision between terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 …
10 shell  vim  emacs  gnu-screen 

2
他のコンソールプログラムのViモード
私はbashのViモードがとても好きです。他のプログラム(gnuplotなど)で機能させる方法はありますか? 編集: Shawnが以下に提案したように、設定.inputrcと使用rlwrap -a -c gnuplotはgnuplotにViモードを与えます。
10 terminal  vi 

2
ファイルシステムブランチの各ファイルのすべてのタブを2つのスペースに置き換える方法は?
私はScalaをコーディングしていますが、慣例として、識別のためにレベルごとに2つのスペースを使用しています。しかし、さまざまなエディターを使用すると、ソースがスペースとタブの混合でいっぱいになります。 すべてのファイル(実際には* .scalaファイルですが、これを指定する必要はありません)を自動的にリファクタリングしたい(特定のディレクトリおよびすべての基になるFSブランチで(再帰的に))、すべてのタブを二重スペースに置き換えます。古典的なUnix / GNUツールでこれを行うには簡単で美しい方法があると思いますが、この分野での経験はありません。手伝ってくれませんか?

3
Bashスクリプトからの新しいエントリのRSSフィードを監視する方法は?
ハドソンCIサーバーからのRSSフィードを見る必要があります。新しいエントリが利用可能になるたびに、を呼び出してサウンドを再生し#>play sound.wavます。 RSSフィードを監視し、新しいエントリが表示されるたびにコマンドを実行できるツールを知っている人はいますか? 私は見ましたrsstailが、それはフィードからすべてのエントリを取得し、最新のルックアップまたは最後のルックアップ以降に新しいものだけを取得しません。

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