▶ 리눅스 5일차 수업 정리
1. 리눅스 설치, 설치 후 --> 이미지 내보내기 ubuntu_1
2. 기초 필수개발 패키지 설치(gcc, java, mysql등) P.82 참고
설치시 시간이 걸리므로 다른 터미널 열어 멀티잡 가능..
3. 개발 환경 테스트(C, C++, java, Python)
4. mysql-설정 및 테스트 참고 P.165 ~ 166
5. 사용자 만들기 기본 값 설정
/etc/skel/.bashrc (alias 설정)
/etc/skel/.vimrc
/etc/default/useradd
/etc/login.defs
6. 사용자 용량제한 설정하기 참고 P.111 ~ 112
group NC, nc1, nc2, nc3
7. 보너스 windows(d:\win) 폴더 /yes로 mount해보기
8. sqlite3를 소스컴파일 방식으로 /sql
●vi 를 이용한 ~/.vimrc 파일 설정
root@hty: vi ~/.vimrc
se nu ai ci si
se ts=4 sw=4
se ruler title showmatch
syntax on
hi comment ctermfg=red
vi를 사용하여 vi ~/.bashrc 와 vi ~/.vimrc를 설정할 때 재 로그인하는 효과를 주기 위해 .~/.profile을 해줘야 한다
root@hty: . ~/.profile
●필수 설치 패키지
gcc g++ default-jdk mysql-server
apache2 mandoc sqlite3 rdate rename
tree mailutils lynx tomcat9 glibc-doc
root@hty:ai gcc g++ default-jdk mysql-server \
> apache2 mandoc sqlite3 rdate rename \
> tree mailutils lynx tomcat9 glibc-doc
●개발 환경 테스트 (java / c / python)
java
root@hty: vi j.java
public class j{
public static void main(String[] str){
System.out.println("java 테스트");
}
}
root@hty: javac j.java
root@hty: ls
j.class j.java snap
root@hty: java j
java 테스트
c
root@hty: vi c.c
#include<stdio.h>
int main(void)
{
puts("C 테스트");
return 0;
}
root@hty: gcc c.c -o c
root@hty: ./c
C 테스트
python
root@hty: vi p.py
print("python 테스트")
root@hty: python3 p.py
python 테스트
●mysql 설정
root@hty:~# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.32-0ubuntu4 (Ubuntu)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> alter user root@localhost identified \
-> with mysql_native_password by 'jj';
mysql> create user myty@localhost identified \
-> with mysql_native_password by 'j';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on tyDB.* to myty@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
home_dir 가 보이지 않음 -> chsh 를 사용해 기본 쉘을 변경하고 root에서 home_dir을 만들어줘야 한다
$ whoami
ty
$ chsh #로그인 쉘 바꿔주기
Password:
Changing the login shell for k1
Enter the new value, or press ENTER for the default
Login Shell [/bin/sh]: /bin/bash #/bin/sh 를 /bin/bash 로 변경
#기본 쉘 /bin/bash 로 변경
$ echo ~
/home/ty
$ pwd
/
$ ls /home
j lost+found
$
root@hty: mkdir /home/ty
root@hty: nl /etc/default/useradd # 변경된 설정 확인해서 SHELL=/bin/bash 로 변경 됐는지 확인
root@hty: vi /etc/login.defs # 13번 라인에 CREATE_HOME 추가해주기 -> useradd 시 자동으로 home_dir 생성
● 사용자 기본 설정
root@hty: useradd ty1
root@hty: passwd j
New password:
Retype new password:
passwd: password updated successfully
/etc/skel/.bashrc ( alias 설정)
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias h='history'
alias l='ls -AlF'
alias c='clear'
alias cp='cp -i'
alias mv='mv -i'
alias df='df -h'
alias du='du -sh'
alias li='ls -Ali'
alias lh='ls -Alh'
alias ai='apt -y install'
alias aq='apt list --installed | grep '
alias ac='apt list --installed | wc -l'
PS1 값 변경
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' # 이 코드를
PS1='[::\! \h@ HELLOty \u \w]\n \\$ #이렇게 변경
/etc/skel/.vimrc
root@hty: cp .vimrc /etc/skel/ # root한테 있는 .vimrc 를 /etc/skel 에 복사해 일반사용자도 사용 가능
cp: overwrite '/etc/skel/.vimrc'?
#y 누르기
● 사용자 용량 제한 설정
root@hty: useradd -G NC nc1 # nc 그룹 안 nc1 생성
.
.
root@hty: passwd nc1 # 각각 비밀번호 설정
/etc/fstab 파일 수정
root@hty: vi /etc/fstab
#/home 설정 라인에 ,usrquota 추가(띄어쓰기 X)
●quota 설정
파일 시스템의 사용 가능한 디스크 공간 제한
root@hty: ls /home/
j lost+found nc1 nc2 nc3 ty ty1 ty2
root@hty: quotacheck -aug
root@hty: ls /home/
aquota.user j lost+found nc1 nc2 nc3 ty ty1 ty2
root@hty: quotaon -aug
root@hty: repquota -a
*** Report for user quotas on device /dev/sda5
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 1304 0 0 4 0 0
j -- 32 0 0 11 0 0
ty1 -- 28 0 0 8 0 0
ty2 -- 40 0 0 9 0 0
nc1 -- 28 0 0 7 0 0
nc2 -- 28 0 0 7 0 0
nc3 -- 28 0 0 7 0 0
root@hty: edquota -t #유예기간 설정
root@hty: edquota -u nc1 #nc1 사용자의 soft 블럭 제한 : 5M(5000), hard 블럭 제한 : 6M(6000)
#저장 ctrl o / 나가기 ctrl x
root@hty:~# repquota -a #quota 설정 보기
root@hty:~# edquota -p nc1 nc2 nc3 #nc1 의 quota 설정을 nc2, nc3 에도 복사
ty1@hty:~$ fallocate -l 0.1G k #-l 옵션은 공간을 얼마나 할당할 지 / k=생성 파일
'리눅스' 카테고리의 다른 글
LINUX (Domain/ DNS 란?/ indexes 란?/ nslookup) (0) | 2023.05.02 |
---|---|
LINUX (리눅스 웹서비스 설정/ su -root 와 sudo -i랑 같은가?/ufw enable 이란?/ timedatectl 이란?/ :433이란?/ 서브네팅 ) (6) | 2023.05.01 |
LINUX (vi/ vi 모드 전환 및 명령어/ 셸/ 셸 변수와 환경/ 환경 변수 설정/ Alias/ History) (0) | 2023.04.27 |
LINUX 0426 (0) | 2023.04.27 |
LINUX (리눅스에서의 파일/ 디렉터리의 계층 구조와 주요 기능/ 디렉터리 관련 명령/ 파일 관련 명령/파일링크) (0) | 2023.04.25 |