반응형

필요 없는 리눅스 커널을 삭제해 보자.

 

rpm -q kernel 명령으로 확인해 보면 2개의 커널이 있다.

※  dnf list kernel 명령으로도 확인 할 수 있다.

 

dnf autoremove 명령을 실행해 보자.

autoremove - 필요 없는 패키지를 삭제한다.

 

y를 선택하고 진행하면 필요 없는 패키지가 삭제된다.

 

다시 rpm 명령으로 커널을 확인해 보면 그대로다. dnf autoremove 명령은 커널과 상관이 없다.

 

rpm -e '커널명' 명령으로 커널을 삭제한다.

rpm -q kernel 명령으로 확인해 보면 위 그림에서 삭제한 커널이 더 이상 표시되지 않는다.

하지만 /boot 디렉토리를 확인해 보면 vmlinuz-XXX 파일은 그대로 남아 있는걸 볼 수 있다.

vmlinuz 파일은 압축된 리눅스 커널 이미지다. (z: 압축을 의미)

 

반응형
Posted by J-sean
:
반응형

dnf update 등의 명령으로 커널이 업데이트 되면 부팅 시 OS를 선택 할 수 있는 GRUB 메뉴가 표시된다.

GRUB을 수정해 바로 부팅 할 수 있도록 해보자.

 

리눅스 커널이 업데이트 되면 부팅 시 원하는 커널을 선택하는 GRUB 메뉴가 표시된다.

 

/boot 디렉토리를 확인해 보면 vmlinuz로 시작하는 여러 버전의 커널이 있는걸 확인 할 수 있다.

 

grubby 명령으로 확인해 보면 grub에는 2개의 커널이 등록되어 있다. 그래서 GRUB 메뉴에서 2개의 커널이 표시되는 것이다.

 

--remove-kernel 옵션으로 GRUB 메뉴에서 지우고 싶은 커널을 삭제한다.

 

 

다시 부팅해 보면 위에서 삭제한 커널 목록은 없어졌지만 여전히 GRUB 메뉴가 표시된다.

 

/etc/default/grub 파일에서 GRUB_TIMEOUT=5를 0으로 수정하고 저장한다.

 

grub2-mkconfig 명령을 실행해 /boot/grub2/grub.cfg 파일을 업데이트 한다.

 

재부팅하면 GRUB 메뉴가 표시되지 않고 바로 기본 커널로 부팅된다.

 

※ 리눅스 커널 삭제

2025.10.11 - [Linux] - [Rocky Linux] Kernel Removal 커널 삭제

 

반응형
Posted by J-sean
:
반응형

Ubuntu 24.04 이후 버전을 설치 하면 apt install 명령으로 소프트웨어가 제대로 설치되지 않는 경우가 발생할 수 있다.

아래 링크를 참고해 저장소(Repository)를 변경하거나 추가한다.

 

Ubuntu 24.04 Repository

 

반응형
Posted by J-sean
:
반응형

WMware 리눅스(우분투)와 윈도우 폴더를 공유해 보자.

 

가상머신의 세팅 옵션에서 Folder sharing을 enable하고 공유할 윈도우 폴더를 지정한다.

 

리눅스에서 공유에 사용할 디렉토리를 생성하고 아래 명령으로 마운팅 한다.

/usr/bin/vmhgfs-fuse .host:/ ~/shares -o subtype=vmhgfs-fuse,allow_other

위 그림과 같이 allow_other 옵션 때문에 에러가 발생한다면 아래 내용을 진행한다. (아니면 명령 앞에 sudo를 붙여준다)

 

/etc/fuse.conf 파일을 에디터로 오픈 한다.

 

user_allow_other 명령의 주석을 해제한다.

 

 

다시 마운팅 명령을 실행하면 문제 없이 마운팅 된다.

재부팅하면 다시 마운팅해야 한다.

 

※ 참고

Using Shared Folders

 

반응형
Posted by J-sean
:
반응형

우분투에 서버용 JDK를 설치하고 세팅해 보자.

 

openjdk-XX-jdk-headless(서버용)를 설치한다.

 

/etc/profile 파일을 오픈 한다.

 

/etc/profile 파일

 

파일의 마지막에 JAVA_HOME 세팅을 추가한다.

 

 

/etc/environment 파일을 오픈 한다.

 

/etc/environment 파일

 

PATH 끝에 ':$JAVA_HOME/bin'을 추가한다.

 

재부팅하고 echo 명령으로 $JAVA_HOME과 $PATH를 확인한다.

 

 

사실 /usr/bin/ 에 JAVA_HOME/bin 파일이 모두 있기 때문에 PATH 추가는 굳이 하지 않아도 상관 없다.

 

테스트용 JAVA 소스 파일을 작성하고 저장한다.

 

컴파일 하고 실행한다.

 

반응형
Posted by J-sean
:
반응형

우분투 16.04 서버를 사용하던 중 업데이트를 했더니 ESM(Extended Security Maintenance)이 활성화 되지 않아 업데이트를 할 수 없다는 메세지가 떴다.

 

우분투 ESM을 활성화 하고 업데이트 해 보자.

 

우분투 홈페이지에 가입하고 UA Subscriptions를 확인하면 Token이 있다.

 

 

아래 명령어를 실행한다.

(급히 적용 하느라 스크린샷은 없다)

 

# Note that the following steps are not necessary in Ubuntu Pro
# Install the latest UA client
$ sudo apt update
$ sudo apt install ubuntu-advantage-tools

# Use the client to attach this machine to your contract using your UA token
$ sudo ua attach <token>            # <token>에 홈페이지에서 찾은 토큰을 넣는다.
# Ensure ESM-infra is enabled as well:

$ sudo ua enable esm-infra         # 이미 enable 되었다고 나올거다.
$ sudo apt update
$ sudo apt upgrade

 

※ 참고

https://ubuntu.com/blog/ubuntu-16-04-lts-transitions-to-extended-security-maintenance-esm

 

반응형
Posted by J-sean
:
반응형

리눅스(우분투, 라즈베리 파이)에서 특정 프로그램이 자동 실행 되도록 해 보자.

 

/etc/rc.local 파일에 실행하고 싶은 명령을 추가한다.

위 예제는 루트 디렉토리(/)의 파일 목록을 /home/sean/test.txt 파일로 출력한다.

'exit 0' 명령 위에 추가한다.

 

/lib/systemd/system/rc-local.service 파일을 열어준다.

 

아래 명령을 추가한다.

[Install]

WantedBy=multi-user.target

 

서비스를 활성화한다.

 

 

재부팅 해보면 rc.local 파일이 자동 실행되어 ~/test.txt 파일이 생성돼 있다.

 

반응형
Posted by J-sean
:
반응형

아래 링크를 참고해 MariaDB(MySQL)에 저장된 데이터를 확인하는 PHP 웹페이지를 만들어 보자.

2022.02.07 - [Linux] - Connect PHP to MariaDB(MySQL) - MariaDB(MySQL) PHP 연동 1

 

확인할 데이터 정보를 입력하는 index.php 소스를 작성한다.

 

서버에 접속하고 확인할 데이터를 가져오는 data_check.php 소스를 작성한다.

 

서버에 접속하면 ID와 Name을 입력할 수 있는 텍스트 박스가 표시된다.

 

확인하고 싶은 정보를 입력하고 Check 버튼을 클릭한다.

 

 

입력한 정보와 함께 Age가 표시된다.

 

잘못된 정보를 입력해 보자.

 

데이터가 제대로 표시되지 않는다.

 

반응형
Posted by J-sean
: