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

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

2
64ビットカーネルですが、すべての32ビットELF実行可能プロセスを実行していますが、どうですか?
からの出力uname: root@debian:~ # uname -a Linux 5asnb 2.6.32-5-amd64 #1 SMP Mon Jun 13 05:49:32 UTC 2011 x86_64 GNU/Linux ただし、/sbin/init実行可能ファイルは32ビットとして表示されます。 root@debian:~ # file /sbin/init /sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped システムの他の側面も同様に矛盾しているようです: root@debian:~ # echo $HOSTTYPE i486 root@debian:~ # …

1
optirunを使用してSteamゲームを実行することは可能ですか?
私のIntel HD4600 / Nvidia GTX 860MコンボのOpenSuse 13.1でBumblebeeを使用しています。 を使用する場合、Steamゲームは少し遅れるようprimusrunです。(vblank_mode=0 primusrun) との両方primusrunでテストするoptirunとglxspheres、それoptirunが私のシステムでより良いオプションであることを示しています。しかし、私のSteamゲームはoptirunコマンドで始まりません。 vblank_mode=0 primusrun glxspheres 209.926051 frames/sec - 234.277473 Mpixels/sec vblank_mode=0 optirun glxspheres 250.734727 frames/sec - 279.819955 Mpixels/sec 任意の助けいただければ幸いです。


1
SSDをキャッシュに使用して、ハードディスクがスピンダウンできるようにするにはどうすればよいですか?
BTRFSプールで一緒に実行されているディスクの束を持つファイルサーバーがあり、キャッシュ用にSSDを追加したいと考えています。私は主に物事を高速化した後ではありませんが、頻繁に使用していないときはほとんどの時間、ハードディスクをシャットダウンできるように定期的な小さなアクセスをキャッチしたいと考えていますディスクが長持ちします)。 私の知る限り、現在Linuxにはdm-cacheとbcacheの2つのSSDキャッシングテクニックが実装されています。dm-cacheは依然としてより効率的であると言われていますが、両方の開発が進んでおり、絶対的な最大効率を調整する必要はありません。 bcacheのドキュメントを読んで、私はこれらのオプションに出くわしました: writeback_delay:ダーティデータがキャッシュに書き込まれ、以前は何も含まれていなかった場合、ライトバックを開始する前に数秒待機します。デフォルトは30です。 writeback_percent:ゼロ以外の場合、bcacheはバックグラウンドの書き戻しを抑制し、PDコントローラーを使用して速度をスムーズに調整することで、ダーティなキャッシュの割合を維持しようとします。 writeback_running:オフの場合、ダーティデータの書き戻しはまったく行われません。ダーティデータは、大部分がいっぱいになるまでキャッシュに追加されます。ベンチマークのみを目的としています。デフォルトはオンです。 に十分な大きさの値を設定するとwriteback_delay、私にとってはうまくいくようです。1時間に1回だけ書き戻すか、または(これが起こると思います)キャッシュがいっぱいになっている場合。 これは妥当な設定ですか、そしてディスクのスピンダウンに成功するために他に何か考慮すべきことがありますか?私の要件を満たしていれば、まったく別のルートに進んでも問題ありません。 @gorkyplが同様の問題について別の解決策を探しているようですが、要件と環境が異なり、回答もまだ得られていません。

4
ext4およびxfsで実際にジャーナル処理されるファイルシステムメタデータ操作は何ですか?
どのファイルシステムメタデータ操作が実際にext4およびxfsファイルシステムジャーナルに永続化されるかについて、単純でストレートな答えを見つけることができません。私はことに注意してくださいません POSIXが「アトミック」であることを宣言して何を問い合わせます。ジャーナルを有効にして実行することにより、アトミックファイルシステム操作のどのサブセットが逆方向に曲がることなく常に実行できるため、どのようなサブセットが効果的に耐久性があるかについて、さらに心配しますfsync(2)。 私はかなり確かな数の操作: creat(2) link(2) unlink(2) rename(2) mkdir(2) rmdir(2) 私は完全にはわかりません: symlink(2) シンボリックリンクのコンテンツを格納するsymlink(2)簡単な方法fsync(2)やfdatasync(2)基になるデータブロックがないため、このケースが最も厄介です 。ジャーナルが私のためにこれを処理することを知ることは、安心です。

2
破損しないファイルシステム(データ損失は許容可能)
この問題を中心に展開している既存のトピックがいくつかありますが、私が求めることは少し異なります。組み込みLinuxにSDカードを使用していますが、電力損失に悩まされています。いつかハードウェアを変更したり、適切に終了したりすることができるかもしれません。しかし、今のところ、大騒ぎすることなく停電に耐えられるファイルシステムを見つけたいと思っています。データの損失は許容されます。私は現在書いているファイルより多くを失いたくないのですが、「マウントできません」、「この10分間fsckを待つ」、または「新しいファイルを作成できません」に直面するよりも、むしろそれを失いたいこのiノードが原因で何かエラーが発生しました。プログラムは続けなければなりません! 私はこれを確実にするために多くの努力をしています。私は工業用グレードのコンポーネントを使用しています。ハードウェアウォッチドッグ、ソフトウェアウォッチドッグ、内部、外部、initによるプログラムの再起動、デーモンによるメモリ、ファイル記述子の常時チェックなど、ウォッチドッグがウォッチドッグを監視し、ウォッチドッグが他のウォッチドッグによって監視されています。 ...しかし、SDカードがマウントされて機能することを保証できないようです。 今の私の最善の策は、SDカードでJFSを使用することです。私のインストールにfsckとfsck.jfsを含めます。(私のRAMと私のフラッシュを食べる600kb +を追加します。これは悪いことです。)そして、毎回の起動時にfsckを実行します(ブート時間が長くなる可能性があります。これはやや悪いことです)。それは少し悲しいようですが。 誰かがより良い方法やより良いファイルシステムを知っていますか? 更新:e2fsprogs-libs(jfsutilsへの依存)は、私のディストリビューションでコンパイルするのが非常に難しいようです。ZFSを調べます(私のディストリビューションにはネイティブではありません。そして、私が必要としないことはたくさんあるようです)。 UPDATE2:私のシステムとテストに関するいくつかの詳細:SDカードストレージは、セカンダリのオプションのストレージです。SDカードは、2Gb-8Gbの工業グレードのmicroSDです。SDカードは、mount -tコマンドでrcを介してマウントされます。オプション「noatime」ではなく「sync」。私のディストリビューションは、3.10カーネルと1.21 busyboxを備えたカスタムAnalog Device風味のuClinuxです。私のプライマリストレージはjffs2を使用したspiフラッシュです。私はそれに関して何の問題も経験したことがありません。利用可能なfsck.jffs2があるかどうかさえわかりません。一方でナンドフラッシュ...しかし、それは別の話です。SDカードの目的は、測定データを保存することです。'monitor'プログラムは結果をファイルに追加し、戦略的な同期配置を備えています。ファイルが所定のサイズを超えると、新しいファイルが作成されます。指定した数のファイルに達すると、最も古いファイルが削除されます。停電が原因で現在の測定ファイルが失われた場合でも、問題はありません。ファイルは通常50〜100 kbで、1つの結果は通常1 kbです。これは初期の開発段階にすぎません。何も修正されていません。組み込みシステムでフラッシュ以外のファイルシステムを扱ったのはこれが初めてです。(x86サーバーでext4を取得しました。) 私はvfatから始めました。デフォルトのファイルシステム。(私は、工場がそれを選択する理由があるかもしれないと考えました。そして、物事がうまくいくならば、私はそれほど気にしません。)私は、組み込みvfatデバイスで電力損失の問題を見たことはありません。WinCEでFATの問題を経験しました。しかし、私の「モニター」プログラムが100-200ファイルに達したとき、それ以上作成することを拒否しました。FATにはルートに特別なファイル制限の問題があり、サブディレクトリに少し大きい問題があるようです。1つのディレクトリに500〜1000個のファイルを作成できるようにする必要があります。したがって、vfatは機能しません。 その後、ext2に切り替えました。起動時にfsckを挿入しませんでした。(私がそうしなければならなかったことを知りませんでした。)1日以内に、「モニター」プログラムは、「iノード何か何か」エラーのためにそれ以上のファイルを作成できませんでした。災害! 私の現在のソリューションは、起動時に「e2fsck -y」を使用したext2です。これまでのところ、それは有望なようです。しかし、e2fsckと「起動時のfsck」の概念全体が私を悩ませています。それ自体によるe2fsckは、私のプライマリフラッシュとRAMの350kb以上を費やしています。(実行されていない場合)これは、これが私の最大のプログラムであることを意味します。それはbusyboxよりも大きいです。それは私のカーネルにほとんど匹敵しています。 私はext3を検討してきました。メタデータをジャーナル化しているので、害はありません。それがどれほど役立つかについては疑問です。私の小さなファイルと制御された同期で、私はカバーされるべきだと思いますか?順序付けされた書き込みシーケンスがあります。データもある程度ジャーナル化されていることを意味します。ただし、これにより非決定的なラグが発生する可能性があります。これは私の状況では悪いです。(それはおそらく問題ではありません。)また、スケジュールされた同期機能があります。例えば。5秒ごとにコミットします。自分の同期を妨げていると思います。SDカードの場合、書き込みが多すぎると良くありません。産業用のものでも。これを無効にする方法に関するドキュメントは見つかりません。そして、ext3はまだ、すべての起動時に実行されるように、fsckを要求します!しかし、ext3はまだ可能性があります。 Ext4。ext3のパフォーマンス問題の多くを修正します。本当にパフォーマンスは必要ありません。そして、私のディストリビューションには組み込みのmkfs.ext4とfsck.ext4がないようです。おそらくそれは問題ではありません。それはそうかもしれません。例えば。e2progs-libs(jfsutilsへの依存関係)には、コンパイルに関する多くの問題があるようです。 JFS、XFS、BRFSS。すべて私のカーネルでサポートされています。現在、ユーザースペースのツールボックスには含まれていません。すべてがかなり大きく複雑なシステムのようです。そして、それらはすべて起動時に「fsck」と同等のものを必要とするようです? 自分のファイルシステムをスローすることも検討しました。常にファイルテーブルのコピーを2つ書き込みます。トラバースするとき、正しいCRCと最新のシーケンス番号を持つものを選択します。2段階の書き込みシーケンスを作成します。一時的に割り当て、コミット時に修正します。fsckは必要ありません。少しナイーブかもしれませんが。 UPDATE3:ところで、組み込みシステム(少なくとも1つ)の性質は、それらが自律的で、無人で、手の届かないところにあり、何年も実行する必要があるということです。fsckのようなプログラムも人間の相互作用を必要とするには、私を這います。

2
xattrとchattrの違い
関係との違いは何であるxattrとはchattr?chattrLinuxで属性を設定すると、Linuxカーネルとiノードメタデータ内で何が起こっているのか知りたい。
9 linux  files  inode  xattr 

3
AWKで行(行)を減算する方法
AWKを使用してラインを減算する方法を理解しようとしています。たとえば、入力ファイルが次のとおりだとします。 30 20 出力は次のようになります。 10 テストとして、「使用済み」メモリ列を次のように計算しようとしています。 $ cat /proc/meminfo だから今私はこれを書きました: $ grep -P 'MemTotal|MemFree' /proc/meminfo | \ -- Here comes the calculation using AWK 私は以下を試しました: $ grep -P 'MemTotal|MemFree' /proc/meminfo | \ awk '{print $2}' | awk '{$0-s}{s=$0} END {print s}' しかし、これは私にデータの最後の行を与えるだけです。 有効な解決策を見つけましたが、それが最適な解決策ではないかと思います。私のすべてのコーディング経験から、行数をハードコーディングするのはひどいことがわかります:P $ grep -P 'MemTotal|MemFree' /proc/meminfo | \ …
9 linux  awk 

2
プロセスが一定時間静かになった場合、プロセスを強制終了します
私は静かにしてそこに留まるという厄介な癖のあるユーティリティを持っています。これはプロセスにどれくらいの期間これを行うのかすでに知っているのでtimeout、これと戦うために使用していますが、その前にそれを行うこともあります。timeoutstdoutへの出力の送信を停止した場合、プロセスを強制終了する同様のツールはありますか?
9 linux  bash  shell  stdout  timeout 

1
コマンド:端末から実行する必要があります
共有ホスティングアカウントを持っています。sshを使用してログインしました。たとえばsu、入力すると次の出力が表示されました。 su: must be run from a terminal このエラーは、十分な権限がないという事実や他の何かに関連していますか?
9 linux  debian  ssh  su 

1
KVMのNixOSのケーブルダイ
KVMにNixOSシステムをセットアップし、haskelPlatformパッケージをインストールしました。 すべてが正常に動作し、ghciは正常に動作しますが、役に立つエラーメッセージが表示されずにcabalが終了します。 [michas@nix:~]$ type -a cabal cabal is /run/current-system/sw/bin/cabal [michas@nix:~]$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0 of the Cabal library [michas@nix:~]$ cabal update Downloading the latest package list from hackage.haskell.org Aborted [michas@nix:~]$ cabal update -v3 Downloading the latest package list from hackage.haskell.org Sending: GET /packages/archive/00-index.tar.gz HTTP/1.1 Host: hackage.haskell.org …
9 linux  kill  haskell  nixos  cabal 

5
TCPポートが開いているかどうかを確認するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Unix&Linux Stack Exchangeのトピックとなるようにしてください。 6年前休業。 Cでソケットプログラミングを実装しようとしています。クライアントからサーバー(Ubuntu)に接続しようとすると、「接続に失敗しました」などのエラーが表示されます。 したがって、問題は移植にあると思います。ソケットプログラミングに5454 / tcpポートを使用しています。 5454ポートがリッスンしているかどうかはどうすればわかりますか?そうでない場合、UbuntuでCを使用してTCPソケットプログラミングに使用できるポートはどれですか?それはポートのみの問題ですか、それとも私のコードに何か問題があるのですか、またはLINUX Ubuntuで設定が必要ですか? 編集: コードのスニペット: int socket_send; struct sockaddr_in address; printf("\n Initialization Socket...."); socket_send = socket(AF_INET,SOCK_STREAM,0); if(socket_send == -1) { perror("\n Socket not created.Error:"); return 1; } printf("\n Socket created"); address.sin_family=AF_INET; address.sin_addr.s_addr=inet_addr(ip); address.sin_port=htons(5454); if(connect(socket_send,(struct sockaddr*)&address,sizeof(struct sockaddr))<0) { perror("\nConnetion failed.Error:"); return …
9 linux  tcp  socket 


1
NTFS論理ボリューム上のファイルの作成日を取得するにはどうすればよいですか?
LinuxシステムにWindowsファイルストレージ用のNTFS論理ボリュームを作成しました。これは、ファイルの作成日を保持したいためです(おそらくアーカイブに圧縮してから解凍しますが、うまくいくかどうかはわかりません)。NTFS-3GはLinux上のファイルの作成日を保存しますか?もしそうなら、どうすればそれにアクセスできますか? このスレッドを読むと、OPはNTFSのドキュメントを作成し、作成日を見つけるためのシェルスクリプトを提供します。16進値から秒を取得するために変更しましたが、何か間違っていると思います。 #!/bin/sh CRTIME=`getfattr -h -e hex -n system.ntfs_times $1 | \ grep '=' | sed -e 's/^.*=\(0x................\).*$/\1/'` SECONDS=$(($CRTIME / 10000000)) echo `date --date=$SECONDS`

2
カーネルのどのファイルがsys_clone()システムコールを使用するためにfork()、vfork()…を指定するか
ltraceを使用してシステムコールをトレースすると、fork()がsys_fork()ではなくsys_clone()を使用することがわかりました。しかし、それが定義されているLinuxソースを見つけることができませんでした。 私のプログラムは #include<stdio.h> main() { int pid,i=0,j=0; pid=fork(); if(pid==0) printf("\nI am child\n"); else printf("\nI am parent\n"); } そしてltraceの出力は SYS_brk(NULL) = 0x019d0000 SYS_access("/etc/ld.so.nohwcap", 00) = -2 SYS_mmap(0, 8192, 3, 34, 0xffffffff) = 0x7fe3cf84f000 SYS_access("/etc/ld.so.preload", 04) = -2 SYS_open("/etc/ld.so.cache", 0, 01) = 3 SYS_fstat(3, 0x7fff47007890) = 0 SYS_mmap(0, 103967, 1, 2, 3) …

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