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

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

5
組み込みLinux用の破損防止SDカードファイルシステム?
最近、お客様にかなり不快な状況がありました-リモートセンシングデータの表示に使用されるRaspberry Piベースの「キオスク」ファイルシステムの破損。Ext4、マニュアルfsckが必要です。システムは明日の重要なプレゼンテーションの一部となり、すぐにサービスが必要になります。もちろん、夜間に電源を切るときにシステムをうまくシャットダウンするように顧客に要求することはできません。システムは単純にそのような虐待に耐えなければなりません。 将来はそのような状況を避けたいので、これを防ぐファイルシステムにOSを移動したいと思います。MTDデバイス向けのファイルシステムがたくさんあります。SDカード(標準ブロックデバイス)で実行するには、深刻なフープジャンピングが必要です。破損に対する優れた耐性を誇る他のファイルシステム(ジャーナリングなど)もあります。私はまだ彼らの賛否両論の合理的な比較を見なければなりません。 Linuxで利用可能なファイルシステムは、予期しない停電時の破損に対する最高の耐性を提供し、SDにインストールするためにyaffs2のような不可能なフープをジャンプする必要はありません。 摩耗バランスはプラスですが、要件ではありません。SDカードは通常、完璧ではない場合、独自のメカニズムを備えていますが、システムは「フラッシュにやさしい」必要があります(NTFSなどのシステムは1か月以内にSDカードを殺すことができます)。


3
sudo add-apt-repositoryを元に戻す方法は?
走る sudo add-apt-repository ppa:noobslab/indicators インストールするmy-weather-indicatorにはGTK3が必要です。続行したくありません。 それで、私はそのコマンドを元に戻したいです。私はチェックしましたが、/etc/apt/source.listそれに関連する行が見つかりませんでした。 私は今どうすればいい?

1
trに非ASCII(ユニコード)文字を認識させる方法は?
ファイル(UTF-8)からいくつかの文字を削除しようとしています。私はtrこの目的のために使用しています: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat ファイルにいくつかの外国の文字(「Латвийская」や「àé」など)が含まれています。trそれらを理解していないようです:それらを非アルファとして扱い、削除します。 ロケール設定の一部を変更してみました: LC_CTYPE=C LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat 残念ながら、これらのどれも機能しませんでした。 trUnicode を理解させるにはどうすればよいですか?

3
grepは検索を高速化するためにキャッシュを使用しますか?
grep同じクエリ(および同じファイルでの異なるクエリ)での後続の実行は、最初の実行よりもはるかに高速であることに気付きました(大きなファイルを検索する場合、効果は簡単にわかります)。 これは、grepが検索に使用される構造の何らかのキャッシュを使用することを示唆していますが、インターネット上で参照を見つけることができませんでした。 grep後続の検索で結果をより速く返すことができるメカニズムは何ですか?
36 linux  grep  cache 

2
/ proc / PID / fd / Xリンク番号
Linuxでは、で/proc/PID/fd/X、パイプまたはソケットであるファイル記述子のリンクには、次のような番号があります。 l-wx------ 1 user user 64 Mar 24 00:05 1 -> pipe:[6839] l-wx------ 1 user user 64 Mar 24 00:05 2 -> pipe:[6839] lrwx------ 1 user user 64 Mar 24 00:05 3 -> socket:[3142925] lrwx------ 1 user user 64 Mar 24 00:05 4 -> socket:[3142926] lr-x------ 1 user user 64 …


6
USBドライブをパーティション化してブート可能にし、Windows互換のデータストレージパーティションを作成するにはどうすればよいですか?
ここから分割 16gbフラッシュドライブがあり、ライブISOから(unetbootinまたは類似のものを介して)ブートしたい。プラグインして、必要なコンピューターで起動できる32ビットのディストリビューションになります。これはライブISOになるため、データを保存する場所が必要になります。USBドライブには、ディストリビューション用に約1GB、データストレージ用に他の15GBが必要です。 2つのFATパーティションを作成しました。1つ目は「ブート可能」、2つ目は「ストレージ」です。Linuxではストレージは正常に機能しますが、Windowsはブート可能なパーティションのみを認識します。ストレージにアクセスできません。 Windowsでデータにアクセス可能にしたまま、ブート可能なディストリビューションを使用するにはどうすればよいですか?答えがパーティションの作成方法である場合は、各パーティションの順序と種類を含めてください。これにはスワップ領域が必要ですか、それとも別の方法で処理されますか?

3
x86とx86_64のLinuxシステムコール番号が異なるのはなぜですか?
システムコールインターフェイスは低レベルで実装されているため、「ジェネリック」コードではなく、アーキテクチャ/プラットフォームに依存します。 しかし、Linux 32ビットx86カーネルのシステムコールに、同様のアーキテクチャのLinux 64ビットx86_64で同じ値が保持されない理由がはっきりとわかりません。この決定の背後にある動機/理由は何ですか? 私の最初の推測は、バックグラウンド化の理由が32ビットアプリケーションをx86_64システム上で実行可能な状態に維持することであったため、システムコール番号への妥当なオフセットを介して、システムはユーザースペースが32ビットまたは64ビットであることを認識しますそれぞれ。ただし、そうではありません。少なくとも、x86_64のシステムコール番号0であるread()は、この考えと一致しないように思われます。 もう1つの推測は、システムコール番号の変更にはセキュリティ/強化の背景があるかもしれないということです。 アーキテクチャに依存するコード部分の実装の課題に無知であるため、システムコール番号を変更する必要はないように思われます(16ビットのレジスタでさえ、すべてを表すために現在〜346の数値よりも多くを格納するため)呼び出し)、互換性を破る以外の何かを達成するのに役立ちます(ただし、ライブラリlibcを介してシステムコールを使用すると、軽減されます)。

3
マウントがバインドマウントの読み取り専用オプションを尊重しないのはなぜですか?
私のArch Linuxシステム(Linuxカーネル3.14.2)では、バインドマウントは読み取り専用オプションを尊重しません # mkdir test # mount --bind -o ro test/ /mnt # touch /mnt/foo ファイルを作成します/mnt/foo。の関連エントリ/proc/mountsは /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 マウントオプションは、要求されたオプションと一致しませんが、バインドマウントの読み取り/書き込み動作と最初にマウント/dev/sda2するために使用されるオプションの両方と一致します/ /dev/sda2 / ext4 rw,noatime,data=ordered 0 0 ただし、マウントを再マウントすると、読み取り専用オプションが尊重されます # mount --bind -o remount,ro test/ /mnt # touch /mnt/bar touch: cannot touch ‘/mnt/bar’: Read-only file system および関連エントリ /proc/mounts/ /dev/sda2 …

3
ファイルを変更不可にするにはどうすればよいですか?
ログイン中に、次のことができます。 mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo 次にroot、(ではなく)vimを開き、編集しbar、で強制的に書き込みw!、ファイルが変更されます。 オペレーティングシステムでファイルの変更を禁止するにはどうすればよいですか? 2017年3月2日更新 chmod 500 foo赤いニシンです。ディレクトリに対する書き込み権限は、ファイルの内容を変更する機能とは関係ありません。ファイルを作成および削除する機能のみです。 chmod 400 foo/bar実際、ファイルの内容が変更されるのを防ぎます。ただし、ファイルのアクセス許可が変更されるのを防ぐことはできません -ファイルの所有者は、常にファイルのアクセス許可を変更できます(ファイルにアクセスできる場合、つまりすべての祖先ディレクトリでアクセス許可を実行できる場合)。実際、strace(1)は、これがvim(7.4.576 Debian Jessie)が行っていることを明らかにしています-vimはchmod(2)を呼び出してファイルの所有者に書き込み許可を一時的に追加し、ファイルを変更してからchmod( 2)再度書き込み許可を削除します。それが、chattr +iworks を使用する理由です。root のみがを呼び出すことができますchattr -i。理論的には、vim(または任意のプログラム)は、rootとして実行された場合、不変ファイルでchmodを使用するのと同じことをchattrで実行できます。

7
/ dev / sdデバイスをそれらが表すハードウェアに関連付けるにはどうすればよいですか?
ドライブが故障し始めており、/dev/sdbデバイスファイルの指定によってのみデバイスを知っています。そのデバイスファイルを実際のハードウェアデバイスに関連付けて、どのドライブを物理的に交換するかを知るために使用できる方法は何ですか? ボーナス:/dev/disk/このインストールにサブディレクトリがない場合はどうなりますか?(悲しいことに、私はしません)

7
ディレクトリを常にキャッシュに入れます
私はc ++プロジェクト全体をコンパイルするのにかかる時間を改善するために、さまざまな方法を試してきました。現在、約5分かかります。distcc、ccacheなどを試してみました。最近、プロジェクト全体をRAMドライブにコピーし、そこからコンパイルすると、コンパイル時間が元の30%(わずか1.5分)に短縮されることを発見しました。 明らかに、RAMドライブからの作業は実用的ではありません。だから、誰かがOSに特定のディレクトリを常にキャッシュしておくように強制する方法を知っていますか?私はまだ通常のようにディレクトリをディスクに同期して戻したいのですが、常にメモリ内のデータのコピーも必要です。これは可能ですか? 編集: 可能な解決策としてrsync、ディスクドライブをRAMドライブと同期するために10秒ごとに実行されるデーモンを起動することを考えました。次に、RAMドライブからコンパイルを実行します。rsync速く燃えるれるが、これは実際に動作しますか?確かにOSの方がうまくいく可能性があります。...

2
コンピュータの電源を入れるプロセスについて説明しているマニュアルページはどれですか?
数年前、私は端末を使用し、Linuxマニュアルのチュートリアルを(使用してman)電源を入れた後のコンピューターの動作について読みました。このプロセスでのBIOS、ROM、RAM、およびOSの役割を説明するプロセス全体を説明しました。 これはどのページですか?もう一度読むにはどうすればよいですか?
35 linux  boot  man 

3
使用可能なすべてのSSL CA証明書をリストする
私のgitクライアントの主張 error: Peer's Certificate issuer is not recognized. つまり、グローバルシステムキーリングで対応するsslサーバーキーを見つけることができません。これを確認するには、gentoo linuxシステム上でシステム全体で利用可能なすべてのsslキーのリストを見てください。このリストを取得するにはどうすればよいですか?
35 linux  openssl 

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