。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

[네이버클라우드] 클라우드 기반의 개발자 과정 7기/리눅스

주짓수 갔다온 다음 날 4일 차

quarrrter 2023. 4. 27. 15:53

이제 난,,, root다, #이다. 관리자다.
사용자, 패키지, 프로세스등 시스템 자원을 관리해야 한다. 

오늘의 목표:
리눅스 설치, 필수 패키지 설치, 환경설정,
개발환경 설치(c,c++,자바) mysql-user 생성 및 연결, 웹서버 설치 및 실행
윈도우 마운트 (윈도우의 특별 프로그램이랑 리눅스랑 연결)

 

1. 패키지 설치 및 관리 

2. 프로세스 관리

3. 하드디스크 분류하기

4. 리눅스 부팅

5. mount

 

 

 

---------------

 

1. 패키지 설치 및 관리 

**dnf, yum: 리눅스가 제공하는 패키지 관리 

 

■enable : bash에 저장되어있는 내부 명령어 보기  
= compgen -b | paste - - - - -             ** | paste - - - - - : 다섯 줄로 표시해라

 

df -h : 나뉘어져있는 파티션 보기(윈도우로 치면 c,d) disk free
du /etc: etc 디렉토리 용량보기
du /etc -sh : s 는 summary, h는 보여주기
du -sh ~blue : ~blue가 얼마 쓰고 있는지 확인 

 

alias dc='dnf list --installed | wc -l'

 

. 으로 시작하는 파일 : 숨김 설정을 가진 파일임 
그래서 ls -a // -a all 로 해야 보임 그냥 l은 안 보임

 

session이 다르다 : 한 세션에서 저장한 옵션은 새로운 세션에서는 안 보임 // 지역변수 
보이는 건: 환경 변수 (env)

 

■ 처음 부팅하면
bash_profile이랑 bashrc 를 읽고 시작함 

source .bashrc = . .bashrc     => .bashrc 파일 읽고 실행해라 
=> 효과는 다시 로그아웃 후 로그인 한거임

.       실행해라 
:       참이라는 뜻 

 

■사용자만들기
[root@psh ~]# useradd white
[root@psh ~]# passwd white
비번 두번 입력 
ls /home/    홈의 리스트 보기
nl /etc/passwd   etc의 passwd 보기 ?

 


>rocky linux package 관리 : dnf 로! 


정통적으로 rpm은 과거에 쓰던 관리 툴이며 지금은 거의 사용 x 

rpm 방식과 dnf 차이점 : rpm은 일일이 다운 받고 확인해야됨

 

[root@psh ~]# whatis yum
yum (8)              - redirecting to DNF Command Reference  => dnf의 참조다 
[root@psh ~]# ll /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Nov 15 18:28 /usr/bin/yum -> dnf-3   => yum은 dnf-3의 심볼릭링크다, yum을 실행하면 dnf-3가 실행되는 거임 

=yum, dnf 는 dnf-3의 심볼릭 링크(레퍼런스)다 


패키지가 설치되어있는지 확인하려면 그냥 검색 


■패키지 관리(dnf)

설치 |  dnf install [패키지명]
조회 | dnf list --installed | grep tree 설치된 것 중에 tree 가 들어가는 파일 확인 하기 , | grep ^treetree로 시작하는 것만 보기
삭제 |dnf -y remove
정보보보기 | dnf info tree
upgrade |  dnf upgrade -y
update
alias di='dnf -y install' -y는 안 묻고 무조건 하겠다
dnf list --installed | grep tree 설치된 것 중에 tree 가 들어가는 파일 확인 하기 , 
| grep ^tree  tree로 시작하는 것만 보기
*tree: 디렉터리 구조
tree /   : 전체 구조 보여주기 

dnf info tree : tree의 정보 보기 
= yum info tree : tree의 정보 보기 
= dnf-3 info tree : tree의 정보 보기 

 

 

 

■웹페이지 httpd 설치

di httpd

systemctl start httpd

systemctl stop fiewalld // 방화벽 끄기(영원히: stop 대신 disable)

systemctl restart httpd
killall httpd

 

index.html 의 위치
cd /var/www/html/

 

echo "박승현" >> index.html
화면에 박승현 나옴 

 

 

■mysql

systemctl start mysqld  : 시작 !  

(mysqld 의 d 는 daemon / 메인을 위해 백에서 항상 동작하고 있는 서비스 프로그램 , 우분투에서는 d가 안 붙
mysql은 패키지임 . 패키지는 데몬을 갖고 있음 // 데몬 죽여 살려 ~ )

 

mysql : 접속

exit, quit 끝내기

 

systemctl status mysqld : 상태보기 

++확인 :  Active: active (running) /Active: inactive (dead)

 

■sqlite  
di sqlite
sqlite3 로 접속 및 실행 (mysql과 다르게 스타트를 따로 안 하고 바로 접속 시작이 가능)

sqlite> .open myDB     << 꼭 해야하는 걸까,,
sqlite> create table score(name, kor, mat, eng);
sqlite> insert into score values("kim", 40, 50, 60);
sqlite> insert into score values("choi", 10, 20, 30);
sqlite> insert into score values("lee", 20, 40, 10);
sqlite> .mode col  << 예쁘게보기용
sqlite> .head on  << 예쁘게보기용
sqlite> select * from score;
name  kor  mat  eng
----  ---  ---  ---
kim   40   50   60
choi  10   20   30
lee   20   40   10
sqlite> .q  | 끝내기

 

■sqlite source compile 방식 / 웹에서 소스 복사 

소스코드 복사해서 wget으로 설치 
wget https://sqlite.org/2023/sqlite-autoconf-3410200.tar.gz 
wget: 웹에서 가져와랑 

tar xvf sqlite-autoconf-3410200.tar.gz   : tar 풀고 압축풀기 
cd sqlite-autoconf-3410200   

./configure --prefix=/sql
위치(sql 폴더에) 에 환경설정 

make: 컴파일 명령어 
make install 컴파일 했으면 설치해라 
cd /sql  => bin 안에 sql 들어가 있음
/sql/bin/sqlite3


&& 연산자 : 한 줄로 여러개 쓸 때 앞에 명령어 실행 되면 뒤에 것도 실행 
./configure --prefix=/s3  && make && make install
--prefix 안쓰면 기본값은 /usr/local 

리눅스에서 하면 프로그램 문제 생겼을때 설치된 디렉토리만 삭제하면 다른 영향 x 
윈도우는 전체 영향 끼칠 수 있음 

 

 


2. 프로세스 관리

리눅스 시스템 : Mult User Multi Tasking System 

#ps -ef 전체 프로세스 정보 

 

[root@psh ~]# ps -ef | grep bash      >>http가 실행중인지 검색 
              자기자신  부모
root         874     778  0 17:56 tty1     00:00:00 -bash
root        1327    1326  0 18:44 pts/0    00:00:00 -bash

#kill -9 874   // 874 process kill

 

#top   //table of process 작업관리자 프로세스로 현재 돌아가는 프로세스를 보여줌 

#pstree  //프로세스를 트리형식으로 보기    - systemd  //모든 프로세스의 부모프로세스   

                                                                     - systemd(1)  //제일 먼저 실행되는 프로세스

 

⊙작업전환 - jobs 활용 

sleep 7 : 7초 재우기 
cntl z : 중지
jobs : 상태보기
kill %1 : 중지된 첫번째 작업 삭제

 

^아직 이해 불가^

inittab : 부팅할때 자동으로 시작하는 서비스 
run level 3 : 우리가 사용하는 런 레벨은 보통 3이다 
lsblk: 블럭보기 ( 파티션 보기)

ls tap tap  : 하면 여러 명령어 나오는데 그 명령어의 ls(정보 ) 목록이 나옴 

 

3. 하드디스크 분류하기

fdisk /dev/sda
sda (하드) // 만약 sdb가 있으면 한개 더 있는거임 
파티션(primary 주 파티션)을 최대 4개까지 만들수있고 (sda1, sda2, sda3, sda4)
extended 확장파티션에는(sda1, sda2, sda3, sda4 모두 가능)  논리파티션이 들어올 수 있다.
기본 sda4 이상 넘어가면 마지막 파티션에서 쪼개기 들어감(=logical 논리 파티션)


 

 


4. 리눅스 부팅

1. power on
2. ROM - BIOS (Read Only Memory 박혀서 못 고침) ( basic input output system)
ram random access memory : 고칠 수 있음 
3. 부트 매니저 ( GRUB) : 부팅될 OS 고르는 ,, 보통 OS 한개만 설치 되어있어서 쓸 일은 없음 ( 한 컴에 여러개 OS 설치할 수 있고, 동시 부팅은 불가) 
4. 커널로드 // 운영체제 커널 로드
5. 파일 시스템 : 윈도우 식이면 c,d 드라이브에 있는 거 챙김 
6. 파일 시스템 마운트 : 5 랑 동일
7 시스템 초기화 
8 로그인 

 

하드웨어 & 커널 연결하는 기능 : 드라이버 (모듈) // lsmod (모듈 보기)

빌트인: 커널 안에 키보드 & 마우스 등 드라이버가 들어있음 //표준 규격 통해 

enable : shell 내부 명령어

 

os (그 안의 커널)이 하는 일 

: 자원 관리(cpu, 메모리) - 프로그램 설치, 삭제, 업데이트, 업그레이드

 

5. mount  

mount /data

unmount /data

디렉토리 연결 / 해제 

 

1. df -h 로 디스크 사용량 확인 
/dev/mapper/rl_psh-data   10G  125M  9.9G   2% /data

2. mount //dev/mapper/rl_psh-data /k1  => /dev/mapper/rl_psh-data 를 /k1에 마운트 

 

df-h  : 
df: 디스크 사용량 확인 
-h: 사람이 보기 좋게 용량 보여줌 

'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 리눅스' 카테고리의 다른 글

4-2 단축키 정리  (0) 2023.04.27
4-1 Ubuntu linux 설치  (0) 2023.04.27
3-1 리눅스 설치  (0) 2023.04.26
3일 차  (1) 2023.04.26
늦잠 리눅스 2일 차  (3) 2023.04.25