is..cy
2023. 3. 18. 18:10
Mac Terminal를 사용하던 중 2년전 포트폴리오를 준비하여 AWS 서버에 Oracle 및 Java 환경을 구축하려 애쓰던 기억이 떠올랐다.
다행히도 당시에 명령어를 정리해 놓은 내용이 남아 있었고
올해 Blog를 시작하며 그동안 정리해 놓은 텍스트들을 올릴 예정이다.
새롭게 알게되는 내용들을 게시물에 계속 업데이트하려고 한다. (너무 간략하게 적어놔서 디테일이 떨어진다 😅)
1. Linux 개요
- Linus Tovalds에 의해 개발됨 (open source 개념의 시작)
- 서버구축이 주요 목적 : cloud service 대부분이 linux (aws)
- 멀티 유저 운영체제 : 하나의 Server를 여러사람이 사용 (권한 및 보안관리가 중요)
- Ubuntu Server : Radhat 계열의 Linux Server OS
- Debian 계열의 distro server에 활용하기에 용이
- distro : 배포판 패키지 (ubuntu, radhat, pedora,kali etc)
- kili distro : 보안 및 해킹관련 테스트에 활용
2. Linux 명령어
Linux Command | |
sudo su root | root 접속 |
tail -f catalina.out | log 확인 |
unzip | 압축풀기 |
git clone | git 복사 |
ls -al | 파일 전부 보기 |
mkdir | directory 생성 |
rmdir | directory 삭제 |
unname | 시스템 정보 및 세부사항 |
df | 디스크 공간 필수 정보 표시 |
ps | 실행중인 프로세스 시각화 |
kill | 자원제한으로 멈춘 프로세스 중지 |
service | 시스템 전체 서비스를 호출 |
batch | 정의된 일정에 따라 시스템 서비스를 실행 |
shutdown | 시스템 종료 메시지 전송 |
cat | 새 파일 삭성하고 터미널에서 파일내용을 보고 출력을 다른 명령행 도구나 파일로 리디렉션 |
head | 직접 파일 또는 파이프 된 데이터의 시작을 볼 수 있음 (많은 파일 처리시 생산성 향상) |
tail | 오류나 파일 로그를 실시간을 확인 |
cp | 파일이나 디렉터리를 복사 |
less | 터미널 세션을 방해하지 않으면서 파일 내에서 양방향 탐색 |
In | 파일이나 디렉터리에 심벌릭 링크의 여러 인스턴스 생성 |
cmp | 두 파일을 비교하고 결과를 표준 출력 스트림에 인쇄 |
dd | 한 유형에서 다른 유형으로 복사 및 변환 |
alias | 파일의 다른 문자열로 단어를 바꿈 |
history | 터미널 세션 기록 확인 |
rev | 입력 텍스트를 가져와서 각 문자를 반대로하여 표준 출력에 기록 |
wget | 웹에서 파일을 다운로드 (사용자에게 HTTP,FRP 인터넷 프로토콜을 사용할 수 있는 기능 제공) |
iptables | 특정 호스트 시스템에서 들어오고 나가는 인터넷 트래픽을 제어할 수 있는 터미넣 유틸리티를 호출 |
find | 파일 검색 |
which | $PATH 시스템 환경 변수 |
grep | 대량의 텍스트파일 패턴 검색 |
clear | 기존 터미널 화면 지움 |
echo | console에 특정 텍스트 출력 |
sort | 파일 정렬 |
Linux Command _ Authority | ||
sudo | access 가능한 권한 | |
chmod | access 권한 변경 | |
chown | 사용자가 파일이나 디렉터리 소유권 변경 | chown member1:member2 test.cnf => test.cnf 파일에 대해 소유자는 member1, 그룹명은 member2로 바꾼다. |
권한 범위 | |
u | user 권한 |
g | group 권한 |
o | other 권한 |
a | 모든 사용자 권한 |
접근 권한 카테고리 | ||
+ | 해당 권한 추가 | |
- | 해당 권한 제거 | g=- |
= | 해당 권한 설정데로 변경 | o=r test.cnf |
r | 읽기 권한 | chmod u=rx |
w | 쓰기 권한 | |
x | 실행 권한 |
3. 명령어 사용예시 (Ubuntu 환경구축과정)
* tool install | |
• java download | : $ sudo apt-get install openjdk-8-jdk |
• tomcat download | : $ sudo apt-get install tomcat8 |
• mySql download | : $apt-get install mysql-server |
* Ubuntu Oracle 설치과정 | |
• zip 서버에 압축해제 | : $ sudo unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip |
해당파일은 오라클 홈페이지에서 다운 (11gR2 Express Edtion) | |
• 오라클 설치 | : $ sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm |
uname-i 입력시 x86_64가 나올시 64bit version | |
• 필요한 패키지 설치 | : $ sudo apt-get install -y alien libaiol unixodbc |
• rpm 설치 | ① $ sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm |
(rpm file -> deb file) | |
② sudo dpkg --install oracle*.deb | |
③ sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb |
|
* Ubuntu에서는 rpm을 사용하여 패키지를 설치할 수 없으므로, Debian의 deb 패키지로 변경이 필요 |
Ubuntu package concepts | |
alien | RPM 패키지를 Debian 패키지로 변환하는 툴 |
libaio1 | Linux 커널 AIOAsybcgrounous I/O 엑세스 라이브러리 |
unixodbc | ODBC (Open Database Connectivity) library |
* RedHat Package들은 설치시 /sbin/chkconfig를 사용해야하지만 Ubuntu에 해당파일이 없기에 해당 파일 생성 | |
• config 생성 | : $ sudo vi /sbin/chkconfig |
• 파일 생성 후 실행 권한설정 (775) | : $ sudo chmod 755 /etc/rc2.d/S01shm_load |
• 커널 파리미터 설정 | : $ sudo vi /etc/sysctl.d/60-oracle.conf |
• 커널 파리미터 로드 | : $ sudo service procps start |
• Oracle XE용 파일추가 | : $ sudo ln -s /usr/bin/awk /bin/awk |
• Oracle XE remaster가 사용할 lock file 생성 | : $ sudo mkdir /var/lock/subsys |
$ sudo touch /var/lock/subsys/listener | |
• 메모리설정 | : $ sudo mount -t tmpfs shmfs -o -size=4096m /dev/shm |
(메모리에 의한 오류 방지) | |
• 새로운 SHM을 생성 및 mount | : $ sudo vi /etc/rc2.d/S01shm_load |
• Oracle XE 패키지 설치 | : $ sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb |
• Oracle XE 사용을 위채 최초설정 | : $ sudo /etc/init.d/oracle-xe configure |
• 상태확인 | : $ lsnrctl status |
• Oracle 패키지 삭제 | : $ sudo dpkg --purge oracle-xe |
• Oracle directory 삭제 | : $ sudo rm -rf /u01/app |
4. 참조
• oracle 설치 | : https://www.oracle.com/kr/ |
• oracle 설치방법 | : https://a292run.tistory.com/entry/Oracle-11gR2-on-Ubuntu-2004 https://dudaji.tistory.com/entry/ |
• 권한명령어 | : https://withcoding.com/103#recentComments |