Unix & Linux

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

4
rsync、送信側で削除された受信側のファイルを削除します。(しかし、すべてを削除しないでください)
rsyncを使用して... 送信側でも削除された受信側のファイルを削除する 受信側のrsyncedディレクトリにある他のファイルを削除しない たとえば、私がディレクトリを持っているとしましょうlocal-src: 変更前: local-srcローカルに含まれる... a.txt b.txt c.txt toのコンテンツに同期したいリモートディレクトリlocal-srcはという名前remote-srcです。 変更前: remote-srcリモートで含む... a.txt b.txt c.txt d.txt README.md 私がいくつかのファイルを削除したとしましょうlocal-src: ローカル削除後: local-srcローカルに含む... c.txt ソースで削除されたファイルが宛先でも削除されるように、ただし宛先で他のファイルを削除せずに、rsyncをどのように使用できますか?たとえば、宛先で次のようにしたいとします。 ローカル削除後: remote-srcリモートに含む... c.txt d.txt README.md つまり、a.txtおよびb.txtリモートからも削除されますが、d.txtとREADME.txt放置されています。 rsyncでこれを達成する方法はありますか? 編集:評決はこれがrsyncでは不可能かもしれないということであるようです。これが必要な理由を尋ねられたので、私のユースケースを説明します。 Webサーバーがあるとします。そのWebサーバーには、多数のディレクトリがあります。たとえば、ディレクトリAとpublic_htmlサイトの提供元のディレクトリがあるとします。ディレクトリにファイルを作成する自動化されたプロセスがあるとしますA。内にある可能性のある他の任意のファイルを削除せずに、ディレクトリに生成または更新されたファイルをrsync(または他のツールを使用して同期)したい。rsyncが誤って自分のウェブサイトを削除して欲しくないのは確かです。Apublic_htmlpublic_html rsyncがこのジョブのツールではない場合、他の誰かが私がこれを行う方法を知っていますか?
9 rsync 

3
XサーバーはDPIをどのように計算しますか?
Xfce Docsから: Xサーバーによって計算されたDPI(dots per inch)の値を上書きする場合は、チェックボックスを選択し、スピンボックスを使用して、画面がフォントをレンダリングするときに使用する解像度を指定できます。 しかし、 Xサーバーはその計算をどのように行うのでしょうか。プロセスでどのような仮定が行われ、一部のパラメーターをオーバーライドできますか? ディスプレイにあるピクセル数はわかっているかもしれませんが、それで十分ですか?

4
SSHが突然機能しなくなった:「書き込み失敗:パイプの破損」
私は自宅でMacBook Proを使用しており、自分の研究室のマシンに定期的にSSHで接続しています。ただし、過去3〜4日間、ラボのマシンにSSHで接続するたびに、sshを実行してから2分以内にWrite Failed:Broken Pipeエラーが発生します。 数日前にすべてが完全に機能していたという事実は私を困惑させます。
9 networking  ssh  ip 

1
一時ディレクトリとして `/ run / shm`(以前は` / dev / shm`)を使用します
/run/shm(以前は/dev/shm)にディレクトリを作成し、それをアプリケーションの一時ディレクトリのように使用することは良い習慣ですか? 背景:ファイルとディレクトリを使って多くのことを行うプログラムのブラックボックステストを書いています。すべてのテストで、多くのファイルとディレクトリを作成してからプログラムを実行し、次に予想されるファイルとディレクトリのセットを作成してから、diffを実行して比較します。現在、約40のテストがあり、実行に2秒以上かかっています。スピードアップを期待して、ある種のramdisk上のディレクトリでテストを実行したいと思います。 ram diskについて調べたところ、ディレクトリを作成して一時ディレクトリのように使用しても大丈夫であるとの回答で質問に遭遇しました/dev/shm。しかし、さらに調べてみると、直接使用するのは誤りであるとdebianのwikiページに出くわしました/dev/shm。shm_*関数を使用する必要があります。残念ながら、shm_*関数はシェルスクリプトで使用できないようです。 今私は混乱しています。一時ディレクトリのように/run/shm(以前は/dev/shm)使用しても大丈夫ですか?

1
vi [m]別のファイルから行の範囲を読み取ります
Linuxでは、file_Bvim で編集していfile_Aます。から10-25行目を追加します。例:ヘッダーがまったく同じHTMLドキュメントのセット全体があり、テンプレートを作成してそこから開始することもできますが、次のようになります。 1つのファイルから一定範囲の行を挿入し、現在編集中のファイルに追加するためのシンプルでエレガントな方法を探しています。vimで。 私がこれまでに見つけた解決策は、私が探しているものではありません。 file_Bコマンド内で:read file_A * file_A *全体をfile_Bに追加します。過度に vim内にコピー&ペーストがありますが、このためには、開いている必要があります file_A file_Aの 内部で:10,25w! file_Bは、指定された範囲の行をに送信しfile_Bます。これはコピー&ペーストにかなり近いようです vimで複数のウィンドウを開くことができますが、8インチの画面で作業していると、複数のウィンドウが向きを難しくします 私は快適な解決策を見つけることができなかったので、私は何かを誤解しているか、それまでに見つけた方法が一般的に使用され、標準的な方法として採用されているのだろうかと思います。
9 linux  vim  copy-paste 

3
GRUB2からsyslinuxをチェーンロード-syslinux.cfgメニューを表示
システムのイメージを再作成するためにClonezillaライブUSBディスクを使用しています。http://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.docで説明されている内容に従って、ディスクに含まれるメニューが表示されますでsyslinux.cfg私はとプロンプトが表示されていますUEFIマシン(とBIOSが最初のUEFIデバイスからブートするように設定されている)されている非常に最新のものを除くすべてのシステムのためgrub.cfgのメニュー。メニュー を大幅にカスタマイズしたので、すべての場合にメニューを表示するためにsyslinux.cfg、grub.cfgファイルをsyslinuxに自動的にチェーンロードするだけに変更したいと思いますsyslinux.cfg。 これはまったく可能ですか?どうやって? ディスクにはGRUB2があり、私の理解(インターネットを見回すことから)はそれが可能であることですが、私はまだその方法を理解していませんでした。どんな助けでもありがたいです。編集:私はしているオプションのいずれかの選択の問題もなく、GRUBを使用してシステムをブートすることを明らかにしたいと思いますgrub.cfgConezillaのダウンロードにより提供されるように、デフォルトでメニューを、しかし、私がやりたいこと(中SYSLINUXのメニューを表示することですsyslinux.cfg)grub.cfg 2番目の編集のデフォルトメニューの代わりに、私はそれを行いました。結局、提案された解決策は私にとって機能しなかったので、単に「EFI \ boot」フォルダーを「使用不可」にしました(名前を変更)。このようにして、UEFIブートは失敗し、システムは古いシステムの場合と同様にsyslinuxからブートします。BIOSの変更なし、新しいメニューなし、チェーンロードなし...

2
zipファイルの別のパスにファイルを追加する
次のディレクトリにあるファイルがあります。 folder_A/another_folder_A/file_to_add.xml 次に、既存のzipアーカイブのフォルダーにファイルを追加するだけです。 たとえば、これは私のzipコンテンツです。 my_zip.zip/folder_B/another_folder_B にを追加するfile_to_add.xmlにはどうすればよいanother_folder_Bですか? my_zip.zip/folder_B/another_folder_B/file_to_add.xml 同じ名前のフォルダを作成して追加したくありません。それを可能にするコマンドはありますか?
9 zip  7z 

4
複数のディレクトリをfindの-pruneオプションに渡す
findバックアップファイルの検索と削除に使用していますが、特定のディレクトリを検索から除外したいと考えています。バックアップファイル名はで終了する可能性があり.bck、bak、~、またはbackup。 除外するディレクトリが3つだけのMinimal Working Example(MWE)コードは次のとおりです。 #! /bin/bash find . -type d \( -path "./.*" -o -path "./Music" -o -path "./Documents" \) -prune -o -type f \( -name "*.bck" -o -name "*.bak" -o -name "*~" -o -name "*.backup" \) -print0 | xargs -0 --no-run-if-empty trash-put 構文\( -path "dir1" -o -path "dir2" ... …

1
gunzipおよびtar xfはどのような状況で機能しますが、tar xzfは失敗しますか?
ポイントを説明するために、私は同社のWebサイトからLEDAライブラリをダウンロードしました。それにtar -xzfを使用すると失敗します。 $ tar -xzf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors ただし、gunzipの後にtar -xfを続けても問題なく機能します。 $ gunzip LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz $ tar -xf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar # no error なぜこれが起こり得るのか誰かに教えてもらえますか?-標準tarコマンドを常に機能させたいです。
9 tar  gzip 

1
すべてのポートをSSHで転送
SSH /ポート転送について質問があります。私はどこにも解決策を見つけていませんし、あるかどうかもわかりません。 自宅のNATボックスの後ろにサーバーがあります。私は、NATボックスからポート22でSSHを使用するサーバーにポート転送を行っています。そのため、my_nat_public_ip:22外出中に接続すると、魅力的に動作します。 これで、NATボックスを構成しなくても、サーバーの任意のポートにアクセスできることがわかりました。実際、次のような動的ポート転送を実行できます。 ssh -D 1080 user@my_nat_public_ip 次に、ブラウザーの設定によってサーバーのポートany_portに接続するか、SOCKSプロキシとしてlocalhost:1080を使用して、をポイントしmy_local_server_ip:any_portます。 私がやりたいことは、次のようなコマンドになります ssh -D --local_alias=local_alias user@my_nat_public_ip そしてlocal_alias:any_portにアクセスすると、my_server:any_portに転送されます それは可能でしょうか?これを行うためのSSHオプションはありますか?これは非常に単純で、さまざまなサーバーで複数の動的ポート転送を行うことができます。

1
.bash_profileを家から移動する方法
.bash_profileDropboxと同期する必要があります。私が考えることができる最も簡単な方法.bash_profileは、カスタムフォルダーで検索するようにシェルを「リダイレクト」することです。 それは可能ですか?それとももっと良い解決策はありますか?

2
Gawk:配列を関数に渡す
GNU awk 3.1.6で立ち往生し、配列のバグを回避したと思いますが、600行のawkプログラムでスコープの問題のように見えます。私のバグを見つけるには、awkの配列スコープの理解を確認する必要があります。 この実例のawkコードを考えると... function foo(ga) { ga[1] = "global result" } garray[1] = "global" foo(garray) print garray[1] 印刷されます... global result 配列は常に参照によって関数に渡されるため、すべての配列は常にグローバルです。ローカル配列を作成する方法はありません。これは正しいです?明示的に言っているドキュメントを見つけることができませんでした。 私がデバッグしているので、3.1.6自体にこの領域の既知のバグがあるため、awkのバグがどこに留まり、自分のバグがどこから始まるのかを特定しようとしています。 補足:ga []が関数内で機能するのはなぜですか? まず、配列を関数に渡すことfoo(ga)は実際には不要です。garray[]関数内からアクセスするだけです。ただし、それを実行しても測定可能なパフォーマンスの低下はなく、デバッグとエラー報告に役立ちます。 を使用する場合foo(ga)、ga[]はグローバル配列の同義語ですgarray[]。のローカルコピーでgarray[]はgarray[]なく、シンボリックリンクがファイルへのポインターであるように、単にへのポインターであり、同じファイル(または配列)に複数の名前でアクセスできます。 補足:グレン・ジャックマンの回答の明確化 関数の外で作成された配列は関数に対してグローバルであり、関数に渡されるか、関数内で参照されるだけですが、関数内で作成された配列は実際には関数に対してローカルのままであり、関数の外からは見えません。ジャックマン氏の例を修正すると、これがわかります... awk ' function bar(x,y) { split("hello world", y) print "x[1] inside: " x[1] print "y[1] inside: " y[1] } BEGIN { …
9 awk  function  array 

1
特定のファイルのLVMエクステント数を決定する
私は現在、仕事以外の宿題の練習に従事しています。私はext4ファイルシステムを論理ボリューム上に置いています。私はさまざまなパフォーマンスチューニング戦略をテストしていますが、このアイデアは思いつきました。pvmoveはエクステントの個別および範囲を移動できるため、特定のファイルを保持している物理エクステント(理論的には、データベースのバッキングファイル、または一般的にアクセスされる大規模なファイル共有)をマッピングして特定の場所に移動する方法はありますかストレージデバイス(たとえば、同じLVMボリュームグループに通常のHDDとSSDドライブがある)? 私は「filefrag」を使用することを考えましたが、エクステント番号が必ずしもシーケンシャルな順序で使用されるかどうかについて100%ではないことに気付きましたファイルが物理的にどのエクステント番号/ボリュームに配置されているかがわかります。 何か案は?

1
「apt-get install」でいつ続行するかを確認するように求められますか?
時々「apt-get install」が私に尋ねます"Do you want to continue [Y/n]?": root@T43:~# apt-get install chmsee Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libchm1 The following NEW packages will be installed: chmsee libchm1 0 upgraded, 2 newly installed, 0 to remove and 0 not …
9 apt 

1
LVMスナップショットは最終的に断片化を引き起こしますか?
大きなファイルのアトミックスナップショットを取得してリモートサイトにrsyncできるように、LVMを使用することを計画しています。 私が知りたいのは、メイン(非スナップショット)ボリュームに長期的な影響があるかどうかです。通常、スナップショットを24時間保持してから新しいスナップショットをドロップして作成すると、メインボリュームは徐々に断片化されますか?
9 lvm  snapshot 

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