Unix & Linux

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

3
パッケージの数に基づくLinuxディストリビューションのランキングとは何ですか?
私は少なくともトップ10のLinuxディストリビューションのハードデータ、または(より良い)そのようなデータを保持し、(おそらく)すべてのリポジトリを表示するために時々更新するWebページのアドレスを探しています。 基準は-ネイティブの数(SUSEの場合はrpm、Ubuntuの場合はdebなど)パッケージプログラム、ライブラリ、および(インストールCD / DVDではなく)リポジトリで利用可能です。たとえば、ライブラリは、10個のパッケージ(ARM、Intel、SPARCなど)があるからといって、10ではなく1としてカウントされます。 前もって感謝します。 なぜ私がこれについて尋ねているのか興味があるなら。さて、リポジトリを検索して、パッケージがないことを見つけ、そのzip / gz / bz2をダウンロードし、rpmの作成方法を見つけるのに少し疲れています(たとえば、Rattleなどの別のソフトウェアの最上層ソフトウェアの場合簡単なタスクではありません)、最後にインストールします。したがって、このようなランキングで上位にある他のディストリビューションを検討するのは良いことです。

8
複数行のgrepを実行する方法
2行に表示されるテキストに対してgrepをどのように実行しますか? 例えば: pbsnodes Linuxクラスタの使用率を返すコマンドです root$ pbsnodes node1 state = free procs = 2 bar = foobar node2 state = free procs = 4 bar = foobar node3 state = busy procs = 8 bar = foobar 「フリー」状態のノードに一致するprocの数を判別したい。これまで「procの数」と「フリー状態のノード」を特定できましたが、それらをすべてのフリーprocを表示する1つのコマンドに結合したいと思います。 上記の例では、正解は6(2 + 4)になります。 私が持っているもの root$ NUMBEROFNODES=`pbsnodes|grep 'state = free'|wc -l` root$ echo $NUMBEROFNODES …

5
BashでN回のうち1回コマンドを実行する方法
コマンドをランダムに実行する方法、たとえば10回のうち1回が必要です。これを行うための組み込みまたはGNU coreutilはありますか?理想的には: chance 10 && do_stuff do_stuff10回に1回しか実行されないのはどこですか?スクリプトを記述できることは知っていますが、それはかなり単純なことのように思え、定義された方法があるかどうか疑問に思っていました。

6
複数のファイルを標準入力経由で渡す(ssh経由)
リモートホストにプログラムがあり、その実行を自動化する必要があります。コマンドは同じマシンでそのプログラムを実行し、次のようになります。 /path/to/program -a file1.txt -b file2.txt この場合には、file1.txtとfile2.txt私はちょうどことはできませんので、プログラム内の全く異なるもののために使用されているcatそれらを一緒に。しかし、私の場合には、file1.txtとfile2.txt私はプログラムに渡したいことはありません、私はプログラムを実行する必要があるホスト上で、私のデバイス上にのみ存在します。少なくとも1つのファイルをSSH経由で渡すことができることを知っていますstdin。 cat file1.txt | ssh host.name /path/to/program -a /dev/stdin -b file2.txt しかし、ファイルをホストに保存することは許可されていないので、file2.txtそこにもアクセスする方法が必要です。環境変数の悪用と創造的な使用catとsed一緒に使用することで可能になると考えていますが、ツールを使用してこれを達成する方法を理解するのに十分なツールがわかりません。それは実行可能ですか?

1
Debian 9:ドイツ語ロケールで英語を設定するには?
私が使用したい英語とドイツのロケール設定を。 現在、私のシステムは次のセットアップで実行されています(Debian Expert Installerのインストール手順中に設定されます): 言語: English - English (Default) 国、地域、または地域: other -> Europe -> Austria デフォルトのロケール設定の基礎となる国: United States - en_US.UTF-8 キーボード: German 私の質問は次のとおりです。 英語を保持しながら、現在のロケール(United States - en_US.UTF-8)を目的のドイツ語ロケール(de_DE.UTF-8)に切り替えるにはどうすればよいですか? エラーが発生したため、インストール手順中にこれは不可能でした(「無効な言語/ロケール設定の組み合わせが検出されました」)。

1
エラータによりTSC_DEADLINEが無効になりました
私は診断のためにコンピューターをメーカーに送り、ビデオ出力の問題を解決しました。彼らはBIOSを更新しました。それ以来、私は [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later) 私は持っていなかったマイクロコードまたはucodeの前にインストールされたパッケージを、私はこのメッセージを取得するために使用されていませんでした。 メーカーに問い合わせたところ、「チケット番号を覚えていないがBIOSを更新したのではないか」と答えたため、あまり役に立ちません。 起動して動作しますが、TSC_DEADLINEは重要ですか? 私が見つけることができるのはこれだけです:https : //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8 しかし、それはVirtualBoxにのみ適用されるようで、いずれにせよ、すでにカーネル4.14を実行しているので、そのコミットが既に持っている問題を修正するかどうかを考えます。 ryan@pocketwee:~$ uname -a Linux pocketwee 4.14.0-1-amd64 #1 SMP Debian 4.14.2-1 (2017-11-30) x86_64 GNU/Linux

5
フォルダー内の数百万の(小さな)テキストファイル
Linuxファイルシステムに数百万のテキストファイルを保存し、圧縮して任意のコレクションをサービスとして提供できるようにします。キー/値データベースのような他のソリューションを試しましたが、並行性と並列性の要件により、ネイティブファイルシステムを使用することが最良の選択です。 最も簡単な方法は、すべてのファイルをフォルダーに保存することです。 $ ls text_files/ 1.txt 2.txt 3.txt これは、フォルダ内のファイル数に制限のないEXT4ファイルシステムで可能です。 2つのFSプロセスは次のとおりです。 Webスクレイプからテキストファイルを書き込みます(フォルダー内のファイルの数に影響されません)。 ファイル名のリストで指定された、選択したファイルを圧縮します。 私の質問は、1つのフォルダーに最大1,000万個のファイルを保存すると、上記の操作のパフォーマンスや一般的なシステムパフォーマンスに影響しますか?


6
Debianはなぜデフォルトでファイアウォールが有効になっていないのですか?
私はDebian 9.1をKDEで使用していますが、なぜデフォルトでファイアウォールがインストールされて有効になっていないのでしょうか?gufwはDVD1のパッケージにも含まれていません。 ファイアウォールを取得する前にインターネットに接続することを期待されていますか?どうして?すべてのポートがデフォルトで閉じられていても、さまざまなインストール、更新、またはダウンロードされたプログラムがそれらを開くことができますか(開かないか?) 編集:だから私はiptablesについて知りましたが、ファイアウォールはほとんど知られていないように見えるため、質問はまだiptablesのままであると思います、デフォルトのルール、アクセス性と使いやすさ、デフォルトですべてのiptable-rulesがリセットされるという事実再起動時。

8
個別の行を引用符付きのエントリを含むコンマ区切りリストに変換する
次のデータ(Rmarkdownファイルから解析されたRパッケージのリスト)があり、それをインストールのためにRに渡すことができるリストにしたい: d3heatmap data.table ggplot2 htmltools htmlwidgets metricsgraphics networkD3 plotly reshape2 scales stringr リストをフォームのリストに変換したい: 'd3heatmap', 'data.table', 'ggplot2', 'htmltools', 'htmlwidgets', 'metricsgraphics', 'networkD3', 'plotly', 'reshape2', 'scales', 'stringr' 現在、生ファイルから上記のリストに移動するbashパイプラインがあります。 grep 'library(' Presentation.Rmd \ | grep -v '#' \ | cut -f2 -d\( \ | tr -d ')' \ | sort | uniq 新しい行をコンマ区切りリストに変換するためのステップを追加したいと思います。を追加しようとしましたがtr '\n' …
15 linux  sed  csv  tr 

3
コード「{exec> / dev / null; }> / dev / null」内部で何が起きているのでしょうか?
execリダイレクションを含むコマンドリストをリダイレクトする場合、exec> / dev / nullは後で適用されるようには見えません: { exec >/dev/null; } >/dev/null; echo "Hi" 「こんにちは」と印刷されます。 {}コマンドリストはパイプラインの一部でない限り、サブシェルとは見なされないためexec >/dev/null、現在のシェル環境内でコマンドリストを適用する必要があるという印象を受けました。 これを次のように変更すると: { exec >/dev/null; } 2>/dev/null; echo "Hi" 期待どおりの出力はありません。将来のコマンドでも、ファイル記述子1は/ dev / nullをポイントしたままです。これは再実行によって示されます: { exec >/dev/null; } >/dev/null; echo "Hi" 出力されません。 私は台本を作ってそれを追跡しようとしましたが、ここで何が起こっているのか正確にはわかりません。 このスクリプトの各ポイントで、STDOUTファイル記述子はどうなりますか? 編集:私のstrace出力の追加: read(255, "#!/usr/bin/env bash\n{ exec 1>/de"..., 65) = 65 open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) = …

1
メールボックス内のメッセージを一覧表示するにはどうすればよいですか?
mailコマンドを使用すると、持っているメッセージが表示され、プロンプトにドロップされますが、メッセージをリストする方法がわかりません。メールのヘルプ画面は次のとおりです。 Mail Command Description ------------------------- --------------------------------------------- t [message list] type messages(s). more [message list] read message(s), through the $PAGER n goto and type next message. e [message list] edit message(s) f [message list] give head lines of messages. d [message list] delete message(s). s [message list] <file> append message(s) to …

5
コマンドラインからgnome 3のキーボードレイアウトを変更する方法
gnome 3.22.1を使用していますが、3.18以降に問題があります。 その前に(正確なバージョンを覚えていない)、フードの下でX.orgバインディングを使用する単純なアプリケーションであるxkb-witchを使用してキーボードレイアウトを切り替えることができました。 3.18以降、xkb-switchを実行すると、gnomeでキーボードレイアウトが切り替わりません。さらなる調査により、レイアウトの切り替えが機能していることが示されましたが、非常に短時間です。 このスクリプトを実行する場合: for i in $(seq 1000); do lang=$(xkb-switch -s ru; xkb-switch); if [[ "$lang" == "ru" ]]; then echo $lang; fi; done あなたがどれだけ幸運であるかに応じて、3〜20回の「成功した」レイアウト切り替えが得られます。 この問題をグーグルで調べた後、私は次のアドバイスをします。 gsettings set org.gnome.desktop.input-sources current 0 設定は変更されていますが、レイアウトは同じままです。 レイアウトを変更する1つの「ハッキング」メソッドを見つけました。 setxkbmap us,ru setxkbmap ru,us しかし、gnomeシェルはその変更を認識せず、レイアウトインジケーターに間違った言語を表示します。 この問題について投稿しました(申し訳ありませんが、評判が足りません、https://bbs.archlinux.org/viewtopic.php?pid = 1657582 https://github.com/ierton/xkb-switch/issues/15)、しかし、良い答えを得ることができなかった。 そして、この時点で立ち往生しています。私はgnomeシェルコードの問題を特定するのに十分なスキルがありません。それが(gnome shellの)問題なのかどうかさえわかりません。 私が欲しいのは、ターミナルからキーボードのレイアウトを切り替えるgnome対応の方法です。誰かが私を正しい方向に向けることができますか?これをバグとして報告する必要がありますか(特に、gsettingsを使用してキーボードレイアウトを変更できないという事実)。

3
ファイルの「まばら」を出力するにはどうすればよいですか?
実際にファイルの公称サイズのどれだけがデータで満たされているかを出力するにはどうすればよいですか?同様に、vmtouch現在どのくらいのファイルがメモリにあるかを示します... ワークフローは次のようになります。 $ fallocate -l 1000000 data $ measure_sparseness data 100% $ fallocate -p -o 250000 -l 500000 data $ measure_sparseness 50% 回避策:それらを使用du -bshしdu -shて比較します。

4
bashスクリプトを使用してコンソールの幅を取得する
スクリプトを使用して端末のサイズを取得しようとする問題が発生しています。通常tput cols、コンソール内でコマンドを使用しますが、スクリプトを厳密に使用してこの機能を実現できるようにしたいと考えています。 今のところ、実行中のコンソールを検出し、そのファイルパスを取得できます。ただし、この情報を使用してコンソールの幅を取得するのに苦労しています。私はコマンドを使用しようとしましたtputが、Linux /スクリプトにはかなり慣れていないので、どうすればよいかわかりません。 これを行う理由は、コンソールにその幅/列を頻繁に通知するcronエントリを設定できるようにすることです。 これはこれまでの私のコードです: tty.sh #!/bin/bash #Get PID of terminal #terminal.txt holds most recent PID of console in use value=$(</home/test/Documents/terminal.txt) #Get tty using the PID from terminal.txt TERMINAL="$(ps h -p $value -o tty)" echo $TERMINAL #Use tty to get full filepath for terminal in use TERMINALPATH=/dev/$TERMINAL echo $TERMINALPATH …

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