Unix & Linux

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

4
シェルプログラミング、一時ファイルの回避
私はよく同じパターンに従ってKSHシェルスクリプトを作成します。 (1)1つ以上のコマンドから出力を取得する (2)grep | cut | awk | sedを使用してフォーマットし、画面またはファイルに出力します そのために、(1)の出力を一時ファイルに保存し、そのファイルに対して(2)でフォーマットを行うことがよくあります。 そのコードを例にとります: TMPFILE=file.tmp # If tmpfile exists rm it. [ -f $TMPFILE ] && rm -f $TMPFILE for SERVICE in $(myfunc); do getInfo $SERVICE > $TMPFILE # Store raw output in the TMPFILE # I retrieve the relevant data from the …
8 shell  scripting  ksh 

2
Linuxの「sys / ioctl.h」ヘッダー
私はついています Linux 2.6.32-26-generic 「ioctl.h」ヒアラーファイルのLinuxソースコードを見ると、多くの亜種が見つかりました。(異なるプラットフォームでは、私は推測します)。すなわち ./fs/ocfs2/ioctl.h ./fs/btrfs/ioctl.h ./fs/ceph/ioctl.h ./include/config/i2o/config/old/ioctl.h ./include/asm-generic/ioctl.h ./include/linux/hdlc/ioctl.h ./include/linux/ioctl.h ./drivers/video/via/ioctl.h ./drivers/staging/vt6655/ioctl.h ./drivers/staging/vt6656/ioctl.h ./arch/ia64/include/asm/ioctl.h ./arch/h8300/include/asm/ioctl.h ./arch/microblaze/include/asm/ioctl.h ./arch/score/include/asm/ioctl.h ./arch/avr32/include/asm/ioctl.h ./arch/alpha/include/asm/ioctl.h ./arch/x86/include/asm/ioctl.h ./arch/m32r/include/asm/ioctl.h ./arch/mn10300/include/asm/ioctl.h ./arch/sparc/include/asm/ioctl.h ./arch/powerpc/include/asm/ioctl.h ./arch/m68k/include/asm/ioctl.h ./arch/sh/include/asm/ioctl.h ./arch/xtensa/include/asm/ioctl.h ./arch/mips/include/asm/ioctl.h ./arch/s390/include/asm/ioctl.h ./arch/arm/include/asm/ioctl.h ./arch/blackfin/include/asm/ioctl.h ./arch/frv/include/asm/ioctl.h ./arch/parisc/include/asm/ioctl.h ./arch/cris/include/asm/ioctl.h しかし、私はそのファイルが含まれているのを見る #include <sys/ioctl.h> このマッピングはどのように機能しますか?
8 linux  c  header-file 

1
インストールされている複数のバージョンのGit-CentOS
1年か2年前にgit 1.6を手動でインストールしました。今日、1.7バージョンがyumで利用可能であることに気付き、それをインストールしました(パッケージgit-all)次の出力を取得します。 [root@ovz5197 ~]# git --version bash: /usr/local/bin/git: No such file or directory [root@ovz5197 ~]# which git /usr/bin/git [root@ovz5197 ~]# /usr/bin/git --version git version 1.7.4.1 [root@ovz5197 ~]# の出力がwhich上記の最初の行と矛盾しているように見える理由は何ですか?
8 centos  git  version 

2
DEC ANSIコマンドシーケンスの質問。カーソルの動き
だから私はターミナルエミュレーションを書いて(わかっている、パテなどをコンパイルするだけでいい)、それが正しいことを確認するためにvttestを駆使する段階にいます。今はVT102をベースにしていますが、基本が正しく機能している場合は、カラーなどのターミナル機能を追加します。 コマンドセットは主にANSIです。DECは独自のコマンドセットを備えていましたが、1973年頃からANSIコマンドをサポートしていました。これらのANSI標準は明らかに現在利用できませんが、ECMAの同等物は利用できます。見ることができます。ほとんどのANSIコマンドシーケンスは、ESCで始まります。多くのコマンドは、ここではCSIとして示され、データ内で0x1c 0x5b(ESC [)、または8ビット通信が可能な場合は0xdbとして表されるコマンドシーケンス識別子で始まります。次に、コマンドを識別するシーケンスが続きました。コマンドの中には、カーソルの位置に影響を与えるもの、画面に影響を与えるもの、ホストへの応答を引き起こすものなどがあります。 一部の端末コマンドには数値引数が含まれています。例CSI 10 ; 5 Hは、カーソル位置を行10、列5にすることを意味します。数値引数がない場合、使用するデフォルト値があります。CSI 10 ; Hつまり、引数が指定されない場合のデフォルト値は1であるため、カーソル位置を行10、列1にします。 私はvt100.net(素晴らしいリソース)からのvt102マニュアルを持っており、これらのコマンドシーケンスに関する部分的な情報を提供する約12のページがあります。どうやら、完全なゴスペルDEC端末仕様はDECから外れたことはありません。 明らかなのは、CSI Cカーソルを右に移動することと、デフォルト値が1であることです。 はっきりしないのは、の意味ですCSI 0 C。 なぜそこにゼロがあるのですか、それはコマンドが何もしないように思われるでしょうか?「デフォルト値を使用」を意味する場合は、代わりに1として送信された可能性がありますが、短い文字列には引数がなく、いずれにしてもデフォルト値が1として解釈されることに依存します。これらの実際の物理VT端末は300ボー以下で使用されることが多かったため、1文字で問題ありませんでした。 私はvttestをあまり使いこなしていないので、両方の方法を試してみて、すべてが完璧になるかどうかを確認できますが、このような小さな質問が問題になり始めるほど十分です。

1
LinuxカーネルのインストールでのGrubbyの致命的なエラー
Linuxカーネル2.6.24.6をソースから(問題なく)コンパイルし、インストールしようとしました。具体的には、Linuxソースコードを解凍した後、 make && make modules コンパイルします。その後、いくつかの構成の後、私は単に使用しました sudo make modules_install install 新しくビルドされたバイナリをインストールします。このプロセス中に、ファイルの検索に関するエラーが発生しました/sys/class/net/eth0/device/bus。また、汚れた致命的なエラーをスローします。詳細なエラースタックは次のとおりです。 sh /mnt/factor/myProj3/linux-2.6.24.6/arch/x86/boot/install.sh 2.6.24.6 arch/x86/boot/bzImage System.map "/boot" unable to stat /sys/class/net/eth0/device/bus: No such file or directory WARNING: No module xenblk found for kernel 2.6.24.6, continuing anyway grubby fatal error: unable to find a suitable template ソースコードは大丈夫です。この致命的なエラーの原因は何ですか?修正しないとLinuxをインストールできません。お知らせ下さい。

1
外付けドライブへの自動増分バックアップ
バックグラウンド クライアントは、外付けドライブへの自動バックアップソリューションを必要とします(毎週オフサイトで使用するため)。通常、rsnapshot(またはカスタムrsyncスクリプトのロールアウト)をお勧めしますが、この質問は少し複雑です。 Arch Linuxベースのシステムはヘッドレスであるため、ソリューションは完全に自動化されている必要があり、ユーザーの介入は必要ありません。 理想的なシナリオは次のとおりです。 ユーザーがUSBハードドライブを接続する 完全な増分バックアップが作成されます ハードドライブがマウントされていません ハードドライブを取り外すことができることがユーザーに通知されます 提案 私が提案する解決策は、次のもので構成されています。 udevルールは自動的にドライブをマウント バックアップは以下から開始されます: 同じudevルールでrsnapshotスクリプトもトリガーされます inotifyを 作成する新しいマウントポイントとトリガを検出したイベントをrsnapshot 終了後、ドライブで実行されrsnapshotますumount ハードドライブに通知する可能な方法は削除することができます: CDドライブが開きます PCスピーカーから音が再生される エラーが発生した場合は、ユーザーにメールを送信し、ドライブをアンマウントしてください。 ご質問 私の提案は実現可能のようですが、明らかな欠陥はありますか?どうすれば堅牢にすることができますか? セキュリティ上の理由から、接続されているハードドライブがユーザーのものであることをどのように確認できますか?sshキー?ドライブラベル? これを含む既存の(Linux)ソリューションはありますか?


2
createrepoの仕組み yumはファイルを解析する方法をどのように理解しますか。概念的な説明
私はないハウツーレポ(createrepo)を作成またはyumを使用して上を探しています。 彼らがどのように連携しているかを理解したい。 yumが参照するファイルとその理由、それらのファイルの内容を知りたい。 リポジトリとそのファイルの構造を理解したいと思います。すべてがどのように連携するのかを理解したい。 私は多くのハウツーを読んだので、もっと概念的な理解を求めています。 Centos 6 32ビットで作業しています。
8 centos  yum  rpm 

4
Linux用のSolaris ptreeスタイルツール
Solaris ptreeと同じ出力を出力するLinuxツールを探しています。例えば: # ptree 538 538 /usr/lib/ssh/sshd 889 /usr/lib/ssh/sshd 890 /usr/lib/ssh/sshd 1498 -sh 1649 bash 1656 -sh 1660 bash 13716 ptree 538 pstreeが存在することは承知していますが、その出力形式は好きではありません。誰かが似たようなツールを知っていますか?
8 linux  ps 

2
Bashカラー出力が失敗する
セッドまたはエコーの問題ですか?私は何を間違っていますか? $> cat ~/bin/color_test.sh #!/bin/bash ColorOff='\e[0m' # Text Reset BWhite='\e[1;37m' # Bold White string="test TEST test" echo -e "$string" | sed -e "s/TEST/${BWhite}TEST${ColorOff}/g" $> ~/bin/color_test.sh test e[1;37mTESTe[0m test 太字で強調表示されたTESTが期待されたものです。
8 bash  sed  quoting 

2
コマンドラインから画面が暗くなる(黒くなる)のを防ぐ方法
KDEでは、モニターが黒くならないように特別に設定できるシステム設定がありました。 今、私はdwmに切り替えました、そして、(それは関係がないかもしれません)私の画面は約10分後に薄暗くなります。この設定をコマンドラインから直接変更するにはどうすればよいですか?これはXに関係していると思いますか?

3
Pop / IMAPメールを受信し、暗号化してGmailに転送する
基本的に、私はPOP3またはIMAPとしてアクセスできるメールアカウントを持っています。すべての受信メールを受け取り、それらを暗号化してから、暗号化されたバージョンをGmailアカウントに転送します(これにより、私の電話/ Gmailアカウントで件名/通知を確認でき、パスフレーズでメッセージを復号化できます-これは最後ですがステップを最初に実装する必要はありません)。 私はおそらくこれを行うためにpythonスクリプトを書くことができますが、適切なLinuxツールを使用する方がより良いルートのようです。送信メールを送信するように(衛星構成で)Postfixをすでに設定しています。 LinuxボックスでPOP3 / IMAPを読み取って、メールの本文と添付ファイル(件名ヘッダーではない)をgpgで取得して、公開鍵で暗号化し、Gmailアカウントに転送する最も簡単な方法は何ですか? (記録のために、私が私の暗号化されていないバージョンのメールを私の電話に送信することは仕事のポリシー(一部は米国HIPAA法の遵守のため)に反しています;誰かが意図的に(または不注意で)保護されたデータを私の電話にメール送信する可能性があるためです。仕事ではGPGは安全であると見なされています。)

3
すべてのユーザーに対してgdmログインでスクリプトを自動的に実行する方法は?
ユーザーがgdmからログインしたときにいくつかの指示を実行するには、どのファイルを変更する必要がありますか? 私は試しました/etc/bashrcが、bashを起動するときに(そしてxtermが開かれるたびに)それだけで実行されます。ユーザーがログインしたときに一度だけ実行したいのですが。 私がやりたいのは、ユーザーがログオンするたびに(ウィンドウマネージャを含む)一部のユーザー設定を "リセット"することです。そのため、WMが初期化される前にスクリプトを実行する必要があります。
8 centos  login  gdm  hook 

3
スクリプト内の時間の測定
このスレッドは、スクリプトの実行にかかる時間を測定する方法を示しています。私の場合、スクリプト内の2点間の時間を測定することに興味が あります。これが私がこれをどのように使用したいかの例です: start_measuring_time Line 1 Line 2 .. Line N stop_measuring_time show_elapsed_time 可能であれば、表示される時間を人間が読めるようにしたい(秒、分、時間、日など)。これを行う方法はありますか?

2
システム全体で/ usr / local / lib / pkgconfigにも* .pcファイルを探すようにpkg-configに指示する
現在、pkg-configだけに見え/usr/lib/pkgconfigます。PKG_CONFIG_PATH環境変数をエクスポートすることでユーザーに合わせて調整できますが、もう一度rootで実行するのを忘れて、時間を無駄にしました。なぜ私のプラグインが正しくインストールされていないのですか(makefileが使用されていますpkg-config)。では、システム全体に設定するにはどうすればよいので、常に両方/usr/libを調べます/usr/local/libか?

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