Unix & Linux

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

3
バイナリをどこに配置して、常にパス内にあり、簡単に見つけられるようにする
自分で簡単にインストールしたいバイナリやスクリプトなどをいくつか作成しています(自分のrpmを使用)。誰でもアクセスできるようにしたいので、私の直感は、それらを/ usr / binに置くことです。 PATHを変更する必要はありません しかしながら; 私の実行ファイルは他のすべてのプールから消えます。そこに置いたすべての実行可能ファイルを簡単な方法で見つけるにはどうすればよいですか。私は考えていました: / usr / bin内のサブディレクトリ(これができないことはわかっています。自分の考えを説明するためだけです) 別のディレクトリ(/ opt / myself / bin)と各実行可能ファイルを/ usr / binにリンク(多くの作業) 別のディレクトリ(/ opt / myself / bin)と/ usr / binへのディレクトリのリンク(これは可能ですか?) これを行うための「Linuxに最も準拠した最良の方法」は何でしょうか? 編集:私たちは会社でこれについて議論し、この次善のオプションを思いつきました:/ usr / bin / companyにバイナリを置き、/ usr / binからのシンボリックリンクを付けます。私はこのソリューションに興奮していません(ディスカッションが進行中)


2
インテリジェントな補完が失敗した場合にBashの通常のタブ補完を強制する
タブ補完がシェルの標準機能になったので、私はそれをとても幸せに使用しています。私はBashのインテリジェントな補完(evince foo <TAB>と入力するとPDFファイルのみを検索する)も気に入っています。 Bashがインテリジェントな補完を使用して補完を拒否した場合、それ以外の場合は幸せな日を台無しにします。 今日私はしたかった: tar xvf centos5.8_x86_1.ova だから私は入りました: tar xvf cent<TAB> .ova-filesは通常tarで使用するものではないため、Bashはパスの完成を拒否します。 私はbash-completionパッケージをアンインストールしてインテリジェントな補完を削除できることを知っています。でもケーキを持って食べてもいいですか? 最初にインテリジェントな補完を使用するようにbashに要求できますが、それが失敗した場合は、インテリジェントでない補完を使用できますか?

1
ログインか非ログインかに関係なく、常にインタラクティブモードで読み込まれるBashファイルはありますか?
私の知る限り、対話型シェルはログインである場合とログインでない場合があり、それらの起動ファイルは異なります。 もしインタラクティブ+のログインシェル→ /etc/profileその後の最初読める~/.bash_profile、~/.bash_loginと、~/.profile もしインタラクティブ+非ログインシェル→ /etc/bash.bashrcその後、~/.bashrc ログインシェルかどうかに関係なく、インタラクティブシェルを使用するたびにいくつかの変数を設定したいと思います。
10 bash  login  bashrc 

5
/ tmpへの保存は実際には保存されませんか?
Firefoxからメールの添付ファイルを開きます(以前に保存せずに)。これはLibre Office文書です。編集してから、保存(名前を付けて保存ではなく)を押して、テキストエディターとブラウザーの両方を閉じます。その後、ドキュメントはデフォルトでに保存されていたため、表示されなくなります/tmp。少なくともこれは私のUbuntu 12.04の場合です。 これは正しい動作だと思いますか?プログラムは、少なくとも実際には何も保存していないことを思い出させてはいけませんか?または、ファイルを回復する方法はありますか(ログアウトや再起動後も)?

3
Office365から会議の招待状を受け取り、それらを解析してカレンダーに追加するにはどうすればよいですか?
iCalendar(.icsまたは.ical)会議の招待状をoutlook.office365.comから受信して、解析してカレンダーに追加できるようにする方法(リマインド+ wyrdなど)? 私は長い間懸命に答えを探しましたが、何も見つかりませんでしたので、本当に些細なことを見逃しているだけなのでしょうか。 Fedora 20(Heisenbug)のOfflineIMAP 6.5.5でMutt 1.5.22を使用しています。 iCalendarメッセージをカレンダーにインポートできる形式に解析するためのスクリプトは数多くあります。これは私の問題ではありません。私の問題は、iCalendarメッセージも受信しないため、解析するものがないことです。 会議の招待状が、base64でエンコードされたtext / htmlメッセージとして受信トレイに届きます。それはないマルチパートメッセージとはありません何の添付ファイルが。メッセージの本文には、Microsoft Outlook Web Access(OWA)へのリンクが含まれています。リンクをたどっても、WebMailに行く以外は何もしないようです。メール本文の残りの部分には、会議への招待の説明が含まれています。 招待状を転送して添付ファイルとして転送しようとしましたが、どちらもメッセージの形式に影響しませんでした。 メッセージのヘッダーを調べましたが、重要なものは何も目立ちませんでした。誰かに何か意味がある場合に備えて、ここにコピーしました。 Received: from [...] by [...] with Microsoft SMTP Server (TLS) id [...] via Mailbox Transport; [timestamp] Received: from [...] by [...] with Microsoft SMTP Server (TLS) id [...]; [timestamp] Received: from [...] by [...] …
10 mutt 

2
シェルはより「攻撃的」になることができますか?
私のGentoo Linuxは、不適切な USE フラグを有効にしてコンパイルされています。 # sudo su - Password: Hold it up to the light --- not a brain in sight! Password: 不快感の程度に基づいて運勢を選択することもできます。 # fortune -o kernelcookies | cowsay -b _________________________________________ / /* This is total bullshit: */ \ | | \ linux-2.6.6/drivers/video/sis/init301.c / ----------------------------------------- \ ^__^ \ (==)\_______ (__)\ …
10 shell  cowsay 

1
USBスティックをストレージメディアとして使用してRAIDシステムをセットアップする方法
冗長ストレージを備えた安価な自己ホスト型プライベートgitサーバーを作成したい。そのために、私はRaspberry Piを購入し、両方gitとPi上で構成しsshました。LANとリモートの両方で(ルーターのポートをPiに転送することで)Piにアクセスできます。 したがって、gitサーバーはすでに稼働しています。最後に行うことは、冗長ストレージです。7ポートのUSBハブをPiに接続しているため、複数の同一のUSBスティックを使用してRAIDシステムをセットアップしたいと思います。 私はRAIDの概念的な知識しか持っていません。したがって、私はそれを設定する方法を知りません。さらに重要なのは、ハブに接続されたUSBスティックでそれが可能かどうかです。 これらは基本的に私の質問です USBスティックをストレージメディアとして使用してRAIDシステムをセットアップできますか 使用すべきソフトウェア RAIDシステムの優れたチュートリアル/マニュアルはどこにありますか RAIDが不可能な場合、どうすれば複数のUSBスティック間でデータを同期できますか

2
printkは内部的にどのように機能しますか?
私printfはその仕事をするためにOSの助けが必要であることを知っています。 printfライブラリがないため、Linuxソースコードでは機能しないことも知っています。そしてprintkデバッグのためにあります。 printkOSがまだ起動している場合、どのように機能しますか?

6
bash文字列で始まる行を見つける
たくさんのファイルがあり、特定の文字列で始まる連続した行が含まれているファイルを見つけたい。 たとえば、次のファイルの場合: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee 「C」で始まる行が複数あるので、このファイルをコマンドで見つけたいと思います。 たとえば、次のファイルの場合: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd 「C」で始まる行は常に1つあります。このファイルは必要ありません。a grepやa の使用を考えましたsedが、正確な方法がわかりません。多分正規表現^C.*$^Cかそのようなものを使用しています。何か案が ?
10 bash  sed  grep  string 

1
ファイル名に改行を含むファイルを見つける方法は?
ファイル名に改行が含まれているファイルを見つけようとしています。しかし、どのパターンを使用するべきかわかりません。 以下は機能しますが、インデントされたコードで使用する場合はあまり役に立ちません。 find . -name '* *' 私はこれら2つを試したところ、nという文字を含むファイル名を見つけることに成功しました。 find . -name '*\n*' find . -name "*\n*" それから私はバックスラッシュエスケープシーケンスを書く方法を見つけてこれを試しました: find . -name "*$'\n'*" しかし、それでは何も見つかりません。どのようにパターンを書けばよいですか?
10 shell  find  patterns 

3
類似のbash関数を一度に定義する方法
私はこれらの機能を持っています~/.bashrc: function guard() { if [ -e 'Gemfile' ]; then bundle exec guard "$@" else command guard "$@" fi } function rspec() { if [ -e 'Gemfile' ]; then bundle exec rspec "$@" else command rspec "$@" fi } function rake() { if [ -e 'Gemfile' ]; then bundle exec …
10 bash 

3
複数のモニターで1つのスクリーンセーバーを実行する
xscreensaverXinerama / XRANDRジオメトリを無視して、Xディスプレイ全体で単一のスクリーンセーバーを実行する方法はありますか? 1つのXディスプレイに1つのX画面として表示される3つのモニターがあります。XRANDRは、各物理モニターが単一のX画面で開始および終了する場所に関する情報を提供します。 xscreensaverこれを使用して、各モニターで異なるスクリーンセーバーを実行するか、同じスクリーンセーバーを3回(モニターごとに1回)実行します。 これを変更して、1つのスクリーンセーバーだけが実行され、3つのモニターすべてにまたがるようにします(つまり、Xスクリーン全体を占めます)。これにより、スクリーンセーバーのアニメーションは、1つのモニターから次のモニターに自由に移動できます。 。 これは可能ですか?

2
xrandr 1.4の2ビデオドライバーを備えたデュアルモニター
2つの異なるビデオカードドライバー(i915とnvidia)でデュアルスクリーンにしようとしていますが、ご覧のとおり、xrandrはnvidiaプロバイダーのみをリストしています。Arch Linuxを使用しています。xrandrプロバイダーリストを取得する場所を見つけることに失敗しました。 [x@epoch ~]$ xrandr --listproviders Providers: number : 1 Provider 0: id: 0x279 cap: 0x1, Source Output crtcs: 4 outputs: 6 associated providers: 0 name:NVIDIA-0 [x@epoch /etc/X11]$ sudo lshw -numeric -c video *-display description: VGA compatible controller product: GK104 [GeForce GTX 770] [10DE:1184] vendor: NVIDIA Corporation [10DE] physical id: …

2
グループメンバーシップとsetuid / setgidプロセス
プロセスデエスカレート経由権限setuid()とsetgid()UID / GID彼らはセットのグループメンバーシップを継承していないようです。 特権ポートを開くためにrootとして実行する必要があるサーバープロセスがあります。その後、特定の非特権uid / gid 1にエスカレートします-たとえば、ユーザーfoo(UID 73)のuid / gid 。ユーザーfooはグループのメンバーですbar: > cat /etc/group | grep bar bar:x:54:foo したがって、としてログインするとfoo、/test.txt次の特性を持つファイルを読み取ることができます。 > ls -l /test.txt -rw-r----- 1 root bar 10 Mar 8 16:22 /test.txt ただし、std=gnu99ルートを実行すると、次のCプログラム(コンパイル)が表示されます。 #include <stdio.h> #include <fcntl.h> #include <unistd.h> int main (void) { setgid(73); setuid(73); int fd = open("/test.txt", O_RDONLY); …

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