Unix & Linux

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

6
GNU Parallelを使用してrsyncを並列化する
rsyncスクリプトを使用して、あるホストのデータを別のホストのデータと同期させています。データには、ほぼ1.2 TBに寄与する多数の小さなサイズのファイルがあります。 これらのファイルを同期するためにrsync、次のコマンドを使用しています。 rsync -avzm --stats --human-readable --include-from proj.lst /data/projects REMOTEHOST:/data/ proj.lstの内容は次のとおりです。 + proj1 + proj1/* + proj1/*/* + proj1/*/*/*.tar + proj1/*/*/*.pdf + proj2 + proj2/* + proj2/*/* + proj2/*/*/*.tar + proj2/*/*/*.pdf ... ... ... - * テストとして、これらのプロジェクトのうち2つ(8.5GBのデータ)を選択し、上記のコマンドを実行しました。順次プロセスであるため、完了までに14分58秒かかります。したがって、1.2TBのデータの場合、数時間かかります。 複数のrsyncプロセスを並列に実行できる場合(&、xargsまたはを使用parallel)、時間を節約できます。 私はparallel(cdソースディレクトリにingした後)で以下のコマンドで試しましたが、実行に12分37秒かかりました: parallel --will-cite -j 5 rsync -avzm --stats --human-readable {} REMOTEHOST:/data/ …

2
パッケージに関してEL5とEL6は何を意味しますか?
Citrix XenServerでCentOSを使用しています。 [root@xen01 shm]# uname -a Linux xen01 2.6.32.43-0.4.1.xs1.8.0.855.170800xen #1 SMP Mon Jul 21 05:12:35 EDT 2014 i686 i686 i386 GNU/Linux [root@xen01 shm]# lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch Distributor ID: XenServer Description: XenServer release 6.2.0-70446c (xenenterprise) Release: 6.2.0-70446c Codename: xenenterprise http://sourceforge.net/projects/apcupsd/files/rpms%20-%20Stable/3.14.10/apcupsd-3.14.10-1.el5.i386.rpm/downloadからapcupsdパッケージをインストールしました しかし、過去1年間に新しいバージョンがあり、RPMは3.14.12に更新されなかったようです。 しかし、私はこのバージョンを見つけました:https : //admin.fedoraproject.org/updates/FEDORA-EPEL-2014-4191/apcupsd-3.14.12-1.el6 パッケージに関してEL5とEL6の正確な意味を知りたい。後者は依存関係のために失敗しますが、EL6パッケージをインストールできますか?

3
すべてのシェル変数をリストするにはどうすればよいですか?
この質問について読む:zshでは、どのようにしてすべての環境変数をリストできますか?、私はどうすればすべてのシェル変数をリストできますか? また、シェル変数と環境変数の区別は、zsh以外のシェルにも適用されますか? 私は主にBashとZshに興味がありますが、他の主流のシェルでこれを行う方法を知ることは素晴らしいことです。

4
#!/ bin / shまたは#!/ bin / bashを使用して、Ubuntu-OSXの互換性と使いやすさ、POSIXを実現します。
いずれかのスクリプトを最初の行として使用して、目的のシェルを呼び出すことができることを知っています。 う#!/bin/sh、すべてのUNIXシステムとの互換性が絶対条件である場合にはお勧めできますか? 私の場合、私が気にしているOSはUbuntu(Debian)とOSXだけです。それを考えると、#!/bin/bash両方のシステムで使用できると確信できますか? これにより、コマンドの構文がより近代的で明確なスクリプトを使用しやすくなりますか?#!/bin/sh使用はPOSIXの使用にも関連していますか?
18 bash  shell  ubuntu  osx  posix 


1
名前付きパイプがファイルへの書き込みと同じくらい遅いのはなぜですか?
一方向のプロセス間通信を効率化できるように、名前付きパイプがどのように機能するかを理解しようとしています。データを循環バッファーにコピーするため、オーバーヘッドが発生することが予想されますが、これはRAMに格納されていると考えられますが、ファイルに書き込むよりもパイプがはるかに高速であると予想しました(RAMはディスクよりも桁違いに高速であるため)。 代わりに、名前付きパイプ(または匿名パイプ)がファイルとほぼ同じ速度であることがわかりました。これは、Ubuntu Linuxを実行している通常のディスクドライブ(ソリッドステートではない)を備えた3 GHzデスクトップ上にあります。Pythonの簡単なテストプログラムを次に示します。 import sys import time import random megabyte = "".join(random.choice("abcdefghijklmnopqrstuvwxyz") for x in range(1024**2)) while True: before = time.time() sys.stdout.write(megabyte) after = time.time() sys.stderr.write("{} microseconds\n".format(1e6 * (after - before))) まっすぐに配管/dev/null: python test.py > /dev/null メガバイトごとに2.1マイクロ秒(定数)を生成します。 ファイルへのパイピング: python test.py > /tmp/testout.txt 500マイクロ秒から930マイクロ秒の間でジャンプします(ファイルが大きくなるにつれて、より大きな値がより一般的になります。おそらくディスクスペースを探しているためです)。 次に、名前付きパイプ: mkfifo testpipe cat testpipe > …
18 fifo 

4
「inodeサイズ」と「inodeあたりのバイト数」の違いは何ですか
以下の情報はマニュアルページから取られていますが、バイトあたりのiノードとiノードのサイズの違いを知りたいですか? -i bytes-per-inode バイト/ iノードの比率を指定します。mke2fsは、ディスク上のスペースのバイトあたりのバイトごとにiノードを作成します。バイトあたりのiノードの比率が大きいほど、作成されるiノードは少なくなります。通常、この値はファイルシステムのブロックサイズよりも小さくする必要があります。そうすると、iノードが多くなりすぎてしまいます。このパラメーターの値。 -I inode-size bytes.mke2fsで各iノードのサイズを指定すると、デフォルトで256バイトのiノードが作成されます。2.6.10以降の一部の以前のベンダーカーネルでは、パフォーマンスを向上させるために、128バイトを超えるiノードを使用して拡張属性を格納することができます。iノードサイズの値は、2のべき乗以上である必要があります。 -iノードテーブルが消費するスペースを増やすと、ファイルシステムの使用可能なスペースが減り、パフォーマンスに悪影響を与える可能性がありますファイルシステムの作成後にこの値を変更することはできません。
18 linux  ext2  mkfs 

2
ipv6デフォルトルートを追加する方法
私は次のセットアップを持っています Linux 1 Linux 0 eth1 eth0-------------------eth0 14.14.14.80 19.19.19.20 19.19.19.10 2005::5/64 2004::3/64 2001::3/64 Linux0から、ping 14.14.14.80 or 19.19.19.20(19.19.19.20デフォルトのGWとして追加された)ができLinux1、また、ipv4転送が有効になりました。の場合ipv6、2004::3/64デフォルトのipv6ゲートウェイとしてに追加できませんLinux0。私は試した ip -6 route add default via 2004::3 そして ip -6 route add default via 2004:: しかし、エラーが発生します RTNETLINK answers: No route to host ここに何が欠けていますか?
18 ipv6  route 

2
キーの<プライマリ>とは何ですか?
私はdconf-editorに奇妙なショートカットを見ました: &lt;Primary&gt;&lt;Alt&gt;KP_End なに&lt;Primary&gt;? Above-Tabキーも見ました。私はそれが何を指しているのかを完全に理解していますが、それらのキー名は定義されていましたか?


3
awk、sedを使用して特定のパターンを持つ行の一部を抽出する
awk / sed演算子に関して質問があります。次の一連の行が繰り返される大きなファイルがあります Expression loweWallrhoPhi : sum=-6.97168e-09 Expression leftWallrhoPhi : sum=6.97168e-09 Expression lowerWallPhi : sum=-5.12623e-12 Expression leftWallPhi : sum=5.12623e-12 Expression loweWallrhoUSf : sum=-6.936e-09 Expression leftWallrhoUSf : sum=6.97169e-09 Expression lowerWallUSf : sum=-5.1e-12 Expression leftWallUSf : sum=5.12624e-12 それぞれの場合の合計後の値を個別のファイルに抽出したい。一度に行うことは可能ですか?

2
サブシェルで変数が表示されるのはなぜですか?
Learning Bash Bookでは、サブシェルは環境変数とファイル記述子などのみを継承し、エクスポートされない変数は継承しないと述べています。 $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ 私が知っているようにシェルがために2つのサブシェルが作成されます()とのために./file、なぜに()ケースを識別サブシェルんvarそれはエクスポートされませんが、変数をし、中./fileケース、それはそれを識別しませんでしたか? # Strace for () clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f24558b1a10) = 25617 # Strace for ./file clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f24558b1a10) = 25631 私が使用しようとstrace、この問題が発生したかを把握すると、驚くほど私はbashがクローンシステムコールのために同じ引数を使用します見つけ、中にフォークプロセスの両方、この手段はそう()と./file、親の同じプロセスアドレス空間を持つ必要があり、なぜこの()場合、変数はサブシェルに表示され./file、同じ引数はクローンシステムコールに基づいていますが、同じことはケースに起こりませんか?
18 bash  shell  subshell 


2
最初の一致でssh構成を停止する
.ssh構成ですべてのホストのローカルプロキシを追加しましたが、proxyコマンドを使用せずにローカルvmにシェルする必要があります。私のssh試行の出力: debug1: /Users/bbarbour/.ssh/config line 1: Applying options for local.dev debug1: /Users/bbarbour/.ssh/config line 65: Applying options for * 次のssh構成が与えられた場合、ProxyCommandがlocal.devエントリに適用されないようにするにはどうすればよいですか? Host local.dev HostName dev.myserver.com User developer ... Host * ProxyCommand /usr/local/bin/corkscrew 127.0.0.1 8840 %h %p
18 ssh 

3
Gitページャーは少ないですが、出力の色付けの原因は何ですか?
lessこのスレッドによると、それ自体は構文の強調表示を行うことができません。 ただし、git diffデフォルトのページャーであるカラー出力をより少なく表​​示します。の出力をgit diffファイルにリダイレクトすると、カラーエスケープシーケンスが表示されません。 DOESは、git diffそれが送信され、それに応じて出力をフォーマットのWHERE知っていますか?どうすればいいですか? gitがdiff出力(たとえばgit diff)に色を付けることに気付いたのですが、構文の強調表示の一般的な方法がわかりません。例えば git show 415fec6:log.tex TeXに似た構文を有効にしません。 gitソースを読んで、私は次のヒントを見つけました でdiff.h: int use_color; 以前は構文の強調表示について言及していましたが、それは正しくありませんでした。私が意味するのは、出力の色付けです。たとえば
18 colors  git  diff  pager  colordiff 

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