0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ほぼ自分用】Linux系で必要なコマンドやライブラリがインストールされているか確認するシェルを作ったので共有

Last updated at Posted at 2024-10-24

目次

1.はじめに
2.前提条件
3.実装内容について
4.シェルの中身
5.まとめ

1. はじめに

このソフトウェアインストールしてくれやとか言われてドキュメントを見たら必要なライブラリとかコマンドがびっしりある....そんなときありますよね?(ない)
必要パッケージを一個一個確認するの手間だなと思って作ってみました。(β版)
結構適当に作ったので改善点とかここおかしくね?みたいなのあればコメントいただけるとしっぽブンブンです。
よろしくお願いします。

2. 前提条件

試したOS種はAL2023とRHEL8.9のみなので、動作保証はこいつらだけです。
あと実行するにあたっての権限付与とかのコマンドや作成までの過程はわかるものとして省いてますので、初心者の方については権限付与含め勉強がてら調べてみてください。

3. 実装内容について

ただ記載したコマンドとパッケージ名を確認していくだけです。
対話形式にしようとしたけどそれもまぁめんどくさいかなと。。。
確認したいライブラリ名やコマンドをリスト部分に""で囲って記載して編集してください
例では1,2のみになってますが行を増やせばその分チェックできる。。。。はず。。。。

4. シェルの中身

checkpackage-command

#!/bin/bash

# ライブラリとコマンドのリスト
libraries=(
    "確認したいライブラリ名1"
    "確認したいライブラリ名2"
)

commands=(
    "確認したいコマンド名1"
    "確認したいコマンド名2"
)

# インストールされていないライブラリとコマンドを保持するリスト
missing_libraries=()
missing_commands=()

# ライブラリの確認
for lib in "${libraries[@]}"; do
    if ! ldconfig -p | grep -q "$lib"; then
        missing_libraries+=("$lib")
    fi
done

# コマンドの確認
for cmd in "${commands[@]}"; do
    if ! command -v "$cmd" &> /dev/null; then
        missing_commands+=("$cmd")
    fi
done

# 結果の表示
if [ ${#missing_libraries[@]} -eq 0 ] && [ ${#missing_commands[@]} -eq 0 ]; then
    echo "全てのライブラリとコマンドがインストールされています。"
else
    if [ ${#missing_libraries[@]} -ne 0 ]; then
        echo "インストールされていないライブラリ:"
        for lib in "${missing_libraries[@]}"; do
            echo "$lib"
        done
    fi

    if [ ${#missing_commands[@]} -ne 0 ]; then
        echo "インストールされていないコマンド:"
        for cmd in "${missing_commands[@]}"; do
            echo "$cmd"
        done
    fi
fi

5. まとめ

必要ライブラリ&コマンドがインストールされていないことがわかったらインストールは手動でやっていってください。
余談)インストールも自動化しようと思ったのですが、なんか怖いので確認のみのシェルにしてます。

検証環境とかでお試しで使ってみてくださいね

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?