openssh-serverがインストールされているかどうかはどうすればわかりますか?

openssh-serverがインストールされているかどうかはどうすればわかりますか?

私はインストールスクリプトを使用します。以下は2つのインストールコマンドです。

function InstallChrome()
{
    if ( which google-chrome 1>/dev/null ); then
        echo "Chrome is installed"
        return
    fi

    echo "Installing Google Chrome ..."

    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O chrome
    sudo dpkg -i chrome

    echo "Installed Google Chrome"
}

したがって、デフォルトでインストールされているプログラムを検索し、aptプログラムがある場合はコマンドを実行しませんapt

aptその理由は、小切手を受け取るよりもはるかに速いからです。

ただし、このコードは機能しません。

function InstallSshServer()
{
    if ( which openssh-server 1>/dev/null ); then
        echo "SSH Server is installed"
        return;
    fi

    echo "Installing SSH Server ..."

    sudo apt install openssh-server -y

    echo "Installed SSH Server"
}

openssh-serverマイコンピュータにインストールされているプログラム名は何ですか?インストールされていることを確認する方法は?

ベストアンサー1

openssh-serverインストール/usr/sbin/sshd、あなたはそれを見つける必要があります。パッケージは必ずしも同じ名前のバイナリをインストールする必要はなく、パッケージがインストールするバイナリが必ずしもすべてのユーザーのパスにある必要はありません。したがって、明示的に:

[ -x /usr/bin/sshd ] || sudo apt install -y openssh-server

dpkg -Lパッケージがインストールされると、パッケージがインストールされているファイルが何であるかがわかります。次のコマンドを使用してバイナリを一覧表示できます。

dpkg -L openssh-server | grep bin/

apt-file listパッケージを最初にインストールしなくても、パッケージとしてインストールされたファイルが表示されます。

記述子として、「which」を使わないのはなぜですか?それでは何を使うべきですか?スクリプトに役立つ資料を提供します。

おすすめ記事