커널컴파일 실습을 위해서 ubuntu 설치

ubuntu iso, rufus 이용하여 ubuntu 설치 usb 만들기

윈도우 파일 시스템에서 먼저 드라이브 볼륨을 축소시키고, 그 자리에 우분투를 설치해서 듀얼부팅이 되도록 하자.


## 4개 파일 시스템중 최소 2개 필요

/

swap - 가상기억장치 전용으로 사용하는 file system, 보통 swap space를 8g면 2배인 16g 정도로 설정한다고 한다. (나는 내 ram이 8g로 착각하고 16g로 설정했다. 최소 1배? 권장 2배)

나머지 설정은 가능하면 default로


<참고>
https://circus7.tistory.com/4

<설치와 문제해결>
# 노트북 배터리 충전제한 관련 문제해결
https://blog.ny64.kr/posts/install-ubuntu-on-asus-vivobook-14/
https://tes-b.github.io/ubuntu/ubuntu-charge-limit/

# 윈도우 시간이 변경되는 문제
https://mesnotes.tistory.com/11
https://www.lesstif.com/lpt/dual-boot-linux-windows-95879503.html

# 듀얼부팅시 GRUB 부팅순서 바꾸기(우선순위)
https://webnautes.tistory.com/2117

# 우분투 한글입력 (구버전과 메뉴 약간 다름)
https://freeablelab.tistory.com/138

가상머신에 하는게 좋아보인다.

<커널컴파일참고>
https://devocean.sk.com/blog/techBoardDetail.do?ID=163626


리눅스 명령어

<수업내용 중>

sudo - super user 권한으로 실행

drwxrwxrwx (3개씩 owner, group, other 순서로 읽기 쓰기 실행 권한)


tar xvf - x(실행) v(verbose 압축풀면서 보여줌)


sudo make -J  8 && sudo make install

파일관의 관계가 make 파일에 들어있다.


cscope - 폴더 전체를 찾아서 인덱스, vi로 열면 원천코드 고칠 수 있다. >컴파일

make - 처음엔 시간이 걸리지만 두번째부터는 빠르게 된다


<기본적인것>

ls: 현재 디렉토리의 파일 및 디렉토리 목록을 표시합니다.

cd: 디렉토리 변경을 수행합니다.

pwd: 현재 작업 중인 디렉토리의 경로를 표시합니다.

mkdir: 새 디렉토리를 생성합니다.

rm: 파일이나 디렉토리를 삭제합니다.

cp: 파일이나 디렉토리를 복사합니다.

mv: 파일이나 디렉토리를 이동하거나 이름을 변경합니다.

cat: 파일 내용을 표시하거나 파일을 병합합니다.

grep: 파일에서 특정 패턴을 검색합니다.

find: 파일 시스템에서 파일을 검색합니다.

tar: 파일 및 디렉토리를 아카이브하거나 압축을 해제합니다.

chmod: 파일이나 디렉토리의 권한을 변경합니다.

chown: 파일이나 디렉토리의 소유자를 변경합니다.

ps: 현재 실행 중인 프로세스 목록을 표시합니다.

kill: 프로세스를 종료합니다.

top: 시스템 상태 및 프로세스 정보를 실시간으로 표시합니다.

df: 디스크 사용량을 확인합니다.

du: 디렉토리의 디스크 사용량을 확인합니다.

ssh: 원격 호스트로 안전하게 로그인합니다.

scp: 원격 호스트로 파일을 안전하게 복사합니다.

wget: 인터넷 상의 파일을 다운로드합니다.

curl: URL을 사용하여 데이터를 전송하고 받습니다.

zip/unzip: 파일을 압축하거나 압축을 해제합니다.

echo: 문자열을 출력합니다.

awk: 텍스트 파일을 처리하고 데이터 추출 및 보고서 생성에 사용됩니다.

sed: 텍스트 편집기로서 텍스트 스트림을 처리하고 변환합니다.

tail: 파일의 끝 부분을 출력하거나 지정된 파일의 변경 사항을 실시간으로 모니터링합니다.

head: 파일의 앞부분을 출력합니다.

sort: 파일의 내용을 정렬합니다.

wc: 파일의 줄 수, 단어 수, 문자 수 등을 세는 데 사용됩니다.

history: 사용자의 명령어 실행 기록을 표시합니다.

shutdown: 시스템을 종료하거나 다시 시작합니다.

ifconfig/ip: 네트워크 인터페이스의 구성을 표시하거나 변경합니다.

ping: 네트워크 호스트에 ping을 보냅니다.

uname: 현재 시스템의 정보를 표시합니다.

date: 현재 날짜와 시간을 표시합니다.

who: 현재 시스템에 로그인한 사용자 목록을 표시합니다.

uptime: 시스템 부팅 이후의 운영 시간을 표시합니다.

man: 명령어의 매뉴얼 페이지를 표시합니다.

mount: 파일 시스템을 마운트하거나 마운트된 파일 시스템을 표시합니다.

umount: 마운트된 파일 시스템을 언마운트합니다.


vi 사용법

https://missing.csail.mit.edu/2020/editors/

<기본적인것>

Vi 실행: 터미널에서 vi 명령어를 입력하여 Vi를 실행합니다.

편집 모드 진입: Vi가 실행되면 일반 모드로 시작하며, 여기서는 명령을 입력하여 파일을 편집합니다. 편집 모드로 진입하려면 i를 누르면 됩니다. 이것은 "입력 모드"로 전환되어 텍스트를 입력할 수 있게 합니다. 다른 일반적인 편집 모드에는 a (현재 커서 위치에서 입력 모드로 전환)와 o (다음 줄에서 입력 모드로 전환)가 있습니다.

편집: 편집 모드에서는 텍스트를 편집할 수 있습니다. 편집이 완료되면 Esc 키를 눌러 일반 모드로 전환합니다.

저장 및 종료: 일반 모드에서 :를 입력하여 명령 모드로 전환한 다음 wq를 입력하여 저장하고 종료할 수 있습니다. w는 저장하고 q는 종료하는 명령입니다.

종료하지 않고 저장: 파일을 저장하지 않고 종료하려면 :를 입력하여 명령 모드로 전환한 다음 q!를 입력합니다.

커서 이동: 일반 모드에서 화살표 키를 사용하여 커서를 이동할 수 있습니다. 또는 다음과 같이 사용할 수 있습니다:

h: 왼쪽으로 이동
j: 아래로 이동
k: 위로 이동
l: 오른쪽으로 이동
삭제: 일반 모드에서 x를 누르면 현재 커서 위치의 문자가 삭제됩니다.

복사 및 붙여넣기: 일반 모드에서 텍스트를 복사하려면 v를 눌러 시각적 선택 모드로 전환한 다음 원하는 영역을 선택합니다. 선택한 후 y를 눌러 복사하고, 다른 위치에서 p를 눌러 붙여넣을 수 있습니다.