Unix & Linux

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

8
ファイルシステム全体でのsedインプレース行削除?
まだ診断されていないアプリケーションのバグが原因で、ディスクがいっぱいのサーバーが数百台あります。重複する行で満たされたファイルが1つあります。ログファイルではなく、変数定義を含むユーザー環境ファイルです(そのため、ファイルを削除することはできません)。 sed誤って追加された行をチェックして削除する簡単なコマンドを書き、ファイルのローカルコピーでテストしました。意図したとおりに機能しました。 ただし、ディスク全体を使用してサーバーで試したところ、およそ次のエラーが発生しました(コピーと貼り付けではなく、メモリからのものです)。 sed: couldn't flush /path/to/file/sed8923ABC: No space left on deviceServerHostname もちろん、私が知っている、左にスペースはありません。だから私はものを削除しようとしています!(sed私が使用しているコマンドは、4000行以上のファイルを約90行に減らします。) 私のsed命令はただsed -i '/myregex/d' /path/to/file/filename ディスクがいっぱいでもこのコマンドを適用する方法はありますか? (クイックフィックスとして数百のサーバーに適用する必要があるため、自動化する必要があります。) (明らかにアプリケーションのバグを診断する必要がありますが、その間サーバーは正しく動作していません...) 更新:私が直面した状況は、自分が削除できることがわかった他のものを削除することで解決しましたが、この質問への回答は今後も他の人にも役立つと思います。 /tmp立ち入り禁止です。同じファイルシステム上にあります。 ディスク領域を解放する前にvi、ファイルを開いて実行することで行を削除できることをテストして確認し:g/myregex/d、変更をで正常に保存しました:wq。一時ファイルを保持するために別のファイルシステムに頼ることなく、これを自動化することは可能であると思われます...(?)


2
wgetのmanページで参照されている「自動検索プログラム」をブロックするための「2001年の記事」とは何ですか?
wgetmanページはのためのセクションの下に、これを述べている--random-waitパラメータ: Some web sites may perform log analysis to identify retrieval programs such as Wget by looking for statistically significant similarities in the time between requests. [...] A 2001 article in a publication devoted to development on a popular consumer platform provided code to perform this analysis on the fly. …


3
dmesgで不要な「監査成功」ログエントリを無効にする方法
ショートバージョン:Fedoraシステムで監査メッセージ(dmesg)を無効にする方法は? Fedoraシステムは、「監査:成功」メッセージをdmesgに記録し続けます-そのような極端な方法で、dmesgはこれらのメッセージで満たされるため(dmesg | grep -v audit空)、使用できなくなります。これらのメッセージは、毎日の内部プロセスが成功したことをユーザーに明らかに伝えたいので、完全に役に立たないものです(何かをデバッグするときに興味深いかもしれませんが、この場合は単なるノイズです)。 コマンドラインインターフェース(X以外のttyにCtrl+ Alt+で切り替える場合F2)でも、これらの監査メッセージが常に散らかっているため使用できなくなり、実際にユーザーが実行したコマンドの出力を読み取ることができなくなりました。たとえば、ユーザー名(ログイン)を入力すると、監査メッセージが出力されます(何かが正常にフォーマット/印刷されたことをユーザーに通知しているようです)。 監査:タイプ= 1131監査(1446913801.945:10129):pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr / lib / systemd / systemd" hostname =?addr =?ターミナル=?res =成功 ' これらのメッセージのほとんどは「成功」を示しているようですが、このキーワードを含まない多くの監査メッセージもあります。Chromiumを実行すると、次の数百がトリガーされます。 監査:タイプ= 1326監査(1446932349.568:10307):auid = 500 uid …

1
modinfoの出力を理解する方法は?
modinfoカーネルモジュールを説明する出力を理解しようとしています。たとえば、モジュールのi915場合、出力は次のようになります。 $ modinfo i915 filename: /lib/modules/4.2.0-1-amd64/kernel/drivers/gpu/drm/i915/i915.ko license: GPL and additional rights description: Intel Graphics author: Intel Corporation [...] firmware: i915/skl_dmc_ver1.bin alias: pci:v00008086d00005A84sv*sd*bc03sc*i* [...] depends: drm_kms_helper,drm,video,button,i2c-algo-bit intree: Y vermagic: 4.2.0-1-amd64 SMP mod_unload modversions parm: modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int) [...] 一部の分野は理解できましたが、次の意味がわかりません。 firmware …

5
ファイル名の日付より後にファイルが変更されたかどうかをテストする
次のように、ファイル名にYYYYMMDDで名前が付けられたファイルがあります。 file-name-20151002.txt このファイルが2015-10-02以降に変更されたかどうかを確認したいと思います。 ノート: の出力を確認することでこれを行うことができますlsが、の出力を解析することlsは悪い考えです。 特定の日付以降のすべてのファイルを見つける必要はありません。一度に1つの特定のファイルをテストするだけです。 作成後、同じ日にファイルが変更される心配はありません。つまり、この20151002名前のファイルが2015年10月3日以降に変更されたかどうかを知りたいだけです。 MacOs 10.9.5を使用しています。
11 bash  files  osx  timestamps 

4
異なるdpiの複数のモニターをサポートできるディスプレイマネージャー/ウィンドウマネージャーは何ですか?
2つの異なるDPIを持つ2つの異なるモニターでウィンドウとアプリケーションを正しくスケーリングするウィンドウマネージャー/ディスプレイマネージャーについて、私が見つけた順列はまだありません。 約240 dpiのhidpi Dellノートブックに接続された、約110 dpiで動作する40インチ4kモニターを使用しています。hidpiでは小さすぎるアセット、または大きなモニターでは大きすぎるアセットを受け入れる必要があります。見た目が良くないだけです。はい、ある程度機能する「中間点」がいくつかあります。Unityは、ある程度、モニターごとにアセットのスケーリングを個別に許可しますが、それでもアプリケーション自体で問題が発生します。 Unity / Gnome 3 / KDE / I3、さらにはe17のさまざまな組み合わせを試しました。ディストリビューションは通常Ubuntuだったので、ほとんどの場合、ディスプレイマネージャー(私は思う)はlightdmでしたが、Fedora 22と、異なるディスプレイマネージャーを使用していると思うKubuntuも試しました。毎回非常に最新のバージョン/クリーンインストール。 常にスケーリング効果が不十分です。ベータ版ソフトウェアを実行してもかまいません。多少の不安定さは気にしません。私が気にしているのは視覚の不一致です。どこへ行くべきでしょうか?現在、これはどのディストリビューションでうまく機能していますか? 理想的には、一貫性を拡張するためにすべてのウィンドウマネージャーコンポーネントとアプリケーションが欲しいです。 ウェイランドを待つべきですか?今すぐ入手できますか?それで問題は解決しましたか? ミール?

4
プログラム出力リダイレクト
「〜より大きい数字」構文(例:)を使用してプログラム出力をリダイレクトしようとする場合foo 2> myfile、ここで考えられる数字は何であり、それらは何を表していますか? 1は/dev/stdout、2はだと思います/dev/stderr。5と6はどうですか?3、4、または6より大きい数はありますか?

2
xtermでは、「アイコン名」とは何ですか?
xterm(またはgnome-terminal)で次のコマンドを実行すると、いわゆる「アイコン名」が設定されます。 echo -en "\e]1;some_value\a" これは何をしますか? 「ウィンドウのタイトル」と「アイコン名」の両方を同じコマンドで同じ値に設定することが可能であることに注意してください。「アイコン名」が画像などへのパスである可能性があることを理解できません。

4
ラップトップの携帯電話で着信の通知を受け取るにはどうすればよいですか?
これは、携帯電話がバイブレーションモードになるためです。クラスから部屋に到着した後、ほとんどの場合、「一般」プロファイルに切り替えるのを忘れています。したがって、電話が私のポケットにないとき、私は多くの電話を逃します。 家に着くと、ラップトップは常にオンになります。したがって、デスクトップで電話の通知を受け取り、AFKの場合はラップトップで着信音を再生すると、すばらしいでしょう。 ラップトップがBluetoothカーオーディオシステムとしてAndroidフォンに表示され、(Arch)Linuxデスクトップで着信の通知を受け取ります。私はしていない WiFiまたはモバイルデータを必要とするソリューションを求めています。 LINCONNECTと呼ばれるアプリ/プロジェクトがこれを行いますが、WiFi経由です。しかし、私は利用可能なWLANを持っていません。それが私がbluetoothを主張する理由であり、これはバッテリーへの負担も少なくなります。 これは可能ですか?もしそうなら、どのように?そうでない場合、それを可能にする方法は?

5
Bash-スクリプトでホスト名を変更した後、PS1が適切なホスト名で更新されない
これは、stackoverflowからの私の投稿のコピーです。私はここでそれを尋ねるべきだったと思います... ホスト名を変更するスクリプトを実行して、適切なホスト名ですぐにbashプロンプト(PS1変数)を更新したいと思います。これを実現するにはどうすればよいですか? 私はこれを実行します #!/bin/bash # Usage: ./changehost <newhostname> #Do two sed's to edit the files for persistent hostname change sed -i s/$(hostname)/$1/g "/etc/hosts" sed -i s/$(hostname)/$1/g "/etc/sysconfig/network" #run the hostname command with new hostname to update it hostname $1 そのような端末でこれを入手する [user@host dir]# ./changehost newhostname [user@host dir]# しかし、私が欲しいのはこれです [user@host dir]# ./changehost …
11 bash  shell 

5
最初の行が特定のパターンに一致する場合にのみファイルの内容を印刷する方法は?
スクリプトを作成しています。ファイルの最初の行が特定のパターンに一致するかどうかを確認し、一致する場合はファイルを出力します。どうすればこれを達成できますか? パターンを確認するにはどうすればよいですか?パターンをチェックし、出力に基づいて何かを行う方法はありますか? 編集:この質問を見てください:https : //stackoverflow.com/questions/5536018/how-to-get-match-regex-pattern-using-awk-from-file このようなものが欲しいのですが、どれもうまくいきませんでした。基本的に、最初の行が正規表現パターンと一致するかどうかを確認し、それに基づいてファイルの行を出力します。

5
動的IPでインターネット経由で常にシステムにSSH接続できるように構成するにはどうすればよいですか?
基本的に、sshサーバー(マシンA)とsshクライアント(マシンB)の両方がインターネットアクセス(およびいくつかの3番目のサーバー、マシンC)を持っている限り、ネットワーク構成に関係なくteamviewerのようなことができるようにしたい)、私はアクセスを得ることができます-この理由は、マシンAを動かしたり、電源に接続したり、事前に構成されたいくつかのwifiネットワークのいずれかに自動接続したりできるようにすることです(それぞれ1つずつ/異なる) 、ネットワークでポート転送などを設定せずに、マシンBからインターネット経由でログインできる どうすればこれを達成できますか?ハンドシェイクを支援するために静的IPアドレスが設定されたサーバーに何かを設定してもかまいませんが、何かが既に存在する場合(たとえば、teamviewerの場合のように)サードパーティのサーバーも気にしません。 明確にするために編集:私は3台のマシン、ABとCを持っています Aは、ランダムな場所で電源がオン/オフになるヘッドレスラズベリーpiであり、事前に設定されたwifiネットワークに接続します Bは、接続したい適切なモニター、キーボードなどを備えたマシンです。 Cは静的IPアドレスを持つレンタルAWSサーバーであり、Bから確実にSSHで接続でき、BがAに接続するのに必要なものをすべてインストールできます
11 networking  ssh 

2
なぜbashはncursesにリンクするのですか?
私はこれに気づいたことがあると思いますが、あまり考えたことはありません。今私は興味があります。 > ldd /bin/bash linux-vdso.so.1 => (0x00007fff2f781000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f0fdd9a9000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f0fdd7a5000) libc.so.6 => /lib64/libc.so.6 (0x00007f0fdd3e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f0fddbf6000) Libtinfoはncursesの一部です。これはfedoraシステムですが、ubuntuでも同じです。raspbian(debianバリアント)ではlibncurses自体にもリンクしています。 これの理由は何ですか?私はbashのすべてがlibreadlineで実行できると思っていました(不思議なことに、リンクされていません)。これは単にその代わりになりますか?
11 bash  readline  ncurses 

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