Unix & Linux

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

1
openssl s_clientが一致しないCAfileに対して証明書を検証するのはなぜですか?
次のopenssl s_clientような証明書検証エラーを生成しようとしています: $ openssl s_client -crlf -verify 9 \ -CAfile /etc/ssl/certs/TURKTRUST_Certificate_Services_Provider_Root_1.pem \ -starttls smtp -host mx-ha03.web.de -port 25 web.deサーバーの証明書はTURKTRUSTではなくDeutsche Telekom CAによって認証されているため、上記のコマンドは失敗するはずです。 しかし、それは報告します: Verify return code: 0 (ok) どうして? 私はアナログのgnutls-cliコマンドが期待通りに失敗することを意味します: $ { echo -e 'ehlo example.org\nstarttls' ; sleep 1 } | \ gnutls-cli --starttls --crlf \ --x509cafile /etc/ssl/certs/TURKTRUST_Certificate_Services_Provider_Root_1.pem \ --port 25 …

4
Bashスクリプトは、それがどのように実行されたかをどのようにして知ることができますか?
私は、エコーを介して確認する小さな変更でかなり複雑なコマンドを実行できるようにするために作成しようとしたBashスクリプトを持っています。 コマンドを実行するために端末を強制的に実行する解決策を見つけましたが、私はそのことに興味がありません。私がやりたいことは、Nautilusでスペースを空けてEnterキーを押すだけ(Run Softwareで実行させる)の場合、「端末から実行してください」という通知が表示されます。 私はコマンドを知っているように、ポップアップを発生させることができますが、ターミナル内で実行されているかどうかをBashスクリプトに通知することはできません。常にそうだと思われます。可能ですか?


1
ファイル内のテキストの重複ブロックを特定する
ファイル内のテキストの重複または重複に近いブロックを識別する便利な方法はありますか? これを使用して、コードの重複を識別します。この機能を備えた専門プログラムがあるようですが、私はそれを関与させるつもりはありません。 一種の「ファイル内」差分を行うことができるdiffに似たツールがあることを願っています。さらに良いのは、単一ファイルvimdiff内です。

2
KVMでゲストネットワークを設定して外界と対話する(google.com)
私のマシンのネットワーク設定をよりよく理解しようとしています。 ホストマシンのセットアップ ホストマシンにIPアドレスがのワイヤレスインターフェイス(wlan0)があります192.168.1.9。 このホストのデフォルトゲートウェイは、私のISPを経由して外界に行くルーターです192.168.1.1。 ホストマシンでroute -nコマンドを実行すると、次のような出力が返されます。 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 192.168.1.160 0.0.0.0 255.255.255.224 U 0 0 0 virbr2 …
10 networking 

1
grepを使用して、キーワードセットのいずれかで始まる行をフィルターで除外する方法
私は大きなファイル(化学データベース)を有し、そしてIはで始まらない行として定義されているだけヘッダレコードを表示する必要がある:ATOM、CONNECT、HETATM、TER、またはEND。私はgrepこれを行うために使用することになっています。これがファイルのサンプルです(ファイル全体がここにあります)。 HEADER TRANSFERASE 15-OCT-12 4HKD TITLE CRYSTAL STRUCTURE OF HUMAN MST2 SARAH DOMAIN COMPND MOL_ID: 1; COMPND 2 MOLECULE: SERINE/THREONINE-PROTEIN KINASE 3; COMPND 3 CHAIN: A, B, C, D; COMPND 4 FRAGMENT: SARAH DOMAIN, UNP RESIDUES 436-484; COMPND 5 SYNONYM: MAMMALIAN STE20-LIKE PROTEIN KINASE 2, MST-2, STE20-LIKE COMPND 6 KINASE …
10 grep 

2
mkfifo-ディスクI / Oは実際に発生しますか?
2つのアプリケーションがあります。 プロデューサー(Nインスタンス) 消費者(1インスタンス) 現在、プロデューサーから中間結果を書き出し、コンシューマーがこれらのファイルをディスクから読み取って、最終結果を生成しています。 プロデューサからの出力を直接コンシューマに「ストリーミング」することで、このI / Oを最小限に抑えたいと思います。 名前付きパイプ(mkfifo)とそれに続く例をここで見つけました。これは素晴らしいように見えますが、私が判断できないことは、これが実際にどのように実装されているかです。FIFOキューはファイルを介してバッファリングされているだけですか?もしそうなら、それはおそらく私を助けません。ディスクを利用せず、コンテンツ全体を「メモリ経由」でストリーミングしたい。多分これはプロセス間で可能ではありませんか?
10 io  fifo 

2
スクリーンセッション内で実行されているコマンドを確認する
後で確認できるように、タスクを画面内で実行したままにすることがよくありますが、画面内で実行されているコマンドを確認する必要がある場合があります。これは通常、次のようなPHPスクリプトです。 screen -d -m nice -n -10 php -f convertThread.php start=10000 どの画面でどのコマンドが実行されているかは記録しませんが、プロセスを強制終了せずに、画面内で実行されたコマンドを確認することで、進行状況を確認できます。 画面のヘルプページにこのオプションが表示されません。
10 gnu-screen 

1
useradd / adduserを使用せずにシステムにユーザーを追加するための手順
私はいくつかのLinuxの質問を閲覧していて、この興味深い質問を見ました。 何が使用しなくてもシステムにユーザーを追加するには、手順useradd/をadduser? 私の頭に浮かぶ1つの可能な方法は、 /etc/passwdファイルにユーザーのエントリを追加します。 /etc/groupファイルにグループのエントリを追加します。 追加したユーザーのホームディレクトリを作成します。 passwdコマンドを使用して、新しいユーザーパスワードを設定します。 上記のアプローチをテストしましたが、うまくいきました。 これが唯一の可能な方法ですか、これを達成するための他の回避策はありますか?
10 users  useradd 

1
グローバルJavaオプションはどこで設定できますか?
jabrefやなどのJavaプログラムに、恐ろしく不適切にレンダリングされたフォントがありrubymineます。これは実行することで修正できます _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' jabref これらのJavaオプションを環境変数としてエクスポートし、コマンドラインからプログラムを起動できることを理解しています。しかし、これらのオプションをグローバルに設定して、どのように起動しても、すべてのJavaプログラムがそれらを認識する方法はありますか? *.desktopJavaプログラムのすべてのファイルを変更できることも知っていますが、グローバルなソリューションを探しています。 java-7-openjdkArch Linuxで使用しています。(FWIWこれは、壊れたjre7-openjdk-headless-infinalityがインストールされている場合は問題ありませんでした。)

3
読みながらバックスペースを処理する方法は?
入力されたバックスペースをどのように処理します^?か?試行されたかどうかread、および12^?3すでに5文字が完了したように文字を数える方法が表示されます(ただし、すべて実際の入力ではありませんでした)が12^?3^?、プロンプトが返された後、奇妙です。助けてください! -bash-3.2$ read -n 5 12^?3^?-bash-3.2$
10 bash  shell  line-editor  read 

1
Linux上のPCBはどこですか
PCBまたはプロセス制御ブロックは、ウィキペディアでこのように定義されています プロセス制御ブロック(PCB、タスク制御ブロック、[1]タスク構造、またはスイッチフレームとも呼ばれます)は、特定のプロセスを管理するために必要な情報を含むオペレーティングシステムカーネルのデータ構造です。PCBは、「オペレーティングシステムでのプロセスの現れです。 そしてその義務は: Process identification data Processor state data Process control data では、プロセスのPCBはどこにありますか?
10 linux  process  cpu 

1
なぜrmdirと2つの別々のシステムコールのリンクを解除するのですか?
ここに私がしばらく疑問に思った何かがあります: [15:40:50][/tmp]$ mkdir a [15:40:52][/tmp]$ strace rmdir a execve("/usr/bin/rmdir", ["rmdir", "a"], [/* 78 vars */]) = 0 brk(0) = 0x11bb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff3772c3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=245801, ...}) = 0 mmap(NULL, 245801, …

3
bashでの$&の使用法は何ですか?
私はbashの特別なパラメータを調べていました。何が$&どのように違うのか知りたいです$_。 コマンドを実行すると次の出力が表示されますが、意味も見つかりませんでした。 k@Linux:~$ echo $& [1] 12397 $ k@Linux:~$ echo $n [1]+ Done echo $ k@Linux:~$
10 bash  shell 

2
書き込み権限のみのフォルダは役に立たない…
何年もの間Linuxで働いており、自由な時間を自分自身で見つけたので、いくつかの基本を再訪することにしました。だから私は権限に関するもの(ソースコードをチェックせずに)とそのフォルダーの特別なケースを読み直し、(特定のユーザー/の)フォルダーの権限について新しい(少なくとも私には...)考え方を思いついたgroup / others):次のように、フォルダーを2列のテーブルとして想像します。 filename | inode foo | 111 bar | 222 読み取り権限あなたが読むことができる手段(およびリスト)表の左欄、書き込みテーブルにエントリを追加したり削除する権限の対応、および実行 iノードにファイル名から変換することができることに許可相当し; つまり、フォルダのコンテンツにアクセスできます。 私はいくつかの実験を行いましたが、結果はすべて私の「世界観」と一致していますが、1つの結論は避けられないようd-w-------です。権限を持つフォルダはまったく役に立たないということです。詳しく説明する:その内容を一覧表示できない、内部に存在することがわかっているファイルを読み取ることができない(名前をiノードに変換できないため)、ファイルを削除または名前変更または追加することはできません。 、およびハードリンクを追加することもできません(おそらく、これは名前とiノード番号を追加することを意味します。つまり、両方を知っていることになります。つまり、両方を知っているため、実行権限の設定を解除する目的に違反しています)。 。そこにあればもちろん、ある一つのこのようなフォルダ内のファイルは、あなたがその内容を削除することはできませんので、あなたは、どちらか、そのフォルダを削除することはできません。 だから...私は2つの質問をしたいと思います: 私のこの類推は正しいですか、それとも大きな失敗ですか? 前の回答とは無関係には、そこにある任意の説明に従って権限でフォルダを持つことが適切である状況は?

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