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

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

1
「キャッシュされた」メモリは事実上無料ですか?
を実行cat /proc/meminfoすると、上部に次の3つの値が表示されます。 MemTotal: 6291456 kB MemFree: 4038976 kB Cached: 1477948 kB 私の知る限り、「キャッシュ」の値はLinuxシステムによって作成されたディスクキャッシュであり、アプリケーションがより多くのRAMを必要とするとすぐに解放されるため、MemFreeとCachedの両方がゼロになるまでLinuxがメモリ不足になることはありません。 残念ながら、 "MemAvailable"は/ proc / meminfoによって報告されません。これは、おそらく仮想サーバーで実行されているためです。(カーネルバージョンは4.4) したがって、すべての実用的な目的のために、アプリケーションで使用可能なRAMはMemFree + Cachedです。 その見方は正しいですか?
11 linux  memory  cache  meminfo 

2
子プロセスが作成直後にexec()またはexit()を呼び出すときにvfork()が使用されるのはなぜですか?
オペレーティングシステムの概念とAPUEは言う vfork()を使用すると、親プロセスは一時停止され、子プロセスは親のアドレス空間を使用します。vfork()はコピーオンライトを使用しないため、子プロセスが親のアドレススペースのページを変更した場合、再開すると、変更されたページが親に表示されます。したがって、vfork()は、子プロセスが親のアドレス空間を変更しないように注意して使用する必要があります。 vfork()は、子プロセスが作成直後にexec()またはexit()を呼び出すときに使用することを目的としています。 最後の文をどのように理解できますか? vfork()呼び出しによって作成された子プロセスの場合、新しいプログラムをロードすることにより、親プロセスのアドレス空間を変更exec()しませんexec()か? vfork()呼び出しによって作成された子プロセスが、子を終了するときに親プロセスのアドレス空間を変更exit()しませ exit()んか? 私はLinuxを優先します。 ありがとう。
11 linux  process  exec  exit  vfork 

2
fs:[0x28](スタックカナリア)を設定するものは何ですか?
この投稿からFS:[0x28]、スタックカナリアであることが示されています。この関数でGCCを使用して同じコードを生成しています。 void foo () { char a[500] = {}; printf("%s", a); } 具体的には、このアセンブリを取得しています。 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be 488945f8 mov qword [local_8h], rax ...stuff... 0x00000700 488b45f8 mov rax, qword [local_8h] 0x00000704 644833042528. xor rax, qword fs:[0x28] 0x0000070d 7405 je 0x714 0x0000070f e85cfeffff …
11 linux  security  gcc  stack 


1
mdstatでのビットマップの意味は何ですか
少し前に、RAID6に4つのドライブを備えた新しいソフトウェアRAIDアレイ(mdadm)を作成しました。正常に動作するようです。mdstat続く: Personalities : [raid6] [raid5] [raid4] md0 : active raid6 sda1[0] sde1[3] sdd1[2] sdb1[1] 1953260544 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU] bitmap: 0/8 pages [0KB], 65536KB chunk unused devices: <none> 私を悩ませているのは、bitmap: 0/8 pages理解できない部分です。 問題は、これは潜在的な問題かどうかです。そして、ビットマップが実際に何であるかについて少し詳しく説明してください。 この配列の詳細は次のとおりです。 /dev/md0: Version : 1.2 Creation Time : Tue Nov 1 …

1
読み取り専用/ etcを書き込み可能にする
Linuxを実行している組み込みデバイスを扱っています。このデバイスの製造元は、ルートファイルシステムを読み取り専用としてロードするように設定しています。 / etc / mtabから: rootfs / rootfs rw 0 0 /dev/root / squashfs ro,relatime 0 0 これは、新しいユーザーを追加するなど、/ etc内のファイルを変更できないことを意味します。 私はルートディレクトリを再マウントしようとしました: mount -o remount,rw -t squashfs /dev/root / エラーが出ます mount: cannot remount block device /dev/root read-write, is write-protected 私はこのエラーを調べ、人々はblockdevを使うように言っていました。システムにはblockdevがインストールされていないため、クロスコンパイルしてコピーしました。それから私は走った blockdev --setrw rootfs しかし、再びエラーが発生しました: blockdev: cannot open rootfs: No such file or …

1
Centosがyumをdnfに置き換えるのはいつですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 閉じた3年前。 DnfはすでにRhel / centosのテストベッドであるfedoraにありますが、centos 7がまだyumを使用しているのはなぜですか?
11 linux  centos  dnf 

2
2つのLinuxホスト間で10GbpsのIP over USB 3.1 Type-Cは可能ですか?
これができるかどうかを自分で決めることはできませんでした。Type-Cコネクタを備えたUSB 3.1を備えた2つのLinuxシステムを接続して、標準で許可されているフル10Gbpsでポイントツーポイントネットワーク(IPまたはイーサネット+ IP)をセットアップできるかどうか疑問に思っています。ホストアダプタはこれをサポートしていますか?新しいLinuxカーネル/ツールはこれをサポートしていますか?通常のケーブルは使用できますか? ギガビットは十分に高速ではなく、USB 3.1カードは安価で、新しいマザーボード(私のような)に組み込まれています。10 Gbpsイーサネットは私の2番目の選択肢だと思いますが、新しいハードウェアをすべて購入する必要があるため、中古品を購入する必要があります。
11 linux  networking  usb  ip  ethernet 

3
一部のLinuxシステムで、ルートファイルシステムがmtabで/ dev / <実際のデバイスノード>ではなく/ dev / rootとして表示されるのはなぜですか?
さまざまなLinuxシステムで、実際のデバイスノード(例:)ではなく/dev/sda1、ルートデバイスがとして表示される/dev/rootか、実際のファイルシステムでmtabはなく、それが呼び出されたファイルシステムrootfs(で実際のファイルシステムとして表示される)であると述べていますが/proc/filesystems、にはコードがありません&lt;linux-kernel-source-tree&gt;/fs)。特定の属性を使用して実際のルートデバイスノード(rdevやChromium OS rootdevなど)を決定するために、さまざまなユーティリティが作成されています。非常に小さな組み込みデバイスが/devルートデバイス用のデバイスノードを常に持つ必要がないことをどこかで読む以外に、これに対する論理的な説明はありません。(これは本当ですか、もしそうなら、それが私の質問への答えですか?)なぜmtabが時々言う/dev/root(そして私はそれが言うのを見たかもしれないと思う)rootdev1回)実デバイスノードの代わりに、常に実デバイスノードを常に表示させるにはどうすればよいですか?カーネルは、最初にコマンドrootラインのパラメータに従ってルートデバイスをマウントし、次にinit/systemdに従って再マウントしfstabます、正しいですか?もしそうなら、私はinit維持すると思いますmtab。私の理論が正しい場合、どのinitようにして実際のルートデバイスノードに書き込むことができますmtabか?これ/etc/mtabは実際にはへのシンボリックリンク/proc/mountsであることに気づきました。これはmtab、カーネルによって維持されることを意味します。では、ルートデバイスのノードパスが/dev/rootであるのではなくmtab、実際のデバイスノードが含まれているとカーネルを構成/パッチするにはどうすればよいですか?

2
findmntはどのようにバインドマウントを一覧表示できますか?
Linuxはバインドマウントに関する情報を保持していないため、それらとそのソースのリストを取得する方法はないと多くの人が言い続けています。ここではいくつかの例を示します。 ここのコメントの1つから: IIRCこの情報はどこにも保持されませんmount --bind。2つのコピーは同等であり、もう一方よりも「オリジナル」なものはありません。結局のところ、すでにマウントを解除して/mntいると、オリジナルは存在しません。 このサイトの回答から: したがって、どのマウントがバインドマウントであったかを記憶する唯一の方法は、に残って/etc/mtabいるマウントコマンドのログです。バインドマウント操作は、バインドマウントオプションで示されます(ファイルシステムタイプが無視されます)。しかし、mountには、特定のオプションセットでマウントされたファイルシステムのみをリストするオプションはありません。 Debianのバグレポート: これは意図的なものです。両方のマウントポイントはすべての点で完全に等しいため、カーネルはそれらを区別するためのフラグを保持しません。 上記はナンセンスです。このツールfindmntは、バインドマウントのソースパスを一覧表示できます(の形式で、デバイスではなくソースパスのみdevice[source-path]を一覧表示することも試みています)。Linuxカーネルがバインドマウントを維持する場合は、その情報をどこかに保存する必要があります。それ以外の場合は、バインドされていることがわかりません。では、このデータはどこにあるのでしょうか?RAMのあいまいな領域に格納されていますか?DOESはに見てどこか?/home/usersfindmnt/proc

1
元のマウントに影響を与えずにrbindマウントをアンマウントします
尋ねserverfaultのが、十分な注意を取得していないので、ここでいくつかの人が答えを知って希望を持って、ここに転載。 rbindマウントのアンマウントについて議論する別の質問がありますが、解決策には望ましくない影響があります。次のディレクトリレイアウトを検討してください。 . ├── A_dir │ └── mount_b ├── B_dir │ └── mount_c └── C_dir 今私はにバインドC_dirしB_dir/mount_cてrbind B_dirにA_dir/mount_b: [hidden]$ sudo mount --bind C_dir B_dir/mount_c [hidden]$ sudo mount --rbind B_dir A_dir/mount_b [hidden]$ mount | grep _dir | wc -l 3 今umount A_dir/mount_bは失敗しますが、これは驚くことではありません。ウェブ上のいたるところにある回答によると、umount A_dir/mount_b/mount_c最初に次にする必要がありumount A_dir/mount_bます。ただし、umount A_dir/mount_b/mount_cもアンマウントされますがB_dir/mount_c、これは望ましくありません。 [hidden]$ sudo umount A_dir/mount_b/mount_c [hidden]$ mount | …


3
Linuxでの既存のルートエントリの変更
Linuxの既存のルートエントリのメトリックを変更するコマンドは何ですか?次のように「ip route change」コマンドを使用して既存のエントリのゲートウェイを変更できますが、メトリックを変更できません。そのための他のコマンドはありますか? route –n 40.2.2.0 30.1.3.2 255.255.255.0 eth2 ip route change 40.2.2.0/24 via 30.1.2.2 route -n 40.2.2.0 30.1.2.2 255.255.255.0 eth1
11 linux  routing 

2
`ln -d`が成功するファイルシステムはありますか?
lnのマンページから: -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) これを実際に許可するファイルシステムドライバーはありますmount --bind &lt;src&gt; &lt;dest&gt;か、それとも唯一のオプションですか?または、この種の動作は、ファイルシステム固有のドライバーに到達する前にカーネルによってブロックされていますか? 注:私は実際にはどのマシンでもこれを実行するつもりはありません。


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