Unix & Linux

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

1
`systemctl`の--nowスイッチ
manページで述べたように、 systemctl --now enable servicename サービスを有効にして開始する必要があります。 しかし、多くの異なるディストリビューションのもとでは、私にはうまくいきません。 出力は次のとおりです。 systemctl is-enabled 有効になります systemctl is-active サービスに対してまだ非アクティブです。 このスイッチは何に適していますか? 私は次のような他の組み合わせを試しました: systemctl enable --now servicename そして: systemctl enable servicename --now しかし、まだ同じです。systemctl start servicename前のコマンド(つまり、enableパーツ)が正常に実行された場合でも、毎回手動で実行する必要があります。 systemdサービスの豊富なアプリケーションが、ユニットファイルのどこかに機能を実装することをサポートするべきでしょうか。多くの有名なサービスが従わないもの、それは私がその完全に役に立たないスイッチだと思った。私はそれについて考えていると思います。

3
依存関係なしで手動でインストールした最上位のパッケージを一覧表示する
を使用して手動でインストールされたパッケージを表示するにはapt、次のような多くの方法があります。 apt-mark showmanual しかし、その出力が多すぎる場合があります。たとえば、ユーザーが手動でパッケージをインストールした場合foo: apt-get install foo ...とにfoo依存しbarているbaz場合は、次のapt-mark showmanualように出力されます。 bar baz foo どのように我々はトップレベル手動でインストールしたパッケージ(のみ一覧表示することができますつまりは foo)それらの依存関係なしで(すなわちないbaz、もbar)? 次のコードは機能するようですが、GNU が数百回parallel呼び出すapt-rdependsのは遅すぎます(4コアCPUで3時間)。 apt-mark showmanual | tee /tmp/foo | parallel "apt-rdepends -f Depends,PreDepends,Suggests,Recommends {} | tail +2" 2> /dev/null | tr -s ' ' '\n' | grep -v '[():]' | sort -Vu | grep -wv -f - …
12 debian  ubuntu  apt  deb 

3
名前付きパイプへの自動EOFを防止し、必要なときにEOFを送信する
特定のストリーム(次の場合はstdin)でEOFを読み取ると自動的に終了するプログラムがあります。 次に、名前付きパイプを作成し、プログラムの標準入力をそれに接続するシェルスクリプトを作成します。その後、スクリプトは、パイプへの書き込みを数回使用echoし、cat(自動的にEOF彼らの出口を生成し、他のツールを)。私が直面している問題は、最初の処理echoが完了すると、EOFをパイプに送信してプログラムを終了させることです。このようなものを使用tail -fすると、プログラムを終了しようとするときにEOFを送信できません。私はバランスの取れた解決策を研究していますが、無駄です。 EOFを防ぐ方法とEOFを手動で送信する方法の両方をすでに見つけましたが、それらを組み合わせることができません。ヒントはありますか? #!/bin/sh mkfifo P program < P & : # Run in background # < P tail -n +1 -f | program echo some stuff > P # Prevent EOF? cat more_stuff.txt > P # Prevent EOF? send_eof > P # How can I do this? # …

2
chshコマンドでシェルを変更できないのはなぜですか?
このコマンド:chshは説明したように動作しないため、少なくとも新しいコマンドを学びました。 次のように機能すると説明されています。 cat /etc/shells 知っておくべきことは、どのシェルがインストールされているかを知るためです。 echo $SHELLあなたが使用しているシェルを知るために行います。 シェルの1つを選択して入力 chsh -s /path/to/shell パスワードを入力echo $SHELLし、新しいシェルにいることを確認します。 これを実行しましたが、パスワードの入力時にエラーメッセージは表示されませんでしたが、同じシェルにいました。 % echo $SHELL /bin/bash % cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash % chsh -s /bin/sh Password: % echo $SHELL /bin/bash

2
avahi-daemonと「.local」ドメインの問題
24時間365日稼働しているUbuntu 16.04ベースのHTPC /メディアサーバーがあります。私が公式のUbuntuディストリビューションを使用したことを覚えている限り、私は常にavahi-daemonに問題を抱えてきました。この問題はオンラインでかなり頻繁に議論されます。一部の人はデーモンを削除することにしましたが、CUPSサーバーを実行していて、AirPlayレシーバーとしてKodiを使用しているため、実際にはそれが必要です。 問題 mDNS / DNS-SDは、本質的にユニキャストDNSゾーン.localと互換性がありません。このようなネットワーク設定では、Avahiまたはnss-mdnsを使用しないことを強くお勧めします。注意:nss-mdnsは通常Avahiにバンドルされておらず、個別にダウンロードしてインストールする必要があります。(avahi.org) 症状は単純です-約2〜4日の稼働後、ネットワーク接続がダウンし、これがログに記録されます Mar 17 18:33:27 15 avahi-daemon[1014]: Withdrawing address record for 192.168.1.200 on enp3s0. Mar 17 18:33:27 15 avahi-daemon[1014]: Leaving mDNS multicast group on interface enp3s0.IPv4 with address 192.168.1.200. Mar 17 18:33:27 15 avahi-daemon[1014]: Interface enp3s0.IPv4 no longer relevant for mDNS. ネットワークは、最大戻ります問題もなく、あなたが物理的に再接続する場合、イーサネットプラグを、あるいはあなたがソフトウェア側を再接続した場合。 可能な解決策 公式wikiには3つのソリューションがリストされていますが、これらは2016年6月のように機能していないため、機能していないため、非直接のarchive.orgリンクを提供しています。 …
12 linux  dns  avahi 

4
シェルスクリプトを介してymlファイルを変更することは可能ですか?
これは私のdocker-compose.ymlがどのように見えるかです。 nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' links: - 'anything' 次に、シェルスクリプトを介してコンテンツを追加する必要があります(ubuntuサーバー上)。それが可能かどうかはよくわかりません: 新しい要素がnginx/links存在しない場合は、に追加します 追加のnewthingブロックなしnewthingブロックが存在されていない場合 新しいコンテンツは次のようになります。 nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' - '/etc/letsencrypt:/etc/letsencrypt' links: - 'anything' - 'newthing' newthing: container_name: foo image: 'newthing:1.2.3' …

1
パスのパスフレーズを変更する方法(パスワードマネージャー)
gpgキーのパスワードを変更しました。ただし、事前に同じgpgキーを使用してパスを介してパスワードストアを作成しました。 これで、パスワードを照会するときはいつでも、古いgpgパスワードを求められます。他のアプリケーションでは、新しいパスフレーズが必要です。 パスのパスフレーズを変更するにはどうすればよいですか?「init」をもう一度実行する必要がありますか?

3
ポートがメッセージを受信したときに実行するスクリプトを設定する方法
シェルスクリプトを特定のポートでリッスンする方法を知りたいです(おそらくnetcatを使用していますか?)。うまくいけば、メッセージがそのポートに送信されると、スクリプトがメッセージを記録してから関数を実行します。 例: コンピューター1はスクリプトをバックグラウンドで実行し、スクリプトはポート1234を着信トラフィックに開きました コンピューター2はメッセージ「hello world」をコンピューター1のポート1234に送信します コンピューター1のスクリプトは、メッセージ "hello world"を変数$ MESSAGEに記録します 変数$ MESSAGEが設定されたため、スクリプトは関数を実行します これを寄付するにはどうすればよいですか?

7
Bashの異なるコードポイントでASCII文字を印刷するにはどうすればよいですか?
ASCIIテーブルには、さまざまな数値システムのコードポイントを持つ「J」文字が存在します。 Oct Dec Hex Char 112 74 4A J printf '\112'またはを印刷することにより、この文字を8進コードポイントで印刷 できecho $'\112'ます。10進数と16進数のコードポイントプレゼンテーションで同じ文字を印刷するにはどうすればよいですか?
12 bash  shell  ascii 

5
ファイルの読み取り、書き込みを許可するが削除は許可しない方法
私はユーザーに他のユーザーディレクトリに書き込みおよび読み取りファイルを作成する機能を与えたいが、作成後にファイルを削除するオプションがないようにしたい(スティッキービットはここでは機能しない...)例: 私は、ユーザーが持っているmanager ディレクトリでrepository 、私は、ユーザー持っているworker1必要が書き込みにファイルをすること/manager/repositoryが、ファイルを削除することはできません 私は、ユーザーが持っているのworker2に対して、書き込みファイルへの必要性という/manager/repository ファイルを削除することはできませんが 、私は、ユーザーが持っているしworker3ていることへの書き込みファイルへの必要性/manager/repository はなくはできませんファイルを削除する しかしworker 1-2-3のみ作成後にファイルを削除することはできませんmanagerし、rootファイルを削除することができますworker 1-2-3作成します。 私はいくつか試したchownし、chmod成功せずにスティッキービットを適用するとトリック。

3
サービスとしてのApacheの起動はSIGWINCHで終了します
実行するservice apache startと、ログファイルに次のエントリが表示されます。 [mpm_event:notice] [pid 1906:tid XXX] AH00489: Apache/2.4.23 (Unix) OpenSSL/1.0.2g PHP/7.0.9 configured -- resuming normal operations [core:notice] [pid 1906:tid XXX] AH00094: Command line: '/usr/sbin/httpd' [mpm_event:notice] [pid 1906:tid XXX] AH00492: caught SIGWINCH, shutting down gracefully そしてサービスapacheが開始されませんか?インターネットでSIGWINCH[ Window size change]の意味を見つけることができますが、この場合はあまり役に立ちません。 ファイル/etc/systemd/system/apache.service: [Unit] Description=The Apache Webserver [FaF Compiled] After=network.target nss-lookup.target time-sync.target Before=getty@tty1.service …

5
bash +特殊な形式で印刷するためにprintfを使用
Linuxマシンのリストでpingアクセスを確認するために、次のbashスクリプトを作成しました。 for M in $list do ping -q -c 1 "$M" >/dev/null if [[ $? -eq 0 ]] then echo "($C) $MACHINE CONNECTION OK" else echo "($C) $MACHINE CONNECTION FAIL" fi let C=$C+1 done これは印刷します: (1) linux643 CONNECTION OK (2) linux72 CONNECTION OK (3) linux862 CONNECTION OK (4) linux12 CONNECTION …

5
network.serviceはLSBの開始に失敗しました:ネットワークの起動/停止-Centos 7
Centos7でネットワークサービスを開始しようとすると問題が発生します。次のエラーメッセージが表示されます。 Failed to start LSB: Bring up/down networking この問題は、/ etc / sysconfig / network-scripts / ifcfg-eth0ファイル(以下にあります)から静的IPアドレスを取得していないことに気付いたときに発生しました。 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.16 NETMASK=255.255.255.0 HWADDR=B8:27:EB:C3:1E:EC NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet 再起動すると、デバイスはIPアドレス192.168.0.7でロードされますが、静的IPアドレスが割り当てられていないこと、およびDHCPサーバー(私が持っているルーター)の情報をどのように取得しているかがわかりません NetworkManagerを無効にしようとしました。これは、以下のコマンドを発行してネットワークサービスに混乱を引き起こしている可能性があるためです。 systemctl stop NetworkManager そして、ネットワークを有効にします systemctl start network 再び同じエラーが発生し、次にdhclientプロセスを強制終了し、ネットワークサービスをもう一度開始しようとしたところ、再び同じエラーが発生しました。 DHCP IPを介してサーバー上でその時点でインターネットに接続していたため、忍耐力を失い、「yum remove Network Manager」を実行して再起動を試みましたが、再び失敗しました。それが良いアイデアだったかどうかはわかりませんが、とにかくうまくいきませんでした。 インターネットで見つけた提案を使い果たしたようです。他の誰かが何が起こっているのか考えているかどうか疑問に思っています。 編集:もう1つ注意してください。これはVMではなく、仮想化に何らかの関係があります。これは単にRaspberryPI 3です どうもありがとう。 編集:ログエントリ: Jan 01 00:00:06 <hostname> systemd[1]: Starting …

1
systemd-networkd-再起動せずに新しい構成を強制する方法?
私のArchボックスには、ネットワークブリッジがありました。目標は、ブリッジを削除し、ブリッジされていないネットワークアダプターのみを使用することでした。これを行うために、以下のすべての* .netdevおよび* .network構成ファイルを削除し/etc/systemd/network、それらを1つの単純なファイルに置き換えました。 /etc/systemd/network/lan.network -------------------------------- [Match] eno* [Network] DHCP=ipv4 私は、使用してネットワークサービスを再起動しsystemctl restart systemd-networkd、これはただで私を残してと仮定して、loおよびeno*インタフェース。残念ながら、これは効果がありませんでした。をざっと見てみるとip link、ブリッジインターフェースがアクティブでアクティブであることがわかりました。 この特定のケースでの稼働時間は重要ではないため、問題を解決したマシンを再起動しただけです。それでも、このような場合には再起動は必要ないのではないかと思います。私は何を逃したのですか?

1
ハードディスクに保存されているISOファイルから起動するにはどうすればよいですか?
起動可能なCD / DVDまたはライブUSBを作成/書き込みでき、そこから起動/インストールできることを知っています。しかし、現在GNU / Linuxを実行していて、ハードディスクにインストールしたい別のGNU / LinuxのISOファイルがある場合、ハードディスクからISOから直接起動して、そのGNU / Linuxオペレーティングシステムを試してインストールできますか? ?

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