Commit 51be0c11 authored by platyhouse's avatar platyhouse

refs pty_setup_centos.sh

parent 34c7f081
...@@ -49,15 +49,74 @@ if [[ $REPLY_HOSTNAME =~ ^[Yy]$ ]]; then ...@@ -49,15 +49,74 @@ if [[ $REPLY_HOSTNAME =~ ^[Yy]$ ]]; then
else else
echo -e " ${YELLOW}${NC} 호스트명이 입력되지 않아 건너뜁니다." echo -e " ${YELLOW}${NC} 호스트명이 입력되지 않아 건너뜁니다."
fi fi
else
echo -e " ${YELLOW}${NC} 건너뛰기"
fi fi
echo "" echo ""
####################################### #######################################
# 2. /etc/bashrc 설정 # 2. 네트워크 IP 설정
####################################### #######################################
echo -e "${CYAN}[2/5]${NC} /etc/bashrc 설정 추가" echo -e "${CYAN}[2/8]${NC} 네트워크 IP 설정"
echo -e "${YELLOW}네트워크 IP를 설정하시겠습니까? (N/y):${NC} \c"
read -n 1 -r REPLY_IP
echo
if [[ $REPLY_IP =~ ^[Yy]$ ]]; then
# 네트워크 인터페이스 목록 표시
echo -e " ${BLUE}사용 가능한 네트워크 인터페이스:${NC}"
ip -br link show | grep -v "lo" | awk '{print " - "$1}'
echo ""
echo -e "${YELLOW}네트워크 인터페이스 이름 (예: eth0, ens33):${NC} \c"
read IFACE
echo -e "${YELLOW}IP 주소 (예: 192.168.1.100):${NC} \c"
read IPADDR
echo -e "${YELLOW}서브넷 마스크 (예: 255.255.255.0):${NC} \c"
read NETMASK
echo -e "${YELLOW}게이트웨이 (예: 192.168.1.1):${NC} \c"
read GATEWAY
echo -e "${YELLOW}DNS 서버 (예: 8.8.8.8):${NC} \c"
read DNS
if [ -n "$IFACE" ] && [ -n "$IPADDR" ] && [ -n "$NETMASK" ] && [ -n "$GATEWAY" ] && [ -n "$DNS" ]; then
# 네트워크 스크립트 파일 생성
IFCFG_FILE="/etc/sysconfig/network-scripts/ifcfg-${IFACE}"
# 백업 생성 (파일이 존재하는 경우)
if [ -f "$IFCFG_FILE" ]; then
cp "$IFCFG_FILE" "${IFCFG_FILE}.backup.$(date +%Y%m%d_%H%M%S)"
fi
# 네트워크 설정 파일 작성
cat > "$IFCFG_FILE" << EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=${IFACE}
DEVICE=${IFACE}
ONBOOT=yes
IPADDR=${IPADDR}
NETMASK=${NETMASK}
GATEWAY=${GATEWAY}
DNS1=${DNS}
EOF
# 네트워크 재시작
echo -e " ${BLUE}${NC} 네트워크 재시작 중..."
systemctl restart NetworkManager > /dev/null 2>&1
echo -e " ${GREEN}${NC} 네트워크 설정이 완료되었습니다."
echo -e " IP: ${YELLOW}${IPADDR}${NC}"
echo -e " Netmask: ${YELLOW}${NETMASK}${NC}"
echo -e " Gateway: ${YELLOW}${GATEWAY}${NC}"
echo -e " DNS: ${YELLOW}${DNS}${NC}"
else
echo -e " ${YELLOW}${NC} 필수 정보가 입력되지 않아 건너뜁니다."
fi
fi
echo ""
#######################################
# 3. /etc/bashrc 설정
#######################################
echo -e "${CYAN}[3/8]${NC} /etc/bashrc 설정 추가"
echo -e "${YELLOW}/etc/bashrc에 커스텀 설정을 추가하시겠습니까? (N/y):${NC} \c" echo -e "${YELLOW}/etc/bashrc에 커스텀 설정을 추가하시겠습니까? (N/y):${NC} \c"
read -n 1 -r REPLY_BASHRC read -n 1 -r REPLY_BASHRC
echo echo
...@@ -91,18 +150,50 @@ alias grep='grep --color=auto' ...@@ -91,18 +150,50 @@ alias grep='grep --color=auto'
alias df='df -h' alias df='df -h'
alias du='du -h' alias du='du -h'
# git 관련 명령
alias gs="git status"
alias gd="git diff --word-diff"
alias ga="git add"
alias gb="git branch"
alias gc="git checkout"
alias gl="git log --date=format:'%Y-%m-%d %H:%M:%S'"
# 2025-09-25 깃 add, commit 처리. gac "커밋내용"
gac() {
git add -A
git commit -m "$*"
}
## git show 에서 파일명 깨짐 방지
git config --global core.quotepath false
## git 자소 분리시 해결
git config --global core.precomposeunicode true
## git color
git config --global color.ui true
git config --global color.status.changed "#ff0000 normal bold"
git config --global color.status.untracked "#dd99dd normal bold"
git config --global color.status.header "#ffffff normal bold"
## user 설정
git config --global user.name "KwangHee Yoo"
git config --global user.email "cpueblo@platyhouse.com"
# . 명령.sh 실행을 위함
PATH=$PATH:.
EOF EOF
echo -e " ${GREEN}${NC} /etc/bashrc 설정이 완료되었습니다." echo -e " ${GREEN}${NC} /etc/bashrc 설정이 완료되었습니다."
else
echo -e " ${YELLOW}${NC} 건너뛰기"
fi fi
echo "" echo ""
####################################### #######################################
# 3. YUM 캐시 정리 # 4. YUM 캐시 정리
####################################### #######################################
echo -e "${CYAN}[3/5]${NC} YUM 캐시 정리" echo -e "${CYAN}[4/8]${NC} YUM 캐시 정리"
echo -e "${YELLOW}YUM 캐시를 정리하시겠습니까? (N/y):${NC} \c" echo -e "${YELLOW}YUM 캐시를 정리하시겠습니까? (N/y):${NC} \c"
read -n 1 -r REPLY_YUM_CLEAN read -n 1 -r REPLY_YUM_CLEAN
echo echo
...@@ -110,30 +201,66 @@ if [[ $REPLY_YUM_CLEAN =~ ^[Yy]$ ]]; then ...@@ -110,30 +201,66 @@ if [[ $REPLY_YUM_CLEAN =~ ^[Yy]$ ]]; then
yum clean all > /dev/null 2>&1 yum clean all > /dev/null 2>&1
rm -rf /var/cache/yum rm -rf /var/cache/yum
echo -e " ${GREEN}${NC} YUM 캐시가 정리되었습니다." echo -e " ${GREEN}${NC} YUM 캐시가 정리되었습니다."
else
echo -e " ${YELLOW}${NC} 건너뛰기"
fi fi
echo "" echo ""
####################################### #######################################
# 4. 시스템 업데이트 # 5. 시스템 업데이트
####################################### #######################################
echo -e "${CYAN}[4/5]${NC} 시스템 패키지 업데이트" echo -e "${CYAN}[5/8]${NC} 시스템 패키지 업데이트"
echo -e "${YELLOW}시스템 업데이트를 진행하시겠습니까? (N/y):${NC} \c" echo -e "${YELLOW}시스템 업데이트를 진행하시겠습니까? (N/y):${NC} \c"
read -n 1 -r REPLY_UPDATE read -n 1 -r REPLY_UPDATE
echo echo
if [[ $REPLY_UPDATE =~ ^[Yy]$ ]]; then if [[ $REPLY_UPDATE =~ ^[Yy]$ ]]; then
yum update -y yum update -y
echo -e " ${GREEN}${NC} 시스템 업데이트가 완료되었습니다." echo -e " ${GREEN}${NC} 시스템 업데이트가 완료되었습니다."
else
echo -e " ${YELLOW}${NC} 건너뛰기"
fi fi
echo "" echo ""
####################################### #######################################
# 5. 필수 패키지 설치 # 6. Python 설치
#######################################
echo -e "${CYAN}[6/8]${NC} Python 설치"
echo -e "${YELLOW}Python을 설치하시겠습니까? (N/y):${NC} \c"
read -n 1 -r REPLY_PYTHON
echo
if [[ $REPLY_PYTHON =~ ^[Yy]$ ]]; then
echo -e " ${BLUE}${NC} Python 설치 중..."
yum install -y python3 python3-pip > /dev/null 2>&1
echo -e " ${GREEN}${NC} Python 설치 완료: $(python3 --version)"
fi
echo ""
#######################################
# 7. Node.js 및 Claude 설치
#######################################
echo -e "${CYAN}[7/8]${NC} Node.js 및 Claude & Gemini Cli 설치"
echo -e "${YELLOW}Node.js와 Claude, Gemini Cli 를 설치하시겠습니까? (N/y):${NC} \c"
read -n 1 -r REPLY_CLAUDE
echo
if [[ $REPLY_CLAUDE =~ ^[Yy]$ ]]; then
# Node.js 설치
echo -e " ${BLUE}${NC} Node.js 설치 중..."
curl -fsSL https://rpm.nodesource.com/setup_lts.x | bash - > /dev/null 2>&1
yum install -y nodejs > /dev/null 2>&1
echo -e " ${GREEN}${NC} Node.js 설치 완료: $(node --version)"
# Claude 설치
echo -e " ${BLUE}${NC} Claude 설치 중..."
npm install -g @anthropic-ai/claude-code > /dev/null 2>&1
echo -e " ${GREEN}${NC} Claude 설치가 완료되었습니다."
# Gemini CLI 설치
echo -e " ${BLUE}${NC} Gemini CLI 설치 중..."
npm install -g @google/gemini-cli > /dev/null 2>&1
echo -e " ${GREEN}${NC} Gemini CLI 설치가 완료되었습니다."
fi
echo ""
#######################################
# 8. 필수 패키지 설치
####################################### #######################################
echo -e "${CYAN}[5/5]${NC} 필수 패키지 설치" echo -e "${CYAN}[8/8]${NC} 필수 패키지 설치"
echo -e "${YELLOW}필수 패키지를 설치하시겠습니까? (vim, wget, curl, net-tools 등) (N/y):${NC} \c" echo -e "${YELLOW}필수 패키지를 설치하시겠습니까? (vim, wget, curl, net-tools 등) (N/y):${NC} \c"
read -n 1 -r REPLY_PACKAGES read -n 1 -r REPLY_PACKAGES
echo echo
...@@ -148,8 +275,6 @@ if [[ $REPLY_PACKAGES =~ ^[Yy]$ ]]; then ...@@ -148,8 +275,6 @@ if [[ $REPLY_PACKAGES =~ ^[Yy]$ ]]; then
tcpdump > /dev/null 2>&1 tcpdump > /dev/null 2>&1
echo -e " ${GREEN}${NC} 필수 패키지 설치가 완료되었습니다." echo -e " ${GREEN}${NC} 필수 패키지 설치가 완료되었습니다."
else
echo -e " ${YELLOW}${NC} 건너뛰기"
fi fi
echo "" echo ""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment