#!/bin/bash ########################################################### # # 오프라인 설치를 위한 RPM을 다운로드 받는다. # 의존성 패키지까지 다운로드하기 위해서는 minimum 설치 # 상태의 리눅스 시스템에서 스크립트를 실행해야 한다. # ########################################################### RPMDIR="/root/rpm" ########################################################### # # yumdownloader 설치 # ########################################################### install_yumdownloader() { mkdir -p "${RPMDIR}/yum-utils" yum install -y --downloadonly --downloaddir="${RPMDIR}/yum-utils" yum-utils if [ ! -f /usr/bin/yumdownloader ] then rpm -Uvh --nodeps ${RPMDIR}/yum-utils/*.rpm fi } ########################################################### # # RPM+의존성 패키지 다운로드 # ########################################################### download_rpm() { echo "###########################################################" echo "#" echo "# ${FUNCNAME[0]}: ${1}" echo "#" echo "###########################################################" if [ ! -d ${RPMDIR}/${1} ] then mkdir -p "${RPMDIR}/${1}" fi mkdir -p "${RPMDIR}/${1}" yum deplist ${1} yumdownloader --downloadonly --resolve --destdir="${RPMDIR}/${1}" ${1} } special_p7zip() { echo "###########################################################" echo "#" echo "# ${FUNCNAME[0]}" echo "#" echo "###########################################################" wget -Nq --no-check-certificate "https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-16.02-20.el7.x86_64.rpm" mkdir -p "${RPMDIR}/p7zip" mv -fv p7zip-16.02-20.el7.x86_64.rpm "${RPMDIR}/p7zip" } special_docker() { echo "###########################################################" echo "#" echo "# ${FUNCNAME[0]}" echo "#" echo "###########################################################" download_rpm device-mapper-persistent-data download_rpm lvm2 yum -y remove docker-ce docker-ce-cli containerd.io docker-ce-rootless-extras docker-scan-plugin rm -rf /var/lib/docker rm -rf /var/lib/containerd yum-config-manager --add-repo "https://download.docker.com/linux/centos/docker-ce.repo" yum repolist download_rpm docker-ce curl -L "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64" -o "${RPMDIR}/docker-compose" chmod 755 "${RPMDIR}/docker-compose" } special_mysql() { echo "###########################################################" echo "#" echo "# ${FUNCNAME[0]}" echo "#" echo "###########################################################" rpm -Uvh "https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm" sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/mysql-community.repo download_rpm mysql-community-server sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo } # yumdownloader 다운로드&설치 install_yumdownloader # 일반 RPM 다운로드 download_rpm at download_rpm conntrack download_rpm createrepo download_rpm curl download_rpm ftp download_rpm git download_rpm hdparm download_rpm httpd download_rpm ipset-service download_rpm java-11-openjdk-devel.x86_64 download_rpm lftp download_rpm lm_sensors download_rpm lrzsz download_rpm lsof download_rpm mailx download_rpm man download_rpm mc download_rpm nc download_rpm net-tools download_rpm ntp download_rpm openldap download_rpm openldap-clients download_rpm rdate download_rpm rsync download_rpm sendmail download_rpm sharutils download_rpm svn download_rpm tcpdump download_rpm telnet download_rpm unzip download_rpm vsftpd download_rpm wget download_rpm whois download_rpm xinetd download_rpm zip # 리포지터리를 별도로 설치해야하는 패키지 다운로드 special_p7zip special_docker special_mysql