Unix & Linux

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

1
Bashはディレクトリを変更しなくなりました
私のbashシェルは、cdでディレクトリを変更しなくなりました。作業中に先に気づき、開いた新しいシェル(端末またはxtermなど)がホームディレクトリにスタックして出られないことを発見しました(既に開いている端末は引き続き正常に動作します)。 [~]$ pwd /home/sys/dave [~]$ cd / [~]$ cd Documents/ [~]$ pwd /home/sys/dave [~]$ type cd cd is a shell builtin [~]$ alias alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' メモリー不足のハンドラー(cdがエイリアスされていないことを確認し、組み込みバージョンを使用しているなど)に対処する時間がなかったのは奇妙だと思いました。 それで、私は(はい、知っています)マシンをリブートしました。 フレッシュブート、まったく同じ問題。 一方、CSHは正常に機能するため、上記のスニペットの直後: [~]$ …
14 linux  bash 

2
grep:日本語の漢字を含むすべての行を検索します
巨大なUTF-8テキストファイルで、日本語の漢字を含むすべての行を表示したいと思います。 これはどのようなgrep(または他の)表現ですか? 私は間違っていないよ場合は、漢字は間の文字である\u4e00と\u4dbf。 私はkanasを表示する必要はありませんが、それらを表示することも大きな問題ではありません。
14 grep  unicode 

3
恐ろしい状況-複数の独立したOSインスタンスによって同時にマウントされたファイルシステム
この状況から安全に抜け出すにはどうすればよいですか? 詳細は次のとおりです。 xenサーバーには、VMにブロックデバイスが割り当てられています。ただし、これらのデバイスはXen内にもマウントされています。 実際、これらのブロックデバイスのうち44個がこのようにマウントされています。さらに悪いことに、各物理デバイスは4つのパス上にあり、それぞれが個別のマウントポイントにマウントされています。つまり、デバイスは実際に各5回マウントされます。 VMゲストOSは、PowerPath擬似デバイスを介してパスを認識します(phy:ブロックデバイスとしてdomUに割り当てられます) 一部のデバイスは、ext2およびreiserfsとしてフォーマットされています。 ここで関係するファイルシステム破損のリスクについて説明する必要はありません。 ファイルシステムをアンマウントするだけでも破損が発生する可能性があることを恐れており、この時点でホストから電源を引き出すことが最も安全なオプションであると感じています。 すべてのVMのアプリケーション(ほとんどの場合Oracleデータベース)は、まだ実行中で使用中であることに注意してください。 これは、dom0での高いCPU使用率を調査したときに発見されました。/ dev / emcpowerrに属する/ dev / sdf1からマウントされたcwd-> / media / disk-12を使用した、強制終了できない「検索」プロセスがあります。 誰かが尋ねる前に、一度プロセスを殺すことができず、CPUとRAMを使用し続けることができません(無効/ゾンビプロセスとは異なります)。 。より一般的には、テープI / Oで発生します。 提案!? PSこの種のことを防ぐために、デバイスがマウントされると「予約」されると予想していましたか?それともLinuxでは不可能ですか? 編集:まず、ハイパーバイザー内のKDEが原因だと確信しています。KDEは、ログに記録できるデバイスをマウントしてデスクトップアイコンを作成しているようです。ただし、他のXenサーバーでは同じことは起きていませんが、他のすべてのサーバーははるかに古いバージョンのSLESおよびKDEを実行しています... さらに、2つの重要ではないVMがハングしました。それらをシャットダウンした後、ファイルシステムの破損のために再起動しませんでした。メイン/実稼働VMはまだ実行中で、その上のデータベースはまだ動作していますが、明らかにこれは時限爆弾です。お客様は、別のサーバー上の別のVMで環境を再構築しようとしていますが、一部のコンポーネントの構成に関する問題に固執しているため、お待ちしています... いずれにせよ、これまでのところ「ベストプラクティスは常に適切にシャットダウンされる」以上の答えはなかったと感じています。考え。シャットダウンすると、未処理のIO、特にハイパーバイザーからのファイルシステムメタデータの更新が同期され、ファイルシステムが破損する可能性がありますか?

2
このxargsコマンドが機能しないのはなぜですか?
すべての.sh拡張子を削除したかったので、次のようにしました。 ls *.sh | xargs -I {} mv {} `basename {} .sh` ただし、機能しませんが、basename変更されていないファイル名を返すように動作します。 なぜそのように振る舞うのですか? たとえば、これは機能します: ls *.sh | xargs -I {} echo `basename {}.jpg .jpg`; 編集: 解決策:単一引用符は`basename ...`、コマンドが実行される前にシェルによる評価を防ぎます。 ls *.sh | xargs -I {} sh -c 'mv {} `basename {} .sh`'

2
ディレクトリまたはファイルが実際に削除されたことを確認するにはどうすればよいですか?
ほとんどのファイルは、削除してもディスクから実際には削除されず、後で復元できることを知っています。 削除したディレクトリが実際にディスクから削除されることを確認するにはどうすればよいですか?そのためのユーティリティはありますか? Debian Linuxを使用しています。

1
パッケージをインストールするときに、Debianが(インストール?)CDを挿入するように要求することがあるのはなぜですか?
私は私が行うときに時々気づいたapt-getDebianは、私は(6.0.6 AMD64 DVD1)[私が使用し、インストールCD]を挿入するように求められます。時々マウントしない場合もありますが、すでにマウントしているためかもしれません。明確なパターンに気付かない。どうしてこれなの?これは他のフレーバーでも起こりますか?そして、「virtualbox apt-get installation cd」のようなものを運もなく検索しました(良いクエリが見つかりません)。
14 debian  apt 

1
デフォルトのサブボリューム(subvolid = 0)でbtrfsを使用してLinuxインストールを別のサブボリュームに移動します
ルートbtrfsファイルシステムにインストールするとき、多くのLinuxディストリビューションはデフォルトのサブボリュームにインストールします。変更しない場合、このレイアウトにより、スナップショットまたはサブボリュームがルートファイルシステム内に強制的に作成されますが、これは望ましくない場合があります。別の可能なレイアウトは、デフォルトのサブボリュームにsnapshotsディレクトリrootfsと、ルートファイルシステムであるサブボリュームを含めることです。livecdから起動せずに、このサブボリュームレイアウトを使用するように、デフォルトのbtrfsインストールを変更するにはどうすればよいですか?

2
xargsに何もパイプしない
状況によっては標準出力に何もないスクリプトがあります。スクリプトの最後に、xargsを使用して別のコマンドに行を渡します。私の問題は、stdoutに何もないとき、典型的な「使用法:プログラムarg1 arg2」エラーメッセージが表示されることです。 どうすればこれを回避できますか?
14 bash  xargs 

2
VirtualboxにNvidiaドライバーをインストールした後、startxでXorgを起動すると、「画面が見つかりません」
Virtual Box VMにArch i686をインストールしました(nvidia GT610があります)。ルートとして次のコマンドを実行しました。 pacman -S nvidia インストールと再起動後、実行しました pacman -S xorg-server xorg-xinit xorg-server-utils xorg-twm xorg-xclock xterm それから startx という致命的なエラーが発生しましたNo screens found。どうすればいいのでしょうか?
14 xorg  virtualbox 

1
〜/ .xinitrcが実行されていません
コンピューターにログインするときに~/.xinitrc(~/.xsession)スクリプトを実行できません。ログインマネージャーとしてバニラlightgmでXubuntu 12.10を使用しています。これらのファイルは両方とも正しい許可(実行可能ファイル)を持っています。私には~/.xinitrc、次のものがあります: #!/usr/bin/env bash # read ~/.Xmodmap if it exists if [[ -f "${HOME}/.Xmodmap" ]]; then xmodmap "${HOME}/.Xmodmap" fi # read ~/.Xresources if it exists if [[ -f "${HOME}/.Xresources" ]]; then xrdb -load "${HOME}/.Xresources" fi # use gnome-keyring-daemon to manage keys /usr/bin/gnome-keyring-daemon --start --components=gpg /usr/bin/gnome-keyring-daemon --start --components=ssh 他のコマンド(などdate >> "$HOME/did_start")も実行されていません。 …
14 ubuntu  x11  lightdm 

4
リモートログイン時のグループはローカルのものとは異なります
ユーザーをLDAPに保存し、異なるシステム間で意味を持ついくつかのグループ(組織ロールを含むwheel)を保存します。ワークステーションにローカルなグループもあります。たとえばaudio、videoLDAPに入れることは望ましくありません。ローカルにログインすると、それらのローカルグループが取得されますが、SSHを介して同じマシンにログインすると、それらが不足します。suすぐに使用すると、もちろん戻ってきます。私は間違った方向に進んでいるかもしれませんが、PAMを疑っています。 からの関連エントリ nsswitch.conf passwd: compat ldap shadow: compat ldap group: compat ldap PAMに関しては、常にauth行ですが、他の行は同じです /etc/pam.d/sshd auth include system-remote-login /etc/pam.d/system-remote-login(system-local-login私が追加する可能性があるのと同じ) auth include system-login /etc/pam.d/system-login auth required pam_tally2.so onerr=succeed auth required pam_shells.so auth required pam_nologin.so auth include system-auth auth optional pam_gnome_keyring.so account required pam_access.so account required pam_nologin.so account include system-auth account required pam_tally2.so …

5
複数の正しいサブネットに接続しているOpenSwanが機能しない
Openswan(バージョン2.6.37)を使用して、ローカルネットワークからリモートサイトにIPsec VPNを接続しようとしています。リモートサイトの単一のサブネットに接続したいだけで、すべてが正常に機能します。ただし、リモートサイトには、アクセスする追加のサブネットもあります。 これは私の構成です: conn myConn type=tunnel left=192.168.139.14 leftsubnet=192.168.139.0/24 leftxauthclient=yes right=X.X.X.X rightsubnet=172.16.1.0/24 keyexchange=ike auth=esp authby=secret phase2alg=3des-sha1 pfs=yes に置き換えるrightsubnetとrightsubnets、次のようになります。 rightsubnets={172.16.1.0/24 192.168.3.0/24} ...接続は正常に作成されますが、リストの最後のサブネットのみが使用可能です。172.16.1.0サブネット上の何かをpingしようとしても失敗します。サブネットの順序を入れ替えると、pingはできます172.16.1.Xが、他のサブネットでは何もpingできません。これは、Openswanがリストの最後のサブネットのみを使用して接続を作成しているようです。 ここで何か間違ったことをしていますか? 私が言及するのを怠った追加情報の少し(それが関連するかどうかはわかりませんが):私のOpenSwanクライアントはNATを使用するルーターの背後nat_traversal=yesにあり、ipsec.confファイルにあります。
14 networking  vpn  ipsec 

2
パッシブFTPとアクティブFTPを確認する方法
どのFTP(パッシブまたはアクティブ)が実行されているかを確認するにはどうすればよいですか? デフォルトでは、パッシブFTPはLinuxで実行されていますが、どうすれば確認できますか?
14 ftp 

1
Linuxは常にICMPリダイレクトを送信します
ルーターとして使用されるDebian Squeeze(6.0.6が最新)がいくつかあります。 リンクがダウンすると、ICMPリダイレクトをローカルホストに送信します。これはDebianおよび他のいくつかのデフォルトの動作です。そのため、リンクが復旧すると、ホストは再起動するまでリンクに到達できません。 これらのルーターからICMPリダイレクトが送信されないようにします。 私がテストしたecho 0 > /proc/sys/net/ipv4/conf/all/send_redirectsとsysctl -w net.ipv4.conf.all.send_redirects=0して置くことnet.ipv4.conf.all.send_redirects=0に/etc/sysctl.d/local.conf 、これらのソリューションのすべてに正しい値を入れます/proc/sys/net/ipv4/conf/all/send_redirects しかし... カーネルはICMPリダイレクトを送信し続けます。再起動後でも: $ tcpdump -n -i eth0 00:56:17.186995 IP 192.168.0.254 > 192.168.0.100: ICMP redirect 10.10.13.102 to host 192.168.0.1, length 68 また、ローカルホスト(Windowsコンピューター)のルーティングテーブルが汚染されています。 netfilterでこれを防ぐことができます: iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP 通常の方法が機能しない理由についてのアイデアはありますか? そして、netfilterを使用せずにICMPリダイレクトが送信されるのを防ぐ方法は?
14 linux  networking  ip 

2
/ dev / disk / by-labelが読み込まれる原因は何ですか?
Linuxディストリビューションには通常/ dev / disk / by-labelディレクトリがあることに気付きましたが、常にそうであるとは限りません(たとえば、CirrOS Linuxテストイメージにはありません)。 Linuxシステムで/ dev / disk / by-labelディレクトリを適切に設定するには何が必要ですか?

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