Unix & Linux

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

3
ソースツリーにマウントポイントがあるときにファイルのタイムスタンプを保持するようにrsyncに指示する方法
この質問に関連 問題の簡単な説明: ソースツリー内にマウントポイントがある場合、ターゲットツリーにコピーされたときのマウントポイント内のファイルのタイムスタンプは、-aオプションを使用しても保持されません 詳細な説明: これがソースツリーであると仮定します。 /home/ /home/ | | me/ BACKUP/ | | +----+----------+ +----+-------+ | | | | | | data/ foo.txt boo.txt data/ foo.txt boo.txt | | a.txt a.txt どこdata/を上回っているが、外付けUSBディスクをマウント。すべてがext4ファイルシステムです。ソース内のすべてが所有されていmeます。 BACKUP たまたまマウントポイント、バックアップUSBディスクでもありました。 このコマンドを発行した後、その下にあるすべてのものが現在のタイムスタンプを持っていることがrsync -av --delete /home/me/ /home/BACKUP/わかりました。/home/BACKUP/data/まるでこれらのファイルが作成されたかのようで、のファイルのタイムスタンプではありません/home/me/data/。外部の他のファイルとフォルダーにdataは、タイムスタンプが保存されていました。 質問は次rsyncのとおりです。上記の設定で、マウントされたポイントのファイルやフォルダーであっても、すべてのファイルやフォルダーのタイムスタンプを保持するように指示するにはどうすればよいですか? 使っています: >uname -a Linux 3.5.0-17-generic #28-Ubuntu SMP x86_64 x86_64 x86_64 …
42 backup  rsync 

1
IP 0.0.0.0への接続は成功します。どうやって?どうして?
localhostのポートにサービスを提供しており、ポートが使用可能かどうかを別のプロセスにチェックインしたいと考えています。コードのバグにより、実際にはIPに接続しようとしていますが0.0.0.0:<port>、何らかの理由で成功します-straceが証明しているように: [...] connect(3, {sa_family=AF_INET, sin_port=htons(10002), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 [...] どういう意味ですか?なぜ機能するのですか?
41 networking  tcp  strace 

2
Tmuxマウスモードをオンにすると、マウスでテキストを選択できません
私はtmux 2.1マウスモードで使用してみました set -g mouse on そして、それはうまく機能しtmuxます。適切なウィンドウをクリックすることで、ウィンドウの分割を切り替えることができます。しかし、この欠点は、マウスでテキストを選択できないことです。これはどのように見えるかです: ご覧のとおり、マウスボタンを押し続けると選択範囲が赤くなり、ボタンを離すと選択が消えます。マウスモードが有効になっていない場合、「マウスによる選択」は完全に機能します。 マウスモードをオンにし、テキストを選択する機能を使用するための回避策はありますか?

1
このMakefileは、コンパイラを指定しなくてもCプログラムをどのように作成しますか?
私は本「Advanced Linux Programming(2001)」[code]の Makefileを使用していました。GNU makeがMakefileでコンパイラーを指定しなくてもコードを正しくコンパイルするのを見るのは私にとって奇妙でした。レシピなしで焼くようなものです! これはコードの最小バージョンです。 test.c int main(){} メイクファイル all: test そして本当に作品を作ります!これは実行するコマンドです: cc test.c -o test ドキュメントに有用なものが見つかりませんでした。これはどのように可能ですか? PS追加の注意事項:言語さえ指定されていません。test.c利用可能であるため、GNU makeはを使用しccます。存在するtest.cpp場合test.cc(またはがない場合test.c)は、g++(ではなく)を使用しc++ます。
41 linux  make  gcc  gnu-make 

2
「tail -f」と「tail -F」の違いは何ですか?
私は決して使用tail -F代わりに常に使用されるコマンドは、tail -fしかし、誰かがそれを私に言った-F多くの説明なしに優れています。 tailコマンドのmanページを調べました。 -f output appended data as the file grows; -F Same as --follow=name --retry --retry Keep trying to open a file even when it is or becomes inaccessible lower -fが何をするのかは簡単に理解できますが、大文字-Fが何をしようとしているかはわかりません。違いを誰かが説明してくれれば幸いです。
41 tail 

1
UNIXシステムコールのkillが「kill」という名前になっているのはなぜですか?
私は名前の歴史に興味があり、「kill」システムコールは「signal」と名付けられ、「signal」システムコールは「handle」と名付けられたようです。 システムコールの元の使用は、単に別のプロセスを強制終了することであったのではないかと考え、システムの開発に合わせて、より一般的な信号送信メカニズムにその使用を広げたのかもしれませんが、これは私の推測です。 誰か知っている?
41 kill  history 

4
最大のファイルを再帰的に見つける
ディレクトリ内で最大のファイルを再帰的に見つけようとしています。そのディレクトリ内にサブディレクトリがある場合、関数はそのディレクトリ内に移動し、最大のファイルがあるかどうかを確認する必要があります。最大のファイルが見つかると、出力が相対パス名と最大のファイルの名前とサイズとともに表示されます。 例: dude@shell2 (~...assignment/solutions) % bash maxfile.sh ~/test class/asn dude.h.gch: 9481628 これは私が持っているものです: #!/bin/sh clear recursiveS() { for d in *; do if [ -d $d ]; then (cd $d; echo $(pwd)/$line; du -a; recursiveS;) fi done } recursiveS 私は今しばらくの間立ち往生しています。多数の既存のUnixツールをパイプライン化することでこれを実装することはできません。どんなアイデアでもいいでしょう!

4
子プロセスが親と一緒に死ぬUNIXバリアントはありますか?
Linuxカーネルの動作をかなり長い間研究してきましたが、次のことが常に明らかでした。 プロセス・ダイは、そのすべての子がバックに与えられている場合にはinit、プロセス(PID 1)彼らは最終的に死ぬまで。 しかし、最近、カーネルについて私よりもはるかに多くの経験を持っている人が私に言った: プロセスが終了すると、そのすべての子も死にます(使用NOHUPした場合を除き、子はに戻りますinit)。 今、私はこれを信じていませんが、私はそれを確かめるためにまだ簡単なプログラムを書きました。sleepすべてがプロセスのスケジューリングに依存しているため、テストに時間()に依存するべきではないことを知っていますが、この単純なケースでは、それで十分だと思います。 int main(void){ printf("Father process spawned (%d).\n", getpid()); sleep(5); if(fork() == 0){ printf("Child process spawned (%d => %d).\n", getppid(), getpid()); sleep(15); printf("Child process exiting (%d => %d).\n", getppid(), getpid()); exit(0); } sleep(5); printf(stdout, "Father process exiting (%d).\n", getpid()); return EXIT_SUCCESS; } これはプログラムの出力であり、話すpsたびに関連する結果がありますprintf: $ ./test & …
41 process  init  exit  fork 

6
VM VirtualBoxの作成時にストレージサイズを設定する
VMの作成時にVMのストレージサイズを設定する方法はありますか?Vagrantを使用しますが、これがVirtualBoxで実行する必要があるのか​​、Vagrantfileに含めることができる設定なのかはわかりません(ドキュメントを確認しましたが、何の兆候もないようです)

4
ファイルマネージャなしでウィンドウにファイルを「ドラッグ」できますか?
(私はArch Linuxを使用しており、w3としてi3を使用し、ターミナルエミュレータとしてxtermを使用していますが、関連するものがあるかどうかはわかりません。) 時々、ウェブサイトから、デスクトップからインターネットブラウザのウィンドウにマウスでファイルをドラッグするように求められます。ほとんどの場合、別の方法がありますが、最近、ドラッグアンドドロップが必要な操作を見つけました。残念ながら、ファイルマネージャがありません。コンピューターのファイルシステムをbashのみでナビゲートします。 ドラッグアンドドロップアクションを偽造する方法はありますか?実際に実行せずに、ブラウザに「このファイルをドロップしただけです」と言ってもいいですか 最悪のシナリオでは、Webブラウザにファイルをドロップするためだけにグラフィカルファイルマネージャをダウンロードできますが、その解決策は避けたいです。

5
リポジトリのストレージと帯域幅の費用は誰が負担しますか?
yum updateまたはを実行するapt-get updateと、マシンが複数のサーバーにアクセスし、複数のパッケージをダウンロードしています。これらのサーバーが毎日何百万もの同様のリクエストを処理していると思います。 これらのサーバーの保守、存在、帯域幅の支払いは誰が行うのですか?答えがディストリビューションに依存する場合、CentOS、Arch、Ubuntuが良い例です。これらの無料のオペレーティングシステムを使用しており、帯域幅を消費しているため、これについて疑問に思っていますが、この特権に対して誰にも支払いをしていません。


3
Debianテスト版または不安定版の不安定版から単一のパッケージをインストールするにはどうすればよいですか?
「すべてとキッチンシンク」をJessieバージョンにアップグレードせずに、Debian JessieからWheezyシステムに単一のパッケージ(およびその依存関係、ただしWheezyで満足できない程度まで)をインストールしたい。具体的には、Jessieではパッケージ化されていますが、Wh​​eezyではパッケージ化されていないkpcliをインストールします。 私が見つけたすべてのことは、ソースリストにJessieリポジトリを追加し、すべてをwheezyに保ち、jessieから単一のパッケージのみを取り出すように固定を設定する必要があることを示しています。しかし、それは私には適していない。次の内容で/etc/apt.d/sources.list.d/jessie.listを作成した場合: deb ftp://ftp.debian.org/debian/ jessie main deb-src ftp://ftp.debian.org/debian/ jessie main 次に、以下を使用して/etc/apt/preferences.d/jessieを作成します。 Package: * Pin: release a=wheezy Pin-Priority: 1001 Package: kpcli Pin: release a=jessie Pin-Priority: 450 にapt-get -u update続いてを実行するとapt-get -u install kpcli/jessie、apt-getがkpcliと、おそらく Jessieの他の少数のパッケージを取り込み、インストールされたシステムの残りの部分はそのままにされることを期待しています。(私のシステムはWheezyの完全に最新のインストールです。)あるいは、ピンの優先度が低すぎると、何もしないと予想されます。むしろ、私のシステムでは、apt-getは数百のパッケージをアップグレードしたいと考えています。 私のWheezyシステムの残りの部分に手を加えずに、Jessieバージョンのこの1つのパッケージだけをインストールするために正確に必要なものは何ですか? この特定のケースでは、ソフトウェアは実際にはPerlで記述されているため、バイナリまたはそれに類するものへのコンパイルはありません。ただし、いくつかのPerlモジュールの依存関係があります。したがって、1つの可能な代替策は、(1)のようにインストールする単一のローカル.debアーカイブの指定のみを許可するものdpkg -i、および(2)インテリジェントな方法で依存関係を処理するものを使用して.deb(手動でダウンロード)をインストールすることです、プレーンdpkg -iはそうしません。しかし、私が何度か行ったすべての検索のために、これを行う方法についての簡単なガイドを思い付くことができませんでした、一般的なソリューション(バイナリ、コンパイルされたパッケージでも動作するもの)は素晴らしいでしょう。
41 debian  apt 

1
lib、lib32、lib64、libx32、およびlibexecの違い
64ビットUbuntu 13.04システムには、次のディレクトリがあります/。 lib lib32 lib64 libx32 libexec では/usrディレクトリがあります: lib lib32 libx32 libexec これは検索で簡単に答えられるもののように思えましたが、これらのディレクトリに共有ライブラリ(libexecを除く)が格納されていること以外、オンラインでは何も見つかりませんでした。しかし、どの共有ライブラリがどのフォルダに配置されますか(lib32の32ビットとlib64の64ビット以外)?誰かがこれらすべてのディレクトリの違いを説明できますか?


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