Unix & Linux

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

2
「dnfリスト」のリポジトリ名の前にある「@」はどういう意味ですか?
インストール済みのパッケージを一覧表示する場合、通常は2つの方法のいずれかで行います。 昔ながらの方法ではを使用していますがrpm -qa | grep <whatever I look for>、それだけです。 しかし最近、パッケージをより包括的に表示したいと思ったため、今後はを使用しましたdnf list --installed <whatever I look for>。 しかし、結果を見ると、理解できないことがいくつかあります。 この例を考えてみましょう: # dnf list --installed zsh Last metadata expiration check: 0:13:25 ago on Mon Jul 11 05:48:04 2016. Installed Packages zsh.x86_64 5.2-5.fc24 @@commandline (実際の印刷ではスペースが広くなります) したがって、結果のエントリは«package»«version»«repo»です。 私の例では: パッケージ:zsh.x86_64 バージョン:5.2-5.fc24 リポジトリ:@@ commandline これまでのところ、結果のテーブルは理解できますが、リポジトリ名の前にある2つの「@@」の意味がわかりません。 また、「コマンドライン」は、パッケージがコマンドラインからインストールされたことを示しています(RPMをダウンロードしてdnf install …

5
シェルスクリプトでMySQLからの警告メッセージを抑制しますが、エラーを許可します
基礎となるいくつかのMySQLコマンドを使用してシェルスクリプトを実行しているときに、ログファイルが次のメッセージでダンプされます。 ここにメッセージがあります: 「警告:コマンドラインインターフェースでのパスワードの使用は安全でない場合があります。」 これらのメッセージを停止するには、次のジョブ定義を使用しています。 例: run_wrapper.sh |grep -v "Warning: Using a password" > output.log 2>&1 これは機能しましたが、MySQLエラーはに記録されていませんoutput.log。 次のように定義を変更すると、MySQLエラーが表示され始めます run_wrapper.sh > output.log 2>&1 では、問題は警告メッセージを抑制し、cron定義のみを使用してログファイルにSQLエラーを報告する方法です。

3
forループグロブ事故
私は、一連のディレクトリをループするスクリプトを設定しようとしています。.jpgファイルが見つかると1つ、.nefファイルが見つかると別のことを行います。たとえば、ディレクトリに.jpgファイル(または.nef)がない場合、グロブエントリは拡張されたグロブではなく、単なる文字列です。例えば: my_dir="pictures/" ext="JPG" for f in "$my_dir"*."$ext"; do echo $f done my_dirフォルダーに.JPGファイルが含まれている場合、それらはコマンドラインに正しくエコーされます。 pictures/one.JPG pictures/two.JPG ただし、my_dirに.JPGファイルがない場合は、ループが1回繰り返されてエコーします。 pictures/*.JPG グロブが一致しない場合にforループに入らないようにするには、これをどのように構築しますか?
10 bash  wildcards 




2
Linux-サポートされていないオプション機能(400)が原因でRDWRをマウントできませんでした
SDカードからAndroidを実行してみます。このカードは用意されています。パーティションがありますboot(FAT32)、rootfs(ext4)、system(ext4)、cache(ext4)とusedata(ext4)。ブートパーティションのu-ブートを実行するためにファイルがあります。MLO、u-boot.binとuImage。実行するには、コマンドを使用します mmcinit 0 fatload mmc 0 0x80000000 uImage setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2 root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4' bootm 0x80000000 Linuxがどのように起動するかがわかります。しかし、ロードのステップで数秒後rootfs、エラーメッセージが表示されます [ 4.015655] EXT4-fs (mmcblk1p2): couldn't mount RDWR because of unsupported optional features (400) [ 4.036499] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 4.079986] List of …

2
アーカイブファイルリストを即座に印刷(アーカイブ全体を解凍せずに)
.tar.gzアーカイブの問題は、アーカイブのコンテンツを一覧表示しようとすると、コンピューターが実際に圧縮解除することです。ファイルが大きい場合、これには非常に長い時間がかかります。 以下のような他のファイル形式は.7z、.rar、.zipこの問題はありません。それらの内容をリストすることはほんの一瞬です。 私の素朴な意見では、これは.tar.gzアーカイブ形式の大きな欠点です。 だから私は実際に2つの質問があります: .tar.gzこの欠点にもかかわらず、なぜ人々はそんなに多くを使うのですか? 「インスタントコンテンツリスト」機能が必要な場合、どのような選択肢がありますか(他のソフトウェアまたはツールを意味します)。

5
ディレクトリからのファイルの変更を検出するBashスクリプト
2秒間隔でディレクトリ内のファイルが変更されたかどうかを検出するスクリプトを作成しようとしています。これまでのところ、 #!/bin/bash for FILE in "${PWD}/*" do SUM1="$(md5sum $FILE)" sleep 2 SUM2="$(md5sum $FILE)" if [ "$SUM1" = "$SUM2" ]; then echo "Identical" else echo "Different" fi done これにより、値「同一」が1回だけ出力されます。各ファイルをチェックして、各ファイルの「同一」または「異なる」を出力します。 編集:これはinotify-toolsパッケージをインストールせずに実行できますか?

1
CTRL + P(アップ)およびCTRL + N(ダウン)の歴史的な起源は何ですか?
私は適度に経験のあるvimユーザーで、現在GNU emacsを使用し始めています。Ctrl- pとCtrl- nがemacsのアップとダウンのデフォルトであることを知ったのとほぼ同時に、それらはvimの通常モードのkとjのバリアントであることも学びました。 誰もがこれらのショートカットの起源を知っていますか?論理的にはp(revious)とn(ext)、または(u)pと(dow)nのどちらから来ていると思いますが、どのプログラム、システム、または標準が含まれていたのかを尋ねています。ランダムなemacsショートカットのいくつかがvimに借用された可能性は低いと思われるため、両方に含まれているため、おそらくemacsとvimの両方の前に存在すると思います。* Googleを使用してキーストロークの質問に対する答えを見つけるのは難しいですが、興味深いことに、一見包括的なWikipediaの記事では、「矢印キー」として言及されていません。 *トーマス・ディッキーとマークPlotnick問題のショートカットが1984 VI(原文のまま)に記載されていることをコメントで指摘している、とのおかげで1978年Emacsが参照する作品を、私は共通の起源の質問はまだ立っていると思います。

1
authorized_keysで任意のディレクトリに制限付きのrsync(rrsync)スクリプトを許可します
バックアップの自動化 Webサーバー(WebServer)からローカルバックアップサーバー(BackupServer)にさまざまなディレクトリからデータをコピーするバックアップソリューションを実装したいと思います。バックアップは無人で実行する必要があるため、パスワードなしの秘密鍵による鍵ベースの認証を使用したいと思います。 特権Rsync バックアップしたいディレクトリは、特権ユーザーだけが読み取ることができます。rsyncを使用してファイルをコピーしたいと思います。専用のバックアップユーザーを作成し、visudoルールでパスワードの入力を求められることなく、ユーザーがsudoでrsyncを実行できるようにしました。 backup-user ALL = NOPASSWD: /usr/bin/rsync セキュリティに関する考慮事項 WebServerのauthorized_keysファイルにコマンドのリストを追加して、バックアップユーザーが実行できるコマンドを制限することで、セキュリティを向上させたいと思います。この投稿で述べたようにrrsyncをインストールしました。 command="/usr/bin/rrsync",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAA134143NzaC1yc... Rrsyncはサブディレクトリを期待します 通常のrsyncとは対照的に、rrsyncは、このブログの投稿で説明されているように、承認されたキーファイルにサブディレクトリが提供されることを期待しています command="/usr/share/rsync/rrsync /var/backup/client1/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa この制限は機能しますが、特定のディレクトリ、つまり/ var / backup / client1 /のみをバックアップできます rsyncコマンドでBackupServerからバックアップしたいディレクトリを提供したいと思います。rsyncとまったく同じようにrrsyncを使用する可能性はありますか? rsync -avze ssh --rsync-path='sudo rrsync' backupuser@111.222.33.44:/media/data /backups/Server/ 追加の説明 authorized_hostsのcommand = "..."部分は、このユーザーの実行可能なコマンドを提供されたものに正確に制限していることを認識していますが、通常のrsyncを使用して、次のようにして、バックアップするパスを指定できます。パラメータ: command="/usr/bin/rsync --server --sender -vlogDtpre.is . ${SSH_ORIGINAL_COMMAND//* \//\/}" これはrrsyncでは機能しません。 承認されたソリューション 技術的にはこの質問に対する明確な回答ではありませんが、Gillesによって投稿されたソリューションは非常に優れたアプローチだと思います。バックアップする実際のディレクトリのすべてのビューのルートフォルダを作成しました。このため、認証をrrsyncのみに安全に制限できます。 One time …
10 ssh  rsync  backup 

3
Debianのxfceで永続的な解決を設定する方法
VMWare上でDebian Jessieを実行しています。デフォルトの解像度は800x600です。で1360x768に設定できxrandrますが、次回ログインしたときはまだ800x600です。 インターネット上のいくつかの投稿は、私のxorg.confファイルを編集すると言っていました。私は実行しXorg -configure、xorg.conf.newファイルを取得しました。テストしてみましたが、画面が黒いままです(startx設定なしで実行すると問題なく動作します)。 他の一部の投稿では、このディレクトリ(.config/xfce4/xfconf/xfce-perchannel-xml)のdisplay.xmlファイルを編集すると述べていますが、display.xmlファイルがありません。 これを行う方法はありますか? ログファイル:http : //pastebin.com/YaFrfnum confファイル:http : //pastebin.com/nYGg06TJ

3
ビデオが完全にダウンロードされたかどうかを確認するにはどうすればよいですか?
完成した動画かどうかを確認したい動画がたくさんあります。一部は部分的にダウンロードされる場合がありますが、問題はありません。これらのビデオが完全にダウンロードされたかどうかを効率的に確認するにはどうすればよいですか? リンクがあれば、サイズを確認していましたが、確認していませんでした。 私が使用しようffprobeとmediainfo。ffprobeは部分的にダウンロードされたファイルに関する軽微な問題を報告しますが、完全にダウンロードされたファイルのいくつかに関する同様の問題も報告します。ffmpegファイル全体を読み取って動画の長さを比較し、ダウンロードされたかどうかを確認するために使用する必要がありますか?より良い解決策はありますか?

3
ベアメタルにKVMをインストールすることは可能ですか?
KVMのインストールに関する多くのサイトとチュートリアルを試しましたが、どのチュートリアルにも「XYZ OSにKVMをインストールする」と書かれています。 KVMはタイプ1(ベアメタル)ハイパーバイザーです。では、KVMをハードウェアの上に直接インストールしないでください。 ESXiのようなOSなしで完全にベアメタルにKVMをインストールすることは可能ですか? ESXiの場合、OSは必要ありません。メディアから直接インストールできます。私たちの目標は、 OSのないベアメタルCPUにKVMハイパーバイザーを直接インストールすることです。

1
カーネルスレッドはプロセスとデーモンですか?
MauererのLinuxカーネルアーキテクチャから、 カーネルスレッドは、カーネル自体によって直接開始されるプロセスです。カーネル機能を別のプロセスに委任し、そこでシステムの他のプロセスと「並列」で(そして実際には、カーネル自体の実行と並列に)実行します。カーネルスレッドは、しばしば(カーネル)デーモンと呼ばれます。たとえば、以下のタスクを実行するために使用されます。 変更されたメモリページを、ページの作成元のブロックデバイス(たとえば、mmapを使用してマップされたファイル)と定期的に同期します。 めったに使用されないメモリページをスワップ領域に書き込むため。 遅延アクションを管理するため。 ファイルシステムのトランザクションジャーナルを実装します。 基本的に、カーネルスレッドには2つのタイプがあります。 タイプ1 —スレッドは開始され、特定のアクションを実行するようカーネルから要求されるまで待機します。 タイプ2 —開始されると、スレッドは定期的な間隔で実行され、特定のリソースの使用率をチェックし、使用率が設定された制限値を超えるか下回ったときにアクションを実行します。カーネルは、このタイプのスレッドを継続的な監視タスクに使用します。 Mauererの本には、カーネルスレッドはプロセスであると記載されているため、カーネルモードではなく、ユーザーモードで実行する必要があると思います。(または私は間違っていますか?プロセスは、ユーザーモードまたはカーネルモードのいずれかで異なる時間に実行できますか、それとも1つのモードだけで実行できますか?) しかし、BovetのLinuxカーネルの理解によると、カーネルスレッドはカーネルモードでのみ実行されます(下の引用を参照)。2冊の「カーネルスレッド」の概念は同じ概念ですか? 従来のUnixシステムは、ディスクキャッシュのフラッシュ、未使用のページの交換、ネットワーク接続のサービスなど、いくつかの重要なタスクを断続的に実行するプロセスに委任しています。実際、これらのタスクを厳密に直線的に実行することは効率的ではありません。それらの機能とエンドユーザープロセスの両方がバックグラウンドでスケジュールされていると、応答が向上します。一部のシステムプロセスはカーネルモードでのみ実行されるため、最近のオペレーティングシステムは、不要なユーザーモードコンテキストに邪魔されないカーネルスレッドに機能を委任します。Linuxでは、カーネルスレッドは次の点で通常のプロセスと異なります。 カーネルスレッドはカーネルモードでのみ実行されますが、通常のプロセスはカーネルモードとユーザーモードで交互に実行されます。 カーネルスレッドはカーネルモードでのみ実行されるため、PAGE_OFFSETより大きい線形アドレスのみを使用します。一方、通常のプロセスは、ユーザーモードまたはカーネルモードのいずれかで、4ギガバイトのリニアアドレスをすべて使用します。 Mauererの本は、カーネルスレッドはカーネルによって直接開始されると述べており、デーモンはカーネルスレッドの同義語であるとも言われているようです。したがって、デーモンはカーネルによって直接開始される必要があると思います。 しかし、https://unix.stackexchange.com/a/193918/674によると、screenデーモンはscreenユーザーインターフェイスによって起動されます(下の引用を参照)。screenユーザーインターフェースはカーネルではなくプロセスだと思います。概念であるdaemonMauererの本の中で、リンクされた回答では、同じ概念? を最初に起動するとscreen、実際にはユーザーインターフェイス(ui)が開始されます。これにより、デフォルトでデーモン(セッションマネージャー)が作成されます。 一般的に、「カーネルスレッド」、「プロセス」、および「デーモン」の概念、それらの関係および違いをどのように理解しますか?

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