Unix & Linux

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

4
空の行を維持しながら、awkで重複行を削除するにはどうすればよいですか?
以下のawkコマンドは、ここで説明されているように、すべての重複行を削除します。 awk '!seen[$0]++' テキストに空行が含まれている場合、1行を除くすべての空行が削除されます。 のみを使用して、空ではないすべての重複行を削除しながら、すべての空の行を保持するにはどうすればよいawkですか?また、簡単な説明も含めてください。
13 awk 

2
コマンドの出力を色でフィルターする
出力をフィルタリングする方法を提供しないユーティリティを実行しています。出力のテキストには、特定の機能が失敗したことを示すものはありませんが、赤で表示されます。出力は非常に長いため、最後にエラーの数を報告するとき、エラーが発生した出力を表示するために常にスクロールすることはできません。 赤以外のテキストを除外するにはどうすればよいですか? 擬似コード: dolongtask | grep -color red 編集 コマンド出力を他の色だけでなく、私はフィルタリングできるようにする必要が出て、すべてのテキストではありません赤を。また、テキストの色は複数行です。
13 grep  colors  text  filter 

2
ルート権限を必要とせずにsyslinux / extlinuxをディスクイメージファイルにインストールする方法
自作のLinuxディストリビューションを構築しましたが、ブートローダーのインストールを除き、完全なディスクイメージファイルを非ルートユーザーとして作成できます。syslinux(実際にはextlinux)を使用しています。インストールするには、ブートパーティションをループバックマウントする必要があります。これには、root / sudo特権が必要です。コマンドはメイクファイルから実行され、変数名はそれらを置き換えるものを明確に示す必要があります。 sudo losetup -o $(BOOT_FS_PARTITION_OFFSET) $(LOOP_DEVICE) $(IMAGE_FILE_NAME) sudo mount $(LOOP_DEVICE) $(LOOP_MOUNT_POINT) sudo $(EXTLINUX) -S $(DISK_SECTORS) -H $(DISK_HEADS) -i $(LOOP_MOUNT_POINT) sudo umount $(LOOP_MOUNT_POINT) sudo losetup -d $(LOOP_DEVICE) root権限を必要とせずにsyslinuxまたはextlinuxをディスクイメージファイルに書き込む方法はありますか?

1
Debian Live-CDユーザーパスワード
USBからDebianをライブで使用しようとしていますが、ログインに成功しません… アクセスするための標準ユーザーとパスワードは何ですか? インターネットでこの質問を検索してみましたが、ライブ/ライブ、ルート/ルート、ルート/ライブ、パスワードなしの組み合わせなど、見つけた標準ユーザー資格情報の組み合わせを使用しました。どれも機能しませんでした。 この問題は私にとってはGnome、KDE、Xfceに当てはまります。
13 debian  gnome  kde  xfce  password 

1
仮想マイクを作成する
VNCを有効にしてCentOSサーバーを実行し、一部のサービスではマイクが適切に機能する必要がありますが、録音に使用する必要はなく、マイクデバイスのみが使用可能です。そのため、マイクとして使用できる仮想録音デバイスを作成できるかどうか疑問に思っていましたが、音声を入力する必要はありません。私はalsaツールを実行していmodprobe sound-aloopますが、実行は操作が許可されていないと言います。


4
プロセス置換を使用するときに、終了コードをキャプチャする/エラーを正しく処理するにはどうすればよいですか?
SOのQ&Aから取得した次のメソッドを使用して、ファイル名を解析して配列にするスクリプトがあります。 unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) これはうまく機能し、あらゆる種類のファイル名のバリエーションを完全に処理します。ただし、存在しないファイルをスクリプトに渡すこともあります。例: $ findscript.sh existingfolder nonexistingfolder find: `nonexistingfile': No such file or directory ... 通常の状況では、スクリプトで終了コードをキャプチャし、次のようなRET=$?方法で終了コードを取得します。これは、上記のプロセス置換では機能しないようです。 このような場合の正しい手順は何ですか?リターンコードをキャプチャするにはどうすればよいですか?代替プロセスで何か問題が発生したかどうかを判断する他のより適切な方法はありますか?

3
メディアの変更:「Debian GNU / Linux」というラベルの付いたディスクを挿入してください
DebianインストールCD / DVDの最初のDVD ISOから「焼き付けられた」USBフラッシュドライブを使用してDebian 7をインストールしました。 Debianデスクトップ環境、プリントサーバー、標準システムユーティリティなしで、非常に最小限のインストールを行いました。 インストールと再起動の後、Debian GNU / Linux 7ホスト名tty1という言葉が付いたコンソールが表示されました。ログインのユーザー名とパスワードを入力しました。 コマンドを入力した後、次のsudo apt-get install xorgようなエラーメッセージがポップアップ表示されました。 Media changed: please insert the disk labeled 'Debian GNU/Linux 7.4.0 _Wheezy_ - Official amd64 DVD Binary-1 20140208-13:47' in the drive and press Enter 同じUSBフラッシュドライブを同じポートに挿入し、数秒待ってからEnterキーを押しました。 同じエラーメッセージが表示されました。 私は同僚のアドバイスで次の手順を試しました。 のすべてのエントリを削除/削除し/etc/apt/sources.list、コンピューターを再起動します dmesgとfstabは、USBサムドライブがマウントされていることを示します /dev/sdb1 sudo mount /dev/sdb1 /media/usb0 sudo apt-cdrom …
13 debian  usb  media 

5
シンボリックリンクを見つけるために「realpath」を取得するにはどうすればよいですか?
私はbashシェルとしてMacOSXを使用しています。このように作成されたシンボリックリンクがあります。 ln -s /usr/bin/python python2 python2を使用するパッケージがあり、現在の作業ディレクトリに/usr/bin/python実際にpython2であるシンボルリンクを作成したい。python2コマンドラインからを実行すると、次のエラーが表示されます。 python2: realpath couldn't resolve "/usr/bin/python2" しかし、このように呼び出すと./python2、パスが正しく解決されます。私PATHは.それを持っています。実際、テスト用に変更するだけ.で済みます。 どうすれば解決できますか?ありがとう! 環境 下記の提案された解決策の多くは私にはうまくいきません。私は、人々がテキストの海にdrれないように、できるだけ集中して簡潔に私の質問を蒸留しようとしましたが、明らかに、より多くの背景を提供する必要があります。 gitからクローンを作成したパッケージで開発しようとしています。元のパッケージはgit-multimail、Linuxの一部のバリアントで開発されました(Ubuntuを推測しています)。MacOSXで可能な限り変更を加えずに使用できるように変更しようとしています。提案されたソリューションのいくつかが理想的ではない理由はここにあります: ルートとしてpython2、/ usr / bin /にシンボリックリンクを作成します。私はこれを必要としないソリューションを探しています。これは最初は明らかなオプションでしたが、ホストシステムを可能な限り変更しないソリューションが必要です。これが、現在の作業ディレクトリに一時シンボリックリンクを作成し、CWD(つまり.)をパスに追加し、終了時にこれを破棄する(つまり、シンボリックリンク)理由でした。 ラッパースクリプトを作成して、既存のPythonでPythonスクリプトを呼び出します。これに関する問題は、正しい実行環境を見つけるためにshebangに応じて、テストスイートの多くが実際のscript_filesを実行可能ファイルとして使用することです。これは、テストスイートをかなり編集することを意味します。このコンテキストでは(テストフレームワークのスニペットについては以下を参照)、すべての.pyファイルにラッパーを追加する必要があります。さらに、ユーザー/開発者は、使用しているシステムに応じてパッケージを使用するためのさまざまなルールを認識する必要があります(つまり、MacOSXでは、ラッパー経由で呼び出すか、明示的に呼び出すことなくpythonファイルを使用しないでください/usr/bin/python file.py)。 #! /bin/sh D=$(cd $(dirname "$0") && pwd) MULTIMAIL="$D/../git-multimail/git_multimail.py" POST_RECEIVE="$D/../git-multimail/post-receive" TESTREPO=$("$D/create-test-repo") HOME="$D" XDG_CONFIG_HOME="$D" GIT_CONFIG_NOSYSTEM=1 export HOME XDG_CONFIG_HOME GIT_CONFIG_NOSYSTEM cd $TESTREPO test_email() { REFNAME="$1" OLDREV="$2" NEWREV="$3" echo "$OLDREV" "$NEWREV" …
13 python  symlink 

1
TMuxスクロールバッファーの内容を取得する
TMuxで、現在のコマンドラインの上からスクロールバッファの内容をプログラムで取得する方法はありますか? 基本的には、一致する文字列が見つかるまで上向きに反復するbashスクリプトを作成しようとしています。明確にするために、入力したコマンドの履歴を調べたくありません。コンソールに表示されるすべてを確認したい。
13 tmux 

1
muttがimapのユーザー名とパスワードを要求し続けるのはなぜですか?
未設定のmuttの設定変数imap_user、imap_pass(そしておそらくpreconnect、imap_authenticators経由だけでなく)account-hook . "unset ... "呼び出しは、必要性、複数のIMAPアカウントを処理するために(見えない場合は、一般的な方法のようです管理、複数のIMAP / POPアカウント(オプション)、MuttはIMAP複数のアカウントを、muttの:gmail IMAPが応答しない、funtoo.orgのアカウントフック関連の構成ファイル)。 現在、IMAPを介して1つのアカウントのみを処理しています。複数のアカウントを処理する計画を立てると、上記のリンクの最後にある指示に従うことになります(誰かのmutt設定の例)。したがって、同様の方法で、次を使用しました。 account-hook . 'unset imap_user; unset imap_pass; unset tunnel' account-hook 'imaps://mail.domain.net:993/INBOX/' "set imap_user=UserName@domain.net" account-hook 'imaps://mail.domain.net:993/INBOX/' "set imap_pass=${my_password}" これは別のファイル(名前付きaccount_hooks)に保存され、内部から取得されますmuttrc。私が理解できない理由のために、muttはユーザー名とパスワードを尋ね続けます。ただし、変数imap_userとimap_passがに直接設定されているmuttrc場合、たとえば set my_password="`gpg --decrypt ~/.mutt/password.gpg`" set imap_authenticators='login' set imap_login = 'UserName@domain.net' set imap_user = 'UserName@domain.net' set imap_pass ="${my_password}" すべてが正常に動作します。account_hooksファイルには、ソースの最初のものとなし、他のあるaccount-hook . "unset ..."他の場所で呼び出し(複数可)が存在する(複数可)。 更新、folder-hooksファイルは次のとおりです(そして、私はそうでした)。 #-------------------------------------------------------------------------- # …
13 mutt  imap 

3
Debianでapt-getを使用してMySQLをアップグレードするにはどうすればよいですか?
ターンキーLinux仮想マシンを使用しています。そこにあるDebianのバージョンは、明らかに「Wheezy」アップグレードパスにあります(それがあなたの言うとおりの場合)。あなたが見ることができるように、私はLinuxに完全に快適ではありません。 現在のインストールはMySQL 5.5.35ですが、MySQL 5.6が提供するいくつかの新機能が必要です。最新バージョン(この投稿の時点で5.6.17)または少なくとも5.6.xを入手したいです。 私が試しましたapt-get update、apt-get upgrade、apt-get dist-upgrade。これらは多くのものを正常に更新しましたが、MySQLはありませんでした。試しましたがapt-get upgrade mysql-server、これはすでに最新バージョンを持っているということです。 ウェブ上のDebian Wheezyパッケージリポジトリリストには、5.6が必要なときにMySQL 5.5のみが表示されます。次に、「バックポート」について読みました。これは、私の特定のDebianがまだ持っていないはずのものを取得できるように思えますが、機能していないようです。に行を追加する必要があり/etc/apt/sources.list.d/sources.listます。それを実行してapt-get updateから実行すると、404エラーが発生します。 他にもいくつかのルートを試しましたが、1つはバニラMySQLダウンロードをコンパイルするものでした。 私はこれがどのように行われるかについて前向きに困惑しています。以下のためのフォーラム/ブログに記載されたURLのほとんどはapt-get、とさえについてはwget、それらが掲載している後に誰がしても適切な情報を見つけることについてどのようになるので、私は理解することはできませんすぐに死ぬように見えます。私はこれを2日間続けようとしていますが、どこにも行けません。 あなたがこれまで読んだと仮定すると、誰かが比較的痛みのない自動化された方法でDebianのMySQLをアップグレードする方法があるかどうかを知りたいです(make現在のデータベースと設定を手動で使用またはエクスポート/インポートする必要はありません))。
13 debian  apt  upgrade  mysql  turnkey 

3
Bashスクリプトエラー:整数式が必要です
私はかなり奇妙な問題を抱えています。複数のサーバーでスクリプト(Bash)を実行していますが、いずれかのサーバーで動作しなくなりました(他のすべてのサーバーで完全に正常に動作します)。 スクリプトの問題部分は次のとおりです(私は自分で書きませんでした。すべてのクレジットは「リッチ」になります)(http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios- and-nrpe /) if [ "$result" -lt "$warn_level" ]; then #Line 56 echo "Memory OK. $result% used." exit 0; elif [ "$result" -ge "$warn_level" ] && [ "$result" -le "$critical_level" ]; then #Line 59 echo "Memory WARNING. $result% used." exit 1; elif [ "$result" -gt "$critical_level" ]; then #Line …
13 bash 

4
GentooのPortageで利用可能なソフトウェアバージョンを表示する方法は?
emergeGentooシステムでプログラムfooをインストールしたいと思います。そのため、私は単にemerge fooインストールに使用し、Portageはそのリポジトリにあるそのソフトウェアの最新バージョンを選択します。バージョン番号と命名規則がわかっていれば、パッケージがサポートしている場合、インストール済みのパッケージから現在強制されているパッケージを選択emerge =foo.1.2するeselectために使用できます。 しかし、バージョン番号や命名規則がわからず、fooのバージョンのリストが必要な場合はどうすればよいですか?これを実行するemergeオプション/usr/portageは見当たらず、下を覗き見しても何も得られません。 ボーナス:とにかく、emerge利用可能なパッケージを決定するために、どのロケーションポーリングを見つけるのですか?たとえば、私のシステム上のebuildの多くは非標準の場所にありますが、emergeとにかくそれらを見つけるためemerge、使用可能なソフトウェアバージョンのリストがどのようにビルドされるかを判断しようとしています。
13 gentoo  emerge 

2
カーネルモード設定でブートがハングしますが、ATIドライバーで必要です
2011年後半のMacBook Proがあります。IntelビデオカードとディスクリートATIビデオカードが統合されています。理想的には、Xorgに無料ドライバー(Catalystなし)でATIカードを使用してほしい。 ここに問題があります:カーネルモード設定がブートをハングさせ(nomodesetカーネルパラメーターに追加することで確認されます)、その理由がわかりません。ただし、Intelドライバーと同様に、ATIドライバーには KMS が必要です。上記の目的のセットアップでグラフィックスを取得するためのオプションは何ですか? カーネル3.13.8、Arch GNU / Linuxを使用しています。また、カーネル3.10.35(別名LTSカーネル)で試しました。運がありません。コメントで示唆されているように、私は影響を受けたマシンがロックした後にpingを実行しようとしました。確かにわかりませんが、ディスプレイだけでなく完全にフリーズしているようです。 また、Mac OS Xで起動し、gfxCardStatusを使用してIntelカードを強制的に使用しようとしました。これは何もしませんでした。 より多くの情報を取得するために、次のカーネルパラメーターを通常のカーネル行(LTSカーネルではなく、通常のカーネル、quiet削除済み)に追加し、gfxCardStatusをon-the-に設定してMacBookを起動しましたフライスイッチング(これは、OS Xの再起動時に自動的に元に戻るように見えました): rootwait ignore_loglevel debug debug_locks_verbose=1 sched_debug initcall_debug mminit_loglevel=4 udev.log_priority=8 loglevel=8 earlyprintk=vga,keep log_buf_len=10M print_fatal_signals=1 apm.debug=Y i8042.debug=Y drm.debug=1 scsi_logging_level=1 usbserial.debug=Y option.debug=Y pl2303.debug=Y firewire_ohci.debug=1 hid.debug=1 pci_hotplug.debug=Y pci_hotplug.debug_acpi=Y shpchp.shpchp_debug=Y apic=debug show_lapic=all hpet=verbose lmb=debug pause_on_oops=5 panic=10 sysrq_always_enabled KMSなしで起動したATIまたはIntelドライバーを使用してGDMを起動しようとすると、Xorgが失敗し、適切なドライバーが見つからないというメッセージが表示されます(Intel / AMDドライバーにはKMSが必要です)。また、このxf86-video-vesaパッケージを使用してみましたが、適切なドライバーはあるが適切な構成がないというメッセージが表示されて失敗します-BIOSが正しくないということです。 私はPRIMEを使ってみましたが、加速や空想がなくてもXorgを起動できないため、xrandr動作せず、最初のステップを通過することさえできません。 私はvgaswitcherooまたは関連する何かを使用することを考えましたが、根本的な問題がKMSがハングしているという事実のために、それが何もしないと思います。 …

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