Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A


4
LinuxでSuspend-to-RAMの問題をデバッグするにはどうすればよいですか?
RAMのサスペンドの問題をデバッグする方法について、経験に基づいた提案を得たいと思っています。私の状況に固有のアドバイス(詳細は後述)は素晴らしいでしょうが、そのような問題をデバッグする方法に関する一般的なアドバイスにも興味があります。 問題: 多くの場合、マシンをサスペンドしようとすると、「サスペンドされていないが起動されていない」状態でスタックします。多くの場合、画面は完全に黒くなりますが、次のエラーメッセージが表示される場合があります。 GLib-WARNING **: getpwuid_r(): failed due to unknown user id (0) また、この状態にはファンがハイギアでキックすることも伴います。この状態から抜け出す唯一の方法は、ラップトップの電源を手動で切ることです。 いくつかの情報 $ uname -a Linux baltar 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:26:05 UTC 2010 x86_64 GNU/Linux $ lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 10.10 Release: 10.10 Codename: maverick 私は見て撮影した/var/log/dmesgと/var/log/pm-suspend.log、私は私が探しているかわからないと何も目立ちません。それが関連しているかどうかはわかりませんが、次の多くを見つけました/var/log/kern.log: EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro,commit=600

4
よく似たファイルを保存するためのローリングdiff?
報奨金は、期限が切れる6日に。この質問への回答は、+ 50レピュテーションバウンティの対象となります。 Basjは、この質問に対するより詳細な回答を探しています。典型的な例:backup201901.tar.gz、backup201902.tar.gz、...、backup201912.tar.gzなど」 職場では、mysqlデータベースの夜間ダンプを作成します。日々、データの90〜95%近くが重複しており、時間が経つにつれて増加することを推測します。(この時点で、いくつかはおそらく99%です) これらのダンプでは、1行が1つのmysql INSERTステートメントであるため、唯一の違いは行全体と、ファイル内での順序です。それらをソートした場合、ファイルごとの実際の違いは非常に小さいでしょう。 私は探していましたが、ダンプの出力をソートする方法を見つけていません。sortただし、コマンドを介してパイプできます。次に、同一行の長い長いブロックがあります。 だから私は差分のみを保存する方法を考えています。マスターダンプから始めて、毎晩それと比較することができます。しかし、差分は毎晩大きくなります。または、ローリングdiffを作成することもできますが、これは個々に非常に小さくなりますが、毎晩シリーズ全体のマスターdiffをまとめる必要がある場合、計算に時間がかかるようです。 これは可能ですか?どのツールで? 編集 mysqlバックアップを行う方法を尋ねていません。現時点ではmysqlを忘れてください。ニシンです。私が知りたいのは、一連のファイルから一連のローリングdiffを作成する方法です。毎晩、ファイル(たまたまmysqldumpファイル)を取得します。これは、前のファイルと99%類似しています。はい、すべてをgzipします。しかし、そもそもすべての冗長性を持つことは冗長です。私が本当に必要なのは、前の夜との違いだけです...これは前の夜とわずか1%違います...などです。したがって、私が望んでいるのは、一連の差分を作成する方法です。そのため、毎晩1%だけを保存する必要があります。

2
Debian 9でSetcapが見つかりません
必要なインストールスクリプトを使用していますがsetcap、見つかりません。どのパッケージに含まれていますか?libcap2は既にインストールされています。
15 debian  setcap 

2
Systemd:必要なものと欲しいもの
ターゲットファイルにRequiresとWantsの間に違いはありますか? [Unit] Description=Graphical Interface Documentation=man:systemd.special(7) Requires=multi-user.target Wants=display-manager.service ありがとう
15 systemd 

3
Bashスクリプトのソース-終了の代わりにエラーで戻りますか?
私はターミナルでbashスクリプトを調達しているので、エラーで終了します set -o errexit ターミナルを閉じ、別のターミナルを開いて、いくつかの変数をリセットする必要があるため、非常に迷惑です。 これまでのところ、使用して command || return スクリプト内の行は、まさに私が望むことをしています set -o errexit すること...しかし、スクリプト全体に対してそれを実行したいのです。1行/コマンドだけではありません サイトを設定するためのコマンドがいっぱいのファイルがありますが、コマンドを実行したくない|| 帰る ファイル内のすべての行に対して 別の設定オプション、またはターミナルを終了する代わりに単に「戻る」何か他のものがありますか? - わかりやすくするために、スクリプトを強制終了し、ctrl + Cを押してターミナルで実行中のサービスを強制終了するのと同じ状態のままにします。command || returnそれをします。しかし|| return、ファイル内のすべての行に手を加えたくありません。だからset -o errexit、端末をシャットダウンさせないに似たものを探しています ---注: 2行のダムスクリプト(super.sh)の作成: create_path=~/Desktop/site_builder/create.sh source $create_path blah そして置くset -o errexitcreate.shの上部に、 期待どおりに動作します。ただし、ターミナルから呼び出すのではなく、別のbashスクリプトを呼び出すために、2行のファイルを作成する必要があるのは本当に愚かなことです。うーん 以下に例を示します。 super.shで #!/bin/bash create_path=~/Desktop/site_builder/create.sh source $create_path blah create.shで #!/bin/bash set -o errexit #line …

1
起動時にbashによって実行されているスクリプトを調べる
bashターミナルを起動した後、PATH変数に重複したエントリが含まれていることに気付きました。私の端末が起動ログインシェルは、そう~/.bash_profile、調達が続いている~/.profileと~/.bashrc。~/.profile重複するパスエントリを作成するのは、その中だけです。 教訓的であるために、これは、ソースされるべきであるファイルがソースされるべき順序です: Sourced /etc/profile Sourced /etc/bash.bashrc Sourced .bash_profile Sourced .profile Sourced .bashrc 誰かがこれを「PATH変数に重複が含まれている」とマークする前に、読み続けてください。 最初は~/.profile、これは2回ソースされていることと関係があると考えたため、ソースされるたびにログファイルにファイルを書き込むようにしましたが、驚くべきことに、1つのエントリのみがログに記録されました。さらに驚くべきことは、にあったエントリをコメントアウト~/.profileすると、PATH変数にまだエントリが表示されるという事実です。これにより、3つの結論に至りましたが、そのうちの1つはすぐに除外されました。 bashは有効なbashコメントを無視し、引き続きコメント付きコードを実行します ~/.profile出力を出力するコード(たとえばログファイル)を読み取り、無視するスクリプトがあります 別の~/.profile場所から調達されている私の別のコピーがあります 最初の1つは、いくつかの迅速なテストのため、そうではないとすぐに結論付けました。2番目と3番目のオプションは、助けが必要な場所です。 端末の起動時に実行されるスクリプトのログを収集するにはどうすればよいですか?echobashがソースであるかどうかを確認するためにチェックしたファイルで使用しましたが、端末で入力を開始する準備ができた時点まで実行を追跡する決定的なメソッドを見つける必要があります。 上記が不可能な場合は、実行中のスクリプトを確認するために他の場所を探すことができます。 今後の参考資料 これは、パスに追加するために現在使用しているスクリプトです。 function add_to_path() { for path in ${2//:/ }; do if ! [[ "${!1}" =~ "${path%/}" ]]; then # ignore last / new_path="$path:${!1#:}" export "$1"="${new_path%:}" # remove trailing : …
15 bash  profile 

3
systemdで90年代のタイムアウトをスキップする方法
systemdで90秒のタイムアウトを対話的にスキップすることは可能ですか?たとえば、ディスクが使用可能になるのを待っているとき、またはユーザーがログアウトするのを待っているときはどうでしょうか?私はそれが最終的に失敗することを知っているので、今すぐ失敗させることができますか?どうしようもなく画面を見つめるのが嫌いです。

2
--exclude-dirフラグを指定したgrepを使用して複数のディレクトリを除外する
grepOSXで使用している単語をRuby on Railsアプリケーションで検索していますが、特定のパターンに一致するディレクトリを除外したいと思います。 私は次のコマンドを使用しています: grep -inRw -E 'direct' . --exclude-dir -E 'git|log|asset' このコマンドは、私が思っていたことを実行していません。私はそれがどのように働くと思ったのですか? i-大文字と小文字を区別しない検索 n-パターンが見つかった行番号を出力 R-再帰的に検索 w-単語全体のみが必要です。つまり、「ディレクトリ」ではなく「直接」に一致します。 -E-拡張正規表現を使用 'direct'-一致させたい正規表現 。-現在のディレクトリで検索 --exclude-dir -E 'git | log | asset'- git、log、またはassetと一致するディレクトリを除外します。 ディレクトリを除外するという点では、コマンドはまだで検索終わる「./git」と「./log」ディレクトリだけでなく、中に」./app/assets' 私は明らかに基本的な知識を欠いていますが、それが何であるかはわかりません。

2
NVMeドライブの温度/ IOを監視する
NVMeドライブ(この場合はIntel 750)の温度または読み取り/書き込みを監視する方法はありますか。hdparm、udisksctl、smartctl、およびhddtempすべてでは、Google検索が無益されている、この能力に欠けているように見えます。 不思議なことに、これがシステムドライブにNVMeを使用してFedora 23(Workstation)を実行する際に直面した唯一の困難です。

2
セッションおよびスライスメッセージでいっぱいのシステムログ
CentOS 7を新しくインストールしましたが、/ var / log / messagesファイルにこのようなメッセージがいっぱいであることに気付きました Mar 6 08:40:01 myhostname systemd: Started Session 2043 of user root. Mar 6 08:40:01 myhostname systemd: Starting Session 2043 of user root. Mar 6 08:40:01 myhostname systemd: Created slice user-1001.slice. Mar 6 08:40:01 myhostname systemd: Starting user-1001.slice. Mar 6 08:40:01 myhostname systemd: Started …
15 syslog 

4
zfsプール全​​体を別のzfsプールに一方向でミラーリングする方法
複数のzvolとデータセットが含まれているzfsプールがありますが、それらの一部もネストされています。すべてのデータセットとzvolは、zfs-auto-snapshotによって定期的にスナップショットされます。すべてのデータセットとzvolには、手動で作成されたスナップショットもあります。 時間の不足により、zfs send -Rを介したローカル高速ネットワークを介した初期コピーが完了しなかったリモートプールをセットアップしました(一部のデータセットが欠落しているか、一部のデータセットに古いスナップショットがあります)。 現在、プールは低速接続で物理的にリモートになっているため、リモートプールをローカルプールと定期的に同期する必要があります。つまり、ローカルプールにあるデータをリモートプールにコピーし、ローカルプールから削除されたデータをリモートプールから削除する必要があります。 「zvols」、「datasets」または「snapshots」を意味するデータによって、リモートプールに存在するがローカルプールには存在しないデータをリモートプールから削除する必要があります。 rsyncを使用して2つの通常のファイルシステム間でこれを行った場合、「-axPHAX --delete」になります(一部のシステムを実際にバックアップするためです)。 リモートプールのzvolとデータセット(スナップショットを含む)がローカルのzvol、データセット、スナップショットと同期できるように、同期タスクを設定するにはどうすればよいですか? sshのスループットパフォーマンスが低いため、sshを介した転送は避けたいと思います。代わりにmbufferまたはiscsiを好むでしょう。
15 zfs  replication 

2
moreutilsのスポンジ-シェルリダイレクトの違いは何ですか?便利な例?
> brew install moreutils ==> Downloading https://homebrew.bintray.com/bottles/moreutils-0.55.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring moreutils0.55.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/moreutils/0.55: 67 files, 740K spongeは標準入力を読み取り、指定されたファイルに書き出します。シェルリダイレクトとは異なり、スポンジは出力ファイルを書き込む前にすべての入力を吸収します。これにより、同じファイルを読み書きするパイプラインを構築できます。 分かりません。便利な例をいくつか教えてください。 何を吸い上げるを意味ですか?


4
SHIFTを使用せずに端末にコピーして貼り付けます
私が知っているすべての端末エミュレーターで、+ や+ Ctrlなどの制御コードの送信に使用されます。ほとんどのシステムでは、これは一般的なキーボードショートカットと競合します。CtrlCCtrlZ したがって、OS X以外のすべてのシステムでCtrlShiftは、コピーアンドペーストなどに使用されますが、これは本当に面倒です。Firefoxインスペクターを誤って開いたたびに1ペニーをもらえたら、私は金持ちになります。 Cmdキーボードショートカットに使用するAppleの動作を模倣しようとしましたが、これをデスクトップ全体で実現することは事実上不可能です。 他の方法は、制御コードを送信するために別の組み合わせを使用することです。これをサポートする端末エミュレータはありますか? さくらでは、キーコンボの修飾子を設定できますが、制御文字の修飾子は設定できません。別の望ましい機能は、めちゃくちゃな行の折り返しですが、それは二次的に重要です。

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