7. Rufus 프로그램으로 USB에 부팅디스크를 생성한다. Rufus 프로그램 사용법은 인터넷에 많이 나와있다.
8. /etc/sysconfig/network-scripts/ 경로로 이동한다. ifcfg-enXXXX 파일을 vi를 이용하여 수정한다.
...
BOOTPROTO=none
...
ONBOOT=yes
IPADDR=
prefix=24
GATEWAY=
DNS1=
을 입력한다.
wq를 저장한 후 systemctl restart network 명령어를 이용하여 네트워크 재시작 후 ping 8.8.8.8 해서 ping이 가면
네트워크 연결 끝!
9. putty 등으로 sshd 접속을 하기 위해 준비한다.
vi /etc/ssh/sshd_config
이동 후 Port 22 주석을 해제한다.
systemctl restart sshd.service
명령어로 sshd 서비스를 재시작한다.
그 후
firewall-cmd --permanent --zone=public --add-port=22/tcp
방화벽에 22포트를 추가한다.
firewall-cmd --reload
방화벽 재시작 후
putty로 접속해본다.
// 방화벽 목록 조회: firewall-cmd --zone=public --list-all
* 개요: 서버가 문제가 있어서 shell script로 아파치 톰캣 재기동 sh을 작성할 때 정상적으로 동작을 하지 않아서 강제로 ps를 kill 하고 톰캣을 재기동하는 shell script를 작성해보았다.
var1=`netstat -nap | grep 9091` // 톰캣 ps 확인 명령어
// 포트 정보와 listen 상태 ps/ps명이 결과로 나타난다
IFS=' ' read -ra ps_arr <<< "$var1" // 위 결과를 배열로 만든다
arr_size=${#ps_arr[@]} // 배열 크기 저장
var_str=${ps_arr[arr_size - 1]} // ps/ps명 마지막 string만 필요하니 변수에 담는다
var_ps="${var_str:0:(-5)}" // ps/ps명(예: 12345/java)에서 /java 글자를 빼고 ps만 담는다
kill ${var_ps} // kill ps
* 주의: 깔끔하게 한다고 변수명 뒤 = 앞뒤에 공백이 있으면 에러가 발생한다.
* 마무리: 생각보다 어렵지는 않아서 검색하면서 수정하면 본인에 맞게 원하는 sh 작성이 가능하다.
* 개요 : 디렉토리를 백업하는 경우 해당 디렉토리 내부에 있는 특정 디렉토리를 제외하고 tar.gz 압축을 하는데 에러가 발생함.
* 에러메시지 :
tar: The following options were used after any non-optional arguments in archive create or update mode. These options are positional and affect only arguments that follow them. Please, rearrange them properly.
tar: --exclude `./test/result' has no effect
tar: 앞서 발생한 오류로 실패 코드를 반환하며 빠져나감
위와 같이 디렉토리와 파일이 있는데 test라는 디렉토리를 압축하고 result 라는 디렉토리를 제외하고 싶은 경우 아래와 같이 명령어를 구성한다.
tar -zcvf test.tar.gz --exclude="result" test/
tar -zcvf test.tar.gz --exclude="apple/result/" test/ // 제외하려는 디렉토리가 2depth 인 경우
tar -zcvf test.tar.gz --exclude="apple/result/" --exclude="apple/recruit/" test/ // 제외하려는 디렉토리가 2개인 경우
록키 리눅스의 경우 압축하려는 디렉토리 위치가 맨 뒤로 와야되고 --exclude 명령어에 절대 경로를 사용하지 말고 압축하려는 디렉토리 내부의 제외하려는 디렉토리 경로만 정확하게 적어주면 된다.
리눅스가 계속 버전이 바뀌다 보니 centos 기준의 글들의 정보가 정확하지 않은 경우가 많은 것 같다...
⊙ 개요 : 내가 가진 ASUS A52F 라는 오래전에 구입한 노트북이 있다. 여기에 록키 리눅스를 설치하기 위해 CENTOS 8을 설치하려고 하는데 네트워크 장치중 이더넷을 찾을 수가 없었다... 인터넷이 되어야 rpm이든 dnf든 작업을 할텐데.. 상당히 난감한 상황이다... 검색을 해봐도 도통 잘 나오지를 않는다. 이 문제는 예전에도 엄청 삽질을 하면서 해결을 했었는데 몇 개월 지나고 까먹고 또 삽질을 하고있었다..
⊙ 원인 : CENTOS 8에서 노트북 네트워크 카드(JMicron(R) JMC250 PCI-E Ethernet Adapter)의 장치가 너무 오래되서 자동 설치를 지원해주지 못해서 일어난 문제이다.
⊙ 해결방법 :
1. CENTOS 8 설치 시 10GB 짜리 USB로 ISO 파일을 준비 후 서버-GUI로 설치한다.
2. 서버-GUI로 설치하면 WIFI를 바로 사용할 수 있을 것이다.
3. 인터넷이 되는 윈도우 PC로 윈도우의 3DP 같은 ELREPO (http://elrepo.org/tiki/HomePage) 사이트에 접속한다. Download -> Asia-Pacific -> 아무 주소에 접속해도 되고 /elrepo/elrepo/el8/x86_64/RPMS/ 요 순서대로 마우스로 클릭하면 rpm 목록을 확인 할 수 있다. -> elrepo.noarch 문구로 검색해보면 2023년 4월 20일 기준(글을 다 작성하고 보니 그냥 WIFI 연결 상태에서 직접 파일들을 받아도 된다 -0-;;)
4개를 확인 할 수 있는데 가장 최신인 elrepo-release-8.3-1.el8.elrepo.noarch.rpm 파일을 다운로드 후에 centos를 설치한 USB에 본인만의 디렉토리를 생성하고 위에서 다운 받은 파일을 복사한다.
4. CENTOS에 USB를 다시 장착하고 findmnt 명령어를 이용해서 마운트 정보를 확인 후 본인이 편한 디렉토리에 받은 파일을 복사한다.(만약 5번에서 뭔가 문제가 발생하면 네트워크 카드와 관련된 파일도 복사한다. 본인의 경우 /elrepo/archive/elrepo/el8/x86_64/RPMS 경로의 kmod-jme-1.0.8-1.el8_2.elrepo.x86_64.rpm 파일, 본인 PC의 네트워크 카드 정보를 확인 후 찾아본다)
nmcli dev status
// or
nmcli con show
// 명령어를 사용하여 이더넷 nic의 DEVICE 명을 파악한다. 본인의 경우 ens5f5 였다.
nmcli con add con-name eth0 type ethernet ifname ens5f5
// eth0은 내마음대로 작명한 것이다.
// 위에서 알아낸 장치의 ens5f5와 동일한 것을 확인 할 수 있다.
nmcli con up eth0
// 드디어 장치를 활성화 시킨다.
7. 위 설정을 완료하면 잠시 bash가 먹통이 될 것이다. 잠시 기다리다가 X 윈도우 설정 네트워크에 들어가면 앞서 보이지 않았던 [유선] 항목이 보일 것이다. 톱니바퀴를 클릭 후 본인 IP및 기타 정보를 입력하고 끔 -> 켬 하면 드디어 인터넷에 연결된 것을 확인 할 수 있다.
⊙ 애필로그 : 완전히 같은 환경은 아니겠지만 나와 비슷한 문제를 만나는 분들에게 조금이라도 도움이 되었으면 좋겠다.. 벌써 이 문제로 몇번이나 삽질을 하는건지...