Unix & Linux

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


2
ネットワークインターフェイスの設定
両方が同じネットワークに接続されている場合、Linuxはどのネットワークインターフェイスを使用するかをどのように決定しますか? これはルーティングに関する問題ではないことに注意してください。それがどのように機能するかはよく知っています。これは、たとえば、イーサネットカードとワイヤレスカードの両方を介してラップトップをワイヤレスルーターに接続している場合、または同じルーターに両方のイーサネットカードを接続している場合です。 私の場合、私のラップトップは、ワイヤレスよりもイーサネットカード(eth0)を優先しているようです(eth1--ワイヤレスインターフェイスの一般的な名前ではないことはわかっていますが、それは私が持っているものです)。疑問に思う、それはどうやってそれを決めるのですか?最も小さい番号のインターフェイスから選択するだけの場合、2つの選択肢がたとえばeth0とwlan0の場合はどうなるでしょうか。 編集:@Nilsは、これは依然としてルーティングの問題であり、ルーティングテーブルが回答を提供することを指摘しました(彼の回答を参照)。これでも元の質問は残っていますが、形式が異なります。Linuxのルーティングテーブルのエントリの順序を決定するものは何ですか?たとえば、両方のインターフェースに接続しているときのルーティングテーブルは次のとおりです。 Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.4.1 0.0.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 eth0がローカルネットワーク内の宛先のeth1よりも優先度が高いことは明らかですが、Linuxではリンクレイテンシ、リンクスループット、さらにはインターフェイス名などによって決定されますか?(同じ質問は、なぜeth0がデフォルトルートのインターフェースであるかについても言えます。)

1
LibreOfficeで作成されたPDFに使用されているエンブレムが間違っている
ディレクトリにテストpdfファイルを作成する場合、次のようなものを使用して ls -al > testpdf.pdf このファイルはCaja 1.4.0で表示され、「アクロバットのような」エンブレムがわかります。 WriterでLibreOfficeドキュメントを作成し、それを同じディレクトリのPDFにエクスポートすると、そのエンブレムは灰色の「テキストシート」になり、見つけにくくなります。 LibreOfficeで作成されたPDFで使用されるアイコン/エンブレムを変更するにはどうすればよいですか? どこかで使用されているファイルを上書きできますか/usr/shr/icons?もしそうなら、それは次のLibreOfficeアップデートで上書きされますか?

1
ダウンロードが完了すると、Firefoxはどのような通知を送信しますか?
suckless(dwm)の動的ウィンドウマネージャーを使用しています。firefoxダウンロードが完了したときに素敵な通知を送信できることに気づきました。2つの図を見る 別のタグを使用している場合1、ダウンロードが完了すると、この種の通知(反転したタグ)が表示されます。 このような通知を他の人に使用したいuxterms。たとえば、長いジョブが終了した場合、上記のように点灯するはずです。せいぜい、これはGNU screen私が使用しているセッション内でも機能します。 これがXorgのdwm機能なのかわかりません。何か案は? 編集: @scaiの答えは非常に重要ですが、との完全な互換性がありませんGNU screen。誰かがまだこれを改善できる場合には、それは非常に高く評価されます。


2
イーサネットアダプタのTCP / IPを無効にするにはどうすればよいですか?
CentOS 6.3を2つのイーサネットアダプターを備えた(仮想)マシンで実行しています。eth0をTCP / IP LANに接続し、eth1をDSLモデムに接続しています。このシステムは専用のルーター/ファイアウォールとして設計されており、SNAT、DNAT、および必要なフィルタリングを実行するためにiptablesが設定されています。 これはうまく機能しましたが、DSLモデムを変更しましたが、残念ながら新しい(高速)モデムはばかげているため、自動的にNATを実行し、パブリックIPをeth1に渡すことができなくなります。私は二重NATを許容できないので、いくつかの調査を行い、このモデムがコンピューターでPPPoEを実行することによってコンピューターにパブリックIPを「だます」ことができることを読みました。 したがって、eth1を使用するようにpppdを設定して、カスタムiptables構成スクリプトでeth1の代わりに使用するppp0接続を作成します。これはある程度は機能しているようですが、機能させるためにファイアウォールを開く必要がありました。 トラブルシューティングを支援するために、TCP / IPトラフィックがeth1に直接ルーティングされる可能性を完全に排除したいのですが、「友好的な」モデムが喜んでNATを実行します。 私の知る限り、PPPoEはIP上ではなく、下にあります。物理フレーム上では、イーサネットフレームで直接処理されます。したがって、pppdが機能するために、eth1でIPネットワークを構成する必要はまったくありません。したがって、eth1で実行されているIPネットワークは、問題を複雑にしているだけです。 LinuxでTCP / IPスタックを無効にする方法がわかりません。Windowsボックスでは、アダプターのプロパティでTCP / IPプロトコルのチェックを外すことができることはわかっていますが、ここではテキストのみのCentOSを実行しており、その方法がわかりません。 どうやら私はインターネットを検索して何の役にも立たなかったので、それはそれほど一般的な欲求ではないようです。イーサネットアダプターは TCP / IP接続であるというハードワイヤードな前提のようです。さて、通常... 助けてくれてありがとう!ケビン
8 centos  ip  ethernet  ppp 

5
ファイル名のドットをアンダースコアに置き換え、拡張子はそのままにします
ファイル名のドットを置き換えてアンダースコアに置き換えようとするbashスクリプトがありますが、拡張子はそのままにしておきます(私はCentos 6を使用しています)。以下の出力からわかるように、置換するドットがある場合でもスクリプトは機能しますが、ドットのみが拡張子である場合、スクリプトはファイルを無視するのではなく、ファイルの名前を変更しようとします。誰かがこれをよりよく処理する方法を指摘できますか?助けてくれてありがとう。 私の(欠陥のある)スクリプト: #!/bin/bash for THISFILE in * do filename=${THISFILE%\.*} extension=${THISFILE##*\.} newname=${filename//./_} echo "mv $THISFILE ${newname}.${extension}" #mv $THISFILE ${newname}.${extension} done 入力例: 1.3MN-Pin-Eurotunnel-Stw505.51.024-EGS-130x130.jpg Wear-Plates.jpg 出力: mv 1_3MN-Pin-Eurotunnel-Stw505_51_024-EGS1-130x130.jpg 1_3MN-Pin-Eurotunnel-Stw505_51_024-EGS1-130x130.jpg mv Wear-Plates_jpg.Wear-Plates_jpg Wear-Plates_jpg.Wear-Plates_jpg

3
実行されているcronデーモンのバージョンを取得する方法
背景:私はCentOSに取り組んでいます 細部 # cat /proc/version Linux version 2.6.18-308.4.1.el5PAE (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Tue Apr 17 17:47:38 EDT 2012 質問:どのバージョンのcronデーモンがマシンにインストールされ、実行されているかを知るには
8 cron 

6
カラフルな端末またはコンソール?
私はコンソールの色が大好きで、ほとんどすべてをカラーで印刷する端末を取得する方法があると思います(ソフトウェアでしか実行できないと思います)。もちろん--color=auto物はありますが、いくつかのコマンド(ls、grep...?)で機能します。私が望むのは、もっとカラフルなもので、色を使用するように作られていないコマンドでも機能します。それが可能かどうかはわかりません。 たとえば、多くの色を使用するMobaXTerm for Windows(Cygwinのようなもの)があります。もちろん、それは端末だけでなく、完全なソフトウェア(別のレイヤー)でもあります...多分それは何かを真剣に色付けする唯一の方法ですか? どんな手がかりも本当にいただければ幸いです。

2
これが「読み取り中」でターミナルで機能するのにシェルスクリプトでは機能しないのはなぜですか?
ルートウィンドウのタイトルを設定して適用される情報テキストをWMバーに入力しているときに、この興味深い問題に遭遇しました。 xsetroot -name "clever words" この目的のために、運命を印刷することはターミナルでうまく機能します: fortune -s | while read -r; do xsetroot -name "$REPLY"; done しかし、シェルスクリプトから実行すると、同じことが失敗します。 #!/bin/sh cat /tmp/afile | while read; do echo "$REPLY"; done 生成: $ sh afilereader afilereader:2:read:arg count もちろん、これは私たちの運命の結果を変数に割り当て、次にその変数でxsetrootを使用することによって修正されます。しかし、これがスクリプトで機能しない理由を理解したいと思います。 パイプラインのいずれかの側の各コマンドはそれ自体のサブシェル内で実行されることを理解していますが、ローカライズされた変数がwhile読み取りループにどのように影響するかを確認できません。または、ループの反復間でも​​変数がスコープ外ですか? 何が欠けていますか? 更新:使用したshIはダッシュにリンクされていますが、これはPOSIX準拠にされる過程にあります。より由緒あるものを使用してbashこれを解決しました。

3
差分出力で正しい行数を取得する
diff(具体的には-yおよび--suppress-common-linesオプション)の出力で正しい行数を取得したいと思います。シンプルファイルを使用wc -lしても機能しません。両方のファイルが改行なしで終了し、最終行が異なる場合、最終行はwc -lカウントされません。 これを回避するためのシンプルで効率的なソリューションはありますか? たとえば、ファイル "a"がある場合: a b c d #no newline here そして「b」: a b c D #no newline here 出力は次のとおりです。 $ diff -y --suppress-common-lines a b | wc -l 0 は行を出力するため、これは明らかに正しくありdiff ません。
8 diff  wc 

2
CentOS 6.3デバイスeth0が存在しないようです(最小限の非クローンセットアップ)
CentOS 6.3をhardriveパーティションにインストールしました(新規インストール...最小インストール)。 インストールが成功した後、eth0がダウンしていたことがわかります。このファイルを探しまし/etc/udev/rules.d/70-persistent-net.rulesたが、見つかりませんでした。 これが私のifcfg-eth0設定です:注このファイルを手動で作成する必要がありました DEVICE=eth0 HWADDR=* BOOTPROTO=dhcp ONBOOT=yes TYPE=ETHERNET このマシンはイーサネットに接続されています(別のパーティションにWindows 7があり、それで問題なくインターネットに接続できます)。 $ ifconfig -a | grep eth 結果を返しません $ ethtool eth0 戻り値 Cannot get device settings : No such device... CentOSにeth0を検出させるにはどうすればよいですか?

3
yumエラーの意味「rpmdbにパッケージタプル(…)が見つかりませんでした」
Fedora 15に2つのパッケージをインストールしたいのですが、奇妙なエラーが発生します。 コマンド: yum install @development-tools エラー: ロードされたプラグイン:langpacks、presto、refresh-packagekitインストールプロセスパッケージの設定flex-2.5.35-13.fc15.x86_64が既にインストールされており、最新バージョンエラー:パッケージタプル( 'gcc'、 'x86_64'、 '0'、 '4.6 .0 '、' 6.fc15 ')がrpmdbに見つかりませんでした コマンド: yum install fedora-packager エラー: ロードされたプラグイン:langpacks、presto、refresh-packagekitインストールプロセスのセットアップエラー:パッケージタプル( 'fedora-packager'、 'noarch'、 '0'、 '0.5.9.0'、 '1.fc15')が見つかりませんでしたrpmdb 最初のコマンドで、パッケージは既にインストールされており、最新バージョンが表示されますが、なぜそのエラー行が表示されたのですか?このエラーを修正する方法は?
8 fedora  yum  rpm 

1
free()はプロセスのメモリのマッピングを解除しますか?
Linux 2.6.16カーネルでCプログラムを実行しています。プログラムにメモリリークはないと思いますが、プログラムのメモリ消費量は、特定の操作後も安定しており、減少しません。'ps v'コマンドを使用して、プログラムのRSS値を監視しています。 valgrind Massifツールは、私のプロセスでヒープの大部分がmmapによって割り当てられていることを示しています。しかし、コードによると、これらの割り当ては、操作の完了後に解放されているはずです。それは解放されたメモリがまだマップされているか、プロセスのRSS値に貢献しているためでしょうか? どんな洞察も非常に高く評価されます! 以下は、valgrind Massifレポートの抜粋です。プログラムで使用されるすべてのメモリを測定するために、massifツールの--pages-as-heapオプションをオンにしたことに注意してください。 -------------------------------------------------------------------------------- n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B) -------------------------------------------------------------------------------- 85 701,483,989,262 173,576,192 173,576,192 0 0 86 704,352,949,469 173,367,296 173,367,296 0 0 87 707,582,275,643 173,367,296 173,367,296 0 0 88 710,536,145,814 173,367,296 173,367,296 0 0 100.00% (173,367,296B) (page allocation syscalls) mmap/mremap/brk, --alloc-fns, etc. ->53.40% (92,581,888B) …
8 linux  memory  c 


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