Unix & Linux

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


2
sudoにパスワードをより長く記憶させるにはどうすればよいですか?
sudo入力し続ける必要がないように、パスワードをより長く記憶させるにはどうすればよいですか?私はsudo su常にrootとしてコマンドを実行したくはありません。 私はArch Linuxを使用していますが、これをグーグルで検索しようとしましたが、パスワードを変更する例がありますが、これは私が望んでいることではありません。
18 sudo  password 

5
ユーザーサービスを有効または無効にできません:操作の実行に失敗しました:そのようなファイルまたはディレクトリはありません
Redisサーバーを使用するEclipseのプログラムをデバッグ/テストしたいので、サーバーを実行する特権を得るためにサーバーをユーザーサービスに変えることにしました。気になるのは、サービスを開始または停止できるが、有効/無効にできないことです。 私が得るエラーは: Failed to execute operation: No such file or directory 元の/ usr / lib / systemd / system: [Unit] Description=Advanced key-value store After=network.target [Service] User=arkos ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf ExecStop=/usr/bin/redis-cli shutdown [Install] WantedBy=multi-user.target 編集して/ usr / lib / systemd / userに移動しました: [Unit] Description=Advanced key-value store [Service] ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf ExecStop=/usr/bin/redis-cli shutdown [Install] …

2
JavaScriptの「split()」のようなものがシェルにありますか?
split()JavaScriptで文字列を配列に分割するのは非常に簡単です。 シェルスクリプトはどうですか? 私はこれをやりたいと言います: $ script.sh var1_var2_var3 ユーザーがそのような文字列var1_var2_var3をscript.shに渡すと、スクリプト内で文字列を次のような配列に変換します array=( var1 var2 var3 ) for name in ${array[@]}; do # some code done

1
プロセスがまだ終了していない場合、systemdタイマーユニットは次の実行をスキップしますか?
systemdを使用して、5分ごとにコマンドを実行します。ただし、タスクの実行に5分以上かかることがあるというリスクがあります。その時点で、systemdはコマンドの2番目のインスタンスを開始しますか。つまり、2つのプロセスが実行されますか? 最初のプロセスが完了していない場合、2番目のプロセスを開始しないようにsystemdに指示することはできますか?そうでない場合、いくつかの良い回避策は何ですか? 注:答えが「これがデフォルトの動作です。文書化されていないだけです」と願っています。これが状況である場合、誰かがドキュメントに対してバグを報告する方法を教えてもらえますか? 注:Cronには、https://unix.stackexchange.com/a/173928/11244で説明されている同様の問題があります。systemdと同等のものを探しています。
18 cron  systemd 

2
NFS:mount.nfs:プロトコルはサポートされていません
Zyxel NSA310s NASのNFS共有をマウントしたい。クライアントマシンで呼び出されるShowmountは、共有を表示します。 $ showmount 10.0.0.100 -e Export list for 10.0.0.100: /i-data/7fd943bf/nfs/zyxelNFS * クライアントの/ etc / fstabには次の行が含まれます。 10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS nfs rw 0 0 ただし、マウントは機能しません。 sudo mount /media/nasNFS/ -v mount.nfs: timeout set for Mon May 25 17:34:46 2015 mount.nfs: trying text-based options 'vers=4,addr=10.0.0.100,clientaddr=10.0.0.2' mount.nfs: mount(2): Protocol not supported mount.nfs: trying text-based …
18 mount  nfs  fstab 

4
同じベース名のディレクトリにtarを抽出しますか?
のようなzip形式のファイルがありますmyArchive123.tar.gz。内部には次のようなフォルダが含まれていますhelloWorld 抽出する場合:フォルダーtar -xf myArchive123.tar.gzを取得しhelloWorldます: ls myArchive123.tar.gz helloWorld 出力は、ファイル名から.tar.gz拡張子を除いたものと同じ名前にしたいと思います。すなわち: tar <magic paramaters> myArchive123.tar.gz ls myArchive123.tar.gz myArchive123 cd myArchive123 ls helloWorld これはできますか? アーカイブの内容はわかりません。フォルダーにすることも、多くのファイルにすることもできます。 tarでできない場合は、別のツールを使用しても問題ありません。 スクリプトに変換できるより長いフォームでも大丈夫です 編集 その間、仕事をやり遂げるように見えるスクリプトを自分でハッキングしました。(以下に投稿された回答を参照してください)。改善できる場合は、コメントや追加の回答を投稿してください。主なことは、次のようなワンライナーにパッケージ化できることです。 extract <file>
18 tar 

2
/ etc / networksファイルの実際の使用法
/etc/networksファイルの実際の使用法は何ですか?私が理解しているように、このファイルでネットワークに名前を付けることができます。例えば: root@fw-test:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 root@fw-test:~# ただし、ipユーティリティなどでこのネットワーク名を使用しようとすると、機能しません。 root@fw-test:~# ip route add google-dns via 104.236.63.1 dev eth0 Error: an inet prefix is expected rather than "google-dns". root@fw-test:~# ip route add 8.8.4.4 via 104.236.64.1 dev eth0 root@fw-test:~# /etc/networksファイルの実際の使用法は何ですか?

2
プロキシ(nginx)に不正なゲートウェイエラーが表示される
で実行されるサービス(dockerレジストリ)がありport 5000、http要求をから8080にリダイレクトするnginxをインストールしました5000。カールを作成するlocalhost:5000と機能しますが、カールを作成localhost:8080するとBad gatewayエラーが発生します。 nginx構成ファイル: upstream docker-registry { server localhost:5000; } server { listen 8080; server_name registry.mydomain.com; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 0; chunked_transfer_encoding on; location / { proxy_pass http://docker-registry; } location /_ping { auth_basic off; proxy_pass http://docker-registry; } location /v1/_ping { auth_basic off; proxy_pass http://docker-registry; } } で/var/log/nginx/error.log、私があります。 …
18 proxy  nginx  gateway 

4
Linuxでマニュアルページ全体を検索する方法は?
すべてのマニュアルページで特定の単語を検索する必要がある場合があります。私は知っていますがapropos、マニュアルの権利を理解していれば、検索のみを説明に制限します。 各マニュアルページには、短い説明があります。aproposは、キーワードのインスタンスの説明を検索します。 たとえば、「viminfo」のような単語を検索しても、まったく結果が得られません... $ apropos viminfo viminfo: nothing appropriate. ...この言葉は、Vimのマニュアル(システムにインストールされています)の後半にありますが。 -i {viminfo} When using the viminfo file is enabled, this option sets the filename to use, instead of the default "~/.vim‐ info". This can also be used to skip the use of the .viminfo file, by giving the name "NONE". …

3
Jessieが安定版リリースになると、Debian Wheezy(安定版)は自動的にJessieにアップグレードされますか?
私はDebian Wheezy(安定版)を使用しており、基本的にシステムを定期的に更新しています: sudo apt-get update sudo apt-get dist-upgrade 将来、Jessieが安定版リリースになったら、Wheezyが自動でJessieになるかどうかは、私が続ければどうなるのかと思いdist-upgradeます。 常に現在の安定版リリース(数年後、たとえばJessieの後のSid)を常に使用するために、手動での手順が必要ですか、それともそのままの状態になりますか? たとえば、何らかの方法でsources.listファイルを変更して、Jessieがトラックを手動で踏むことなく単に身をかがめるようにする必要がありますか、または「大きな」更新(「dist-upgrade」)がすべてを行いますwheezytoのすべてのインスタンスを変更jessieすることがわかっているときに変更しますか? (sources.listのすべての単一行に含まれていますwheezy。おそらくwheezy、それらから削除するだけですか?) 私は少々新参者です(OS Xから、そしてそのWindows以前)。同じチャンネルでの「リリースアップグレード」がDebianでどのように自動的に行われるかはわかりません。通常のシステム更新チェックとは別に、手動チェックや複雑な手順を必要としない、次の(安定/準備完了)リリースへの完全アップグレード。

2
私のコマンドの最後でこれをどのように実行し、スクリプトを非常に高速にしましたか?
オンラインでいくつかのCTFの課題を解決しているときに、サーバーをブルートフォースする必要がある状況に遭遇しました。これは私が書いたコードです: #!/bin/bash for i in {0..9}{0..9}{0..9}{0..9} do echo "Now trying code.." echo $i echo "a fixed string" $i | nc localhost *port here* >> /tmp/me/dump.txt done これは、信じられないほど、非常に遅いものでした。1000〜9999の組み合わせを試す必要があり、10回の試行ごとに約5秒かかりました。次に、アドバイスに従って、この行の最後に「&」を付けます。 echo "a fixed string" $i | nc localhost *port here* >> /tmp/me/dump.txt & そして、数秒で数百の組み合わせを試しました。とても驚いた。誰かが私にロジックを説明できますか?「&」は何をしましたか?

4
メール:メッセージを送信できません:プロセスがゼロ以外のステータスで終了しました
私は何の問題もなく二週間ほど仕事をしてきました。それから昨夜、私が通常受け取るメールを受け取らないことを確認しました。私は自分自身にメールを送信しようと端末に行きましたが、次のエラーが出ました: メール:メッセージを送信できません:プロセスがゼロ以外のステータスで終了しました ssmtp cfgファイルで何も変更していません。コード、ssmtp、すべてが完璧であることを確認して再確認すると、機能しなくなりました。 私はcronjobを介して1日に2回メールを送信します。crontabも干渉されていません。なぜ機能しなくなるのか本当に分かりません。 システムはGmail経由でメールを送信します-私はGmailアカウントにアクセスしてテストメールを送信しましたが、問題なく送受信されます。 さらに、私はグーグル、フォーラム、ウェブサイト全体でチェックしましたが、間違いはありません。24時間前にすべてが正常に機能していたため、これは理にかなっていますが、現在は停止しています。 Q:このような問題を解決する方法を診断およびトラブルシューティングする方法はありますか?
18 cron  email  ssmtp 

1
部分的な読み取りでUNIXストリームの補助データはどうなりますか?
UNIXストリームの補助データに関する多くの情報を読みましたが、すべてのドキュメントから欠落していることの1つは、部分的な読み取りがある場合に何が起こるかということです。 24バイトのバッファーに次のメッセージを受信するとします。 msg1 [20 byes] (no ancillary data) msg2 [7 bytes] (2 file descriptors) msg3 [7 bytes] (1 file descriptor) msg4 [10 bytes] (no ancillary data) msg5 [7 bytes] (5 file descriptors) recvmsgの最初の呼び出しで、msg1のすべて(およびmsg2の一部を取得しますか?OSはこれを実行しますか?)メッセージが実際にデータを処理するように言っていることを知っているとき?msg1から20バイトを解放してからrecvmsgを再度呼び出すと、msg3とmsg4を同時に配信しますか?msg3およびmsg4からの補助データは、制御メッセージ構造体で連結されますか? これを実験的に調べるためのテストプログラムを作成することはできますが、ストリーミングコンテキストでの補助データの動作に関するドキュメントを探しています。公式なものが見つからないのは奇妙に思えます。 このテストプログラムから得た実験結果をここに追加します。 https://github.com/nrdvana/daemonproxy/blob/master/src/ancillary_test.c Linux 3.2.59、3.17.6 このrecvmsgの呼び出し中に事前の補助ペイロードを配信する必要がない限り、Linuxは補助ベアリングメッセージの一部を他のメッセージの最後に追加するようです。1つのメッセージの補助データが配信されると、次の補助データメッセージを開始するのではなく、短い読み取りを返します。したがって、上記の例では、取得する読み取りは次のとおりです。 recv1: [24 bytes] (msg1 + partial msg2 with msg2's 2 file …

3
Unicode文字を書く普遍的な方法はありますか?
vim、Chrome(今のように!)、またはLibreOfficeなどのさまざまなプログラムで、emダッシュ(—)などの特殊なUnicode文字を書きたいことがあります。 LibreOfficeでは、[挿入]メニューの下にある専用のダイアログボックスでこれを実現できます。他のプログラムには組み込みの方法がないようです。これらの場合の私の解決策は、Wikipediaでキャラクターを検索し、コピーして貼り付けることです。 Linuxでテキスト入力を受け付けるプログラムで、すでに印刷されている場所からコピーアンドペーストすることなく、Unicode文字を書く普遍的な方法はありますか?

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