タグ付けされた質問 「linux」

これらの質問はLinux全般に関するもので、特定のディストリビューションに固有のものではありません。質問がたまたまLinux環境にある場合は、質問の本文にLinuxディストリビューションを指定してください。/linuxタグは使用しないでください。

4
利用可能なDBusサービスのリスト
利用可能なDBusサービスのリストなどはありますか? 私はいくつかに出会いました(NetworkManager、Rhythmbox、Skype、HALが提供するものなど)。 提供されるサービス/インターフェースのかなり完全なリストを見つけることができるかどうか疑問に思います。
65 linux  d-bus  ipc 

7
スレッドはLinuxのプロセスとして実装されていますか?
私は通過つもりだこの本マーク・ミッチェル、ジェフリー・オールダム、そしてアレックス・サミュエルことにより、高度なLinuxのプログラミング。2001年からですので、少し古いです。しかし、とにかくかなり良いと思います。 しかし、シェル出力でLinuxが生成するものとは異なる点に到達しました。92ページ(ビューアでは116ページ)の4.5 GNU / Linuxスレッド実装の章は、次の文を含む段落から始まります。 GNU / LinuxでのPOSIXスレッドの実装は、他の多くのUNIX系システムでのスレッド実装とは重要な点で異なります。GNU/ Linuxでは、スレッドはプロセスとして実装されます。 これは重要なポイントのようで、後でCコードで説明します。本の出力は次のとおりです。 main thread pid is 14608 child thread pid is 14610 そして、私のUbuntu 16.04では: main thread pid is 3615 child thread pid is 3615 ps 出力はこれをサポートします。 2001年から現在までに何かが変わったに違いないと思います。 次のページの次のサブセクション4.5.1シグナル処理は、前のステートメントに基づいています。 シグナルとスレッド間の相互作用の動作は、UNIXに似たシステムごとに異なります。GNU / Linuxでは、スレッドはプロセスとして実装されるという事実によって動作が決定されます。 そして、これはこの本の後半でさらに重要になるようです。誰かがここで何が起こっているのか説明できますか? 私はこれを見ましたLinuxカーネルスレッドは本当にカーネルプロセスですか?、しかしそれはあまり役に立ちません。よくわかりません。 これはCコードです: #include <pthread.h> #include <stdio.h> #include <unistd.h> void* thread_function …

4
Cコンパイラをゼロからコンパイルし、Unix / Linuxをゼロからコンパイルする方法
アメリカ/イギリス以外の大規模なサービス組織で働いているとしましょう。UNIXサーバーとLinuxサーバーを幅広く使用しています。 この記事を読むと、Cコンパイラにバックドアを簡単に挿入でき、そのコンパイラでコンパイルされたコードにもバックドアが含まれることに言及しています。すべての暗号化方法、ハードウェア、およびソフトウェアにバックドア/弱点を置くというNSA / GCHQの命令に関する最近のリークを考えると、コンパイラは障害の重大なポイントになりました。すべての標準UNIX / Linixディストリビューションが危険にさらされる可能性があります。システム、データ、および顧客データを不正な政府によって侵害することはできません。 この情報を基に、信頼できるコンパイラをゼロから構築したいと考えています。その後、そのコンパイラを使用してソースコードからオペレーティングシステムとアプリケーションを構築できるように、安全な基盤を構築します。 質問 ソースコードからコンパイラをコンパイルし(一見鶏卵のシナリオ)、信頼できるUnix / Linuxディストリビューションをゼロからコンパイルするための正しい(そして安全な方法)は何ですか? 私や他の人がセキュリティ欠陥のソースコードを読んで理解する能力を持っていると仮定できるので、ソースコードはコンパイルする前に最初に吟味されます。私が本当に望んでいるのは、このコンパイラをゼロから安全に作成し、カーネル、OSのその他の部分、およびアプリケーションをコンパイルするために使用できる作業ガイドです。 セキュリティスタックは、そのスタックで実行されているオペレーティングシステムまたはアプリケーションに自信がある場合、ベースレベルで開始する必要があります。はい、ハードウェアのバックドアがあり、ビルド中にコンパイラにマイクロコードを挿入する可能性があることを理解しています。現時点では、米国で設計されていないチップを使用することを除いて、私たちができることはあまりありません。このレイヤーを最初にソートして、バックドアが挿入される前に古いコンピューターで構築できると仮定します。 ブルース・シュナイアーが言うように:「エンジニアに対して、私はこう言います。私たちはインターネットを構築し、私たちの何人かはそれを破壊するのを助けました。今、自由を愛する私たちはそれを直さなければなりません。」 追加リンク: http://nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=all&_r=0 http://theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying

14
mount.nfs:Ubuntuマシンにマウント中にサーバーによって拒否されたアクセス?
私は生産中に3台のマシンを持っています- machineA 10.66.136.129 machineB 10.66.138.181 machineC 10.66.138.183 そして、それらのすべてのマシンにはUbuntu 12.04がインストールされており、これら3つのマシンすべてにルートアクセスできます。 今、私は上記のマシンで以下のことをすることになっています- Create mount point /opt/exhibitor/conf Mount the directory in all servers. sudo mount <NFS-SERVER>:/opt/exhibitor/conf /opt/exhibitor/conf/ /opt/exhibitor/conf上記のように、これら3つのマシンすべてにディレクトリをすでに作成しました。 現在、マウントポイントを作成しようとしています。だから私は以下のプロセスに従った- 上記の3つのマシンすべてにNFSサポートファイルとNFSカーネルサーバーをインストールします。 $ sudo apt-get install nfs-common nfs-kernel-server 上記の3つのマシンすべてに共有ディレクトリを作成します $ mkdir /opt/exhibitor/conf/ /etc/exports上記の3つのマシンすべてで、このようなエントリを編集して追加しました- # /etc/exports: the access control list for filesystems which may be exported …
64 linux  ubuntu  mount  nfs 


1
最近の企業コンピューターでの起動中のクラッシュ
最近の更新の後、コンピューターが起動しなくなりました!ここに私が決定できるものがあります: これは、企業ITから提供されたごく最近のコンピューターです。最新のIntel CPU(Skylake世代)が搭載されています。 コンピューターはUbuntu 16.04を実行します。 コンピューターは3月に最後に正しく起動しました。この問題は、おそらくソフトウェアの更新またはハードウェアのバグが原因です。 16.04を実行している別のコンピューターで、ほとんど同じソフトウェアがインストールされています(使用しましたapt-clone)が、正常に動作します。異なるハードウェア(amd64ですが、異なるCPU、異なるGPUなど)があります。 カーネルは起動し、initrdは正しく動作します。グラフィックモードでスプラッシュスクリーンで起動すると、dm-cryptボリュームのパスワードの入力を求められますが、最後に表示されるのは、正常にマウントされたことです。 ログインプロンプトが表示される前にハングします。コンピューターがハングすると、ハードハングになります。Alt+ でもSysRq応答しません。ファンが完全にオンになるので、CPUは明らかに100%に固定されています。 再起動する前に実行していたカーネルがまだあります。Grubメニューでこのカーネルを選択すると、同じロックアップが得られます。したがって、これは既存のカーネルバグであり、他の何かによってトリガーされるように見えますが、それは何ですか? スプラッシュスクリーンをオフにすると(Grub splashのlinuxコマンドラインから削除)、多数のサービスが開始され、ロックされます。 Grubのコマンドラインに追加init=/bin/shすることで、ルートシェルを取得できますlinux。さらに追加することでさらに取得できます systemd.unit=basic.target systemd.shell これにより、多数のサービスが開始され、tty9でルートシェルが実行されます。 systemctl start multi-user.targetそのルートシェルから実行すると、コンピューターがロックします。したがって、これらのサービスのいずれかによって問題が引き起こされていると考えられます。 systemctl list-dependencies multi-user.targetどのサービスが開始されるかを確認するために走りました。リストされた依存関係を1つずつ手動で開始し、すべてが正常に開始されました。 そのため、これはハードウェアのバグのように見えます(1台のコンピューターでは発生しますが、他のコンピューターでは発生しないため)。一部のソフトウェアによってトリガーされます。しかし、どのソフトウェアですか?コンピューターが非常に激しくロックするため、ログを取得できません。有用なコンソール出力も取得できません。 便利なデバッグ手法: Alt+ SysRq:マジックSysRqキー。緊急リブートなどを実行できます。非常に低いレベルでカーネルにアクセスするため、最悪のクラッシュ以外のすべてで機能します。私の場合、Alt+ SysRqは応答しません。これは、クラッシュの深さを示しています。 ブートパラメータを変更するにはShift、電源を入れた後、数秒間押し続けます。BIOSがキーボードを初期化した後、オペレーティングシステムが起動する前に押す必要があります。これにより、Grubメニューが表示されます。 Grubメニューで、を押しeてメニューエントリのコマンドラインを編集します。Linuxブートパラメーターを変更するには、で始まる行に移動しますlinux。最新のUbuntuでは、「Ubuntuの詳細オプション」の下に古いカーネルがあります。コマンドラインに必要な変更を加えたら、Ctrl+ xを押して起動します。ここで行った変更は、このブート専用であり、ディスクには保存されません。 linuxコマンドラインのいくつかの便利なオプション: quiet nosplashほとんどすべてのブートメッセージを非表示にします。それらを削除して、ブート中にコンソールにメッセージを取得します。これは、問題を診断する機会を得るために必要です。 recoveryサービスがほとんどないルートシェルを提供します。ルートパスワードを知る必要があります。「リカバリモード」メニューエントリはこれを使用します。 init=/bin/shサービスのないルートシェルを提供します。通常の起動を再開するには、を実行しexec initます。この時点で、systemdオプションを渡すことができます。たとえばexec init --unit=basic.target、initおよびいくつかのサービスを開始します(これはログインする方法を開始しないため、別のコンソールでシェルを実行することをお勧めします)。ルートファイルシステムは読み取り専用でマウントされていることに注意してください。mount -o remount,rw /それに書き込むことができるように実行します。 systemd.unit=basic.target非常に基本的なサービスセットを開始します。これにはログインする方法が含まれていないことに注意してください!これをデフォルトにするにsystemctl set-default basic.targetは、ルートプロンプトで実行します。元のデフォルトのターゲットを復元するには、実行しますsystemctl set-default graphical.target(またはsystemctl set-default multi-user.targetGUIのない​​サーバーの場合)。 systemd.debug-shelltty9でルートシェルを開始します。systemctl …

11
透明なhugepagesを無効にします
RAIDマシンにSAP HANAをインストールしています。インストール手順の一環として、 To disable the usage of transparent hugepages set the kernel settings at runtime with echo never > /sys/kernel/mm/transparent_hugepage/enabled したがって、ランタイムの代わりに、これを永続的な変更にしたい場合、/proc/vmstatファイル内に上記の行を追加する必要がありますか?
63 linux  kernel  sysctl 

9
Linuxのメモリ使用量を正しく決定する
psとfreeから見た結果のいくつかで少し混乱しています。 私のサーバーでは、これは次の結果です free -m [root@server ~]# free -m total used free shared buffers cached Mem: 2048 2033 14 0 73 1398 -/+ buffers/cache: 561 1486 Swap: 2047 11 2036 Linuxがメモリを管理する方法についての私の理解は、ディスクの使用量をRAMに保存することであり、その結果、以降の各アクセスがより高速になります。これは「キャッシュされた」列で示されると思います。さらに、さまざまなバッファがRAMに格納され、「バッファ」列に示されます。 したがって、正しく理解すれば、「実際の」使用量は「-/ + buffers / cache」の「使用済み」値、またはこの場合は561であると想定されます。 したがって、すべてが正しいと仮定すると、私を投げるのはの結果ですps aux。 ps結果についての私の理解では、6番目の列(RSS)は、プロセスがメモリに使用するサイズをキロバイト単位で表しています。 したがって、このコマンドを実行すると: [root@server ~]# ps aux | awk '{sum+=$6} END {print sum / …
63 linux  memory 

3
ifconfigコマンドの実行時にゲートウェイIPアドレスを表示する
現在、このifconfigコマンドを使用すると、次のIPアドレスが表示されます:自分のIP、ブロードキャスト、およびマスク。 関連するゲートウェイIPアドレスも表示する方法はありますか(「route」コマンドを使用するのではなく、他のすべての画面と同じ画面に)?
63 linux  ip 


5
別の列の値に基づいてawkを使用して列の値を合計する
を使用して列の特定の数値を合計しようとしていますawk。「スミス」の列3のみを合計して合計212を取得しawkます。「スミス」だけでなく、「スミス」を使用して列全体を合計できます。私は持っています: awk 'BEGIN {FS = "|"} ; {sum+=$3} END {print sum}' filename.txt また、私はパテを使用しています。助けてくれてありがとう。 smiths|Login|2 olivert|Login|10 denniss|Payroll|100 smiths|Time|200 smiths|Logout|10
63 linux  awk 

1
Linux LXC対FreeBSD刑務所
LXC(Linuxコンテナ)とFreeBSDの刑務所の間に、セキュリティ、安定性、パフォーマンスの面で顕著な違いはありますか? 一見すると、両方のアプローチは非常によく似ています。


2
常駐セットサイズ/仮想サイズの説明が必要
pidstatプロセスを監視するための優れたツールになると思いました。特定のプロセスの平均メモリ使用量を計算したい。出力例を次に示します。 02:34:36 PM PID minflt/s majflt/s VSZ RSS %MEM Command 02:34:37 PM 7276 2.00 0.00 349212 210176 7.14 scalpel (これはからの出力の一部ですpidstat -r -p 7276。) 常駐セットサイズ(RSS)または仮想サイズ(VSZ)情報を使用して平均メモリ消費量を計算する必要がありますか?私はウィキペディアとフォーラムでいくつかのことを読みましたが、違いを完全に理解できるかどうかはわかりません。さらに、それらのどれも信頼できるものではないようです。それでは、どのようにプロセスを監視してメモリ使用量を取得できますか? この問題に関するヘルプは役に立ちます。
61 linux  process  memory 

5
cp -rとcp -R(copyコマンド)の違い
cp -rファイルを再帰的にcp -Rコピーし、ディレクトリを再帰的にコピーするためのものです。しかし、私はチェックしましたが、どちらも同じことをファイルとディレクトリの両方をコピーするようです。それで、実際の違いは何ですか?
60 linux  cp 

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