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

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

3
プロセスが特定のグループとして実行されている場合、Linuxアクセス許可はどのように機能しますか?
これは私が多くの情報を見つけることができなかったものですので、どんな助けでもいただければ幸いです。 私の理解はこうです。次のファイルを取ります: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 ユーザーphilはこのファイルにアクセスできません: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied philがadmグループに追加された場合、次のことができます。 root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server kernel: …

4
cgroupの管理にはrootアクセスが必要ですか?
2つの異なるオペレーティングシステム(UbuntuとCentOS)のコントロールグループを操作しようとしています。聞きたいことはほとんどありません。 cgcreateコマンドを使用してコントロールグループを作成しようとしていますが、マシンでrootアクセスが必要なようです。これまでに見た例はすべて、コントロールグループを作成または変更するためにrootユーザーになる必要があることについて何も述べていません。 rootユーザーである必要は本当にありますか?最終目標は、libcgroup APIを使用してリソースを制御するための制御グループを作成および管理するC ++アプリケーションを作成することです。ただし、C ++アプリケーションはrootユーザーによって実行されることはありません。通常のユーザーである可能性があります。

2
GNU Linux(Arch Linux)上のSIGINFOがない
私はアプリケーションを開発していますが、必要に応じていくつかのランタイム統計をコンソールに出力したいと考えています。killすぐに信号が浮かんできました。 WikiでUnixシグナルを読むSIGINFOことは、次の理由で進むべき道のようです。 それはされて意図これらの目的のために シグナルハンドラが実装されていない場合はプロセスを終了しません(逆にSIGUSRx- ここを参照) ただし、の出力を調べるkill -lと、サーバーにこの信号が実装されていないようです。 私の質問は: なぜSIGINFO私のシステムにはないのですか?すべてのGNU Linuxシステムに存在しませんか? この信号を有効にする簡単な方法(つまり、カーネル/ glibc再コンパイルなし)はありますか?ない場合、難しい方法は何ですか? ターゲットプロセスで処理されない場合に副作用を引き起こさない、目的に使用できる代替シグナルは何ですか?(glibcのマニュアルで他の適切な信号を見つけることができなかったので、私はすでに何も想定していません) Linuxメタ情報: Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux 更新:なぜこの信号が条件付きでBSD以外のシステムから除外されるのかについての詳細をまだ探しています(以下のコメントを参照)。信号は多くの目的に非常に役立つようですので、それがただの気まぐれの問題であると私が信じるのは難しいです-それで、この信号がLinuxで利用可能になる本当のショートッパーは何ですか?
12 linux  signals  glibc 


1
カーネルとBusyBoxを備えた最小限のLinux:/ etc / inittabは無視され、/ initのみが実行されます
カーネル(デフォルトオプションでコンパイルされた)とBusyBox(デフォルトオプション+静的でコンパイルされた、すべてのアプレットが存在することを含む/sbin/init)のみを含む、小さくて機能的なライブLinux CDを作成することができました。私が作成する全く問題なかったinitrdと移入を/dev、/procと/sysも私は私と全く問題がなかった/initシェルスクリプト。 最近、BusyBoxが/etc/inittab構成を(少なくともある程度)サポートしていることを読んだので、次のいずれかを実行したいと思います。 私の/initシェルスクリプトを忘れて、完全に/etc/inittab構成に依存します。 /initシェルスクリプトと/etc/inittab設定の両方を使用します。 今実際の問題- /etc/inittab私のディストリビューションが起動するときそれは完全に無視されているようです。症状は次のとおりです。 削除して/initそのままにしておく/etc/inittabと、カーネルパニックが発生します。私の想定では、カーネルはまったく実行さ/sbin/initれないか、または/sbin/init検出(または読み取り)されません/etc/inittab。 BusyBoxがなくても正常に動作することを確認しました/etc/inittab。だから、私は両方を削除/initして/etc/inittab、何を推測-再びパニックカーネル。 私が実行しようとした/sbin/init私のシェルから、付属のいくつかの推測の後exec /sbin/init、setsid /sbin/initそしてexec setsid /sbin/init私は、カーネルパニックになってしまいました。ファイルシステムに/ etc / inittabが存在する場合と存在しない場合の両方。 これが私の/initシェルスクリプトの内容です: #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t proc none /proc mount -t sysfs none /sys setsid cttyhack /bin/sh この時点では/etc/inittab、構成が実際に機能していることを知る方法がある限り、その内容がどうなるかは気にしません。ここで/etc/inittab見つけた情報に基づいて、いくつかの構成を試しました。 最低限、私の/ etc / inittabには次の1行だけが含まれています。 ::sysinit:/bin/sh 繰り返しますが、カーネルパニックに陥り、/etc/inittab無視されたようです。 私の小さなライブディストリビューションをBusyBoxで正常に動作させる方法についての提案/etc/inittabは高く評価されています! 更新: 明確にするために、現在のシェルスクリプトを使用してもしなくても、カーネルパニックの問題は発生しません。それはすべて正常に機能し、コンソールは非常に機能し、予期しない問題は発生しません。上で説明したように、唯一の問題は完全に無視されることです。/init/etc/inittab/bin/ash/etc/inittab …

1
モジュールをロードできません:シンボルmodule_layoutのバージョンについて同意しません
このチュートリアルに従って、最初のドライバーを作成します。 Makefileは次のとおりです。 # Makefile – makefile of our first driver # if KERNELRELEASE is defined, we've been invoked from the # kernel build system and can use its language. ifneq (${KERNELRELEASE},) obj-m := ofd.o # Otherwise we were called directly from the command line. # Invoke the kernel build system. …

1
OpenVPNクライアントのルーティングテーブルを理解する方法
OpenVPNをセットアップするだけで、期待どおりに機能します。しかし、クライアントのルーティングテーブルは、私を完全に混乱させます。これがルートテーブルです。 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0 54.202.18.143 10.0.2.2 255.255.255.255 UGH 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 169.254.0.0 0.0.0.0 …


2
Ubuntu / Unityランチャーへのスクリプトのアタッチ
最近IntelliJ IDEAをダウンロードし、を実行してアプリを起動し. idea.shます。アプリは実行中にランチャーに表示されますが、何らかの理由で右クリックすると、他のアプリのように「ランチャーにロック」オプションが表示されません。 ランチャーにどのように取り付けますか? スクリプトを実行していて、そのオプションを無効にする実行可能ファイルを直接実行していないからですか?
12 linux  ubuntu  unity  intellij 

4
`ps`のいくつかの条件で選択する方法はありますか?
私は盲目的に明白な何かが欠けているようですが、それでも: ps -f -u myuser --ppid 1 プロセスの親pidのみを確認しているように見え、ユーザーがいない場合でも、親pidが1であるすべてのプロセスを返しますmyuser。 -u正しく単体作品(のプロセスだけを選択myuser)を: ps -f -u myuser 何が欠けていますか?のいくつかの条件でフィルタリングする組み込みの方法はありpsますか? 編集: 私の現在の回避策: ps -f -p $(join <(ps h --ppid 1 -o pid | sort) <(ps h -u myuser -o pid | sort))
12 linux  ps 

4
実行中のプロセスをファイル名で表示しますか?
私は自分のサイトがあるLinuxサーバーに接続するためにputtyを使用しています。 # ps aux | less 実行中のプロセスを表示します。しかし、これらのプロセスを実行しているファイルを表示したいですか? 私も試しました # ps aux | grep <pid> しかし、このエラーが発生します: -bash: syntax error near unexpected token `newline' それを行う正しい方法は何ですか?

1
systemdでサービスを停止するudevルールを作成する正しい方法は何ですか
Arch Linuxを実行しています。デバイスを挿入するとサービスを開始するudevルールがあります。この場合、3Gモデムが接続されているときに接続にダイヤルします。 KERNEL=="ttyUSB*", SYMLINK=="gsmmodem", TAG+="systemd", ENV{SYSTEMD_WANTS}="netcfg@wvdial.service" ただし、デバイスが削除された場合、systemdはサービスを停止しません。そのため、再度接続すると、すでに実行されているため、サービスは開始されません。 サービスを停止するためにデバイスが削除されたときに実行される一致するudevルールが必要です。 更新 以下の答えを使用すると、私が今持っているのは次のudevルールです KERNEL=="ttyUSB*", SYMLINK=="gsmmodem", TAG+="systemd", ENV{SYSTEMD_WANTS}="vodafone.service" 次のサービスファイルを使用します(これは基本的にnetcfgサービスファイルからコピーして貼り付けました: [Unit] Description=Netcfg networking service for Vodafone Dongle Before=network.target Wants=network.target BindsTo=dev-gsmmodem.device After=dev-gsmmodem.device [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/netcfg check-iface wvdial ExecStop=-/usr/bin/netcfg down wvdial KillMode=none [Install] WantedBy=multi-user.target netcfg-wvdialAURからダイヤルを使用しています。
12 linux  udev  systemd 

6
さまざまなLinuxディストリビューションを理解する
LinuxベースのOSを理解するときに少し混乱しています。MintとUbuntuの最新バージョンをダウンロードすると、コア(カーネル)で「同じ」ではありませんか?彼らは異なるGUIを持っているように見えるだけですか?GUIは技術的にはコンピュータの起動時に実行されるプログラムだけではないのですか?Windowsと同じです(dosがコアですが、explorer.exeがguiです)。これを説明できる人はいますか? sudo apt-getコマンドを使用すると、ミントターミナルからUbuntuをインストールできませんか? これはめちゃくちゃな質問であることはわかっていますが、GUIが表示される前とGUIが表示された後に、誰かが複数のディストリビューションの違いを明確にできることを願っています。

2
競合しないcpuset内のスレッドに対するスケジューラの優先順位とポリシーの影響がある場合、どのような影響がありますか?
私は、cgroupを使用して2つのcpu_exclusive cpusets、AとBを作成し、すべてのユーザースレッドとすべての非バインドカーネルスレッドをcpuset Aに接続されたcgroupに移行したLinuxシステムを持っています。cpusetAで実行されているものは、さまざまなスケジューラポリシーを持っています優先順位が異なり、cpuset Aで実行されているスレッドの数は、cpuset Aのコア数よりも多くなります。 cpuset Bに接続されているいくつかの非常にアクティブなプロセスもあります。これらのプロセス全体のユーザースレッドの総数は、cpuset Bで排他的に使用可能なコアの数を超えることはありません。目的は、cpusetで実行されるこれらの重要なタスクをシールドすることです。マシンの他のアクティビティからのBと、処理の待ち時間を最小限に抑えるため。 このような設定で、cpuset Bで実行されているユーザースレッドのスケジューリングポリシー/優先順位は、目に見える影響を及ぼしますか?言い換えると、B cpusetスレッドのスケジューリングポリシーをデフォルトのSCHED_OTHERからSCHED_FIFOまたはSCHED_RRに変更すると、良い結果も悪い結果も発生しますか? スケジューラはcpuset Bで実行されている各スレッドに独自の専用コアを割り当てることができるため、答えは「いいえ」のように見えます。優先順位を付けたりスケジュールしたりするものは何もないため、Bのポリシーと相対的な優先順位はありません。 cpusetスレッドは重要ではありません。一方で、バインドされたカーネルスレッドと「スケジューラードメイン」の問題があること、そしておそらく私が考慮していない他のこともあります。 オーバープロビジョニングされた排他的cpusetで実行されているスレッドのスケジューリングポリシーと優先順位は、実際的な意味で重要ですか?


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