하드를 파티션을 삭제했다가 다시 만들었을 때 기존에 설정했던 디렉토리로 설정을 하면 마운트가 안되었다.

그럴 때는 아래 명령을 통해 이전 설정을 제거 해주어야 한다.

 sudo nano /etc/fstab

사용할 디렉토리와 관련된 모든 줄들을 제거해준다.

그리고 아래로 마운트를 해준다.

sudo mount - a

그런 다음 disks에서 설정을 해주고 마운트를 시켜주면 잘 작동한다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

내가 우분투에서 사용했던 프로그램 목록을 작성한다.

클레멘타인 음악 재생기이다.

vlc 동영상 재생기이다.

krename 파일 이름변경 프로그램이다.

albert 일종의 단축키같은 프로그램이다.

converseen 아이폰 이미지를 jpg로 변경할 때 사용했다.

extensions 우분투에 여러가지 확장 프로그램 설치와 연관된 프로그램이다.

usertheme, arc menu, dash to panel 익스텐션에서 설치했던 확장 프로그램들이다.

freefilesync 파일과 폴더 자료 동기화 프로그램이다.

gdebi 패키지 인스톨러 deb파일을 gui에서 설치할 수 있도록 하는 프로그램이다.

GPicView 아이폰 이미지 파일을 볼수 있는 이미지 뷰어다.

motrix 바이두에서 파일 다운로드 받을 때 사용했다.

p7zip 분할 압축풀기가 지원되는 압축프로그램이다.(한글로 된 파일이 압축해제가 안되는것 같다.)

synaptic package manager 우분투 프로그램 설치 제거를 관리하기 위한 gui 프로그램이다.

ubuntu cleaner 임시파일 등을 정리하기 위한 프로그램이다.

whitesur 테마 맥의 bigsur를 오마쥬?한 우분투 테마이다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

독에서 아이콘을 누르면 최소화되도록 설정하기

gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

 

추가한 저장소 삭제하기

 

아래 파일에서 관련 저장소를 제거해주고

sudo nano /etc/apt/sources.list

아래 폴더에 있는 관련 저장소 파일을 삭제해 주어야 한다.

cd /etc/apt/sources.list.d/

 

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

5년전쯤에 구매한 iwork10 ultimate가 있는데

낮은 안드로이드 버전과 윈도우 퍼포먼스가 만족스럽지 않아 다른 os를 설치해보았다.

다 지우고 처음에 우분투를 설치했는데 무선랜과 그래픽 사운드 잘 잡혔다.

그리고 화면회전도 잘 되었다.

이걸 보면서 왠지 다른 os를 설치할 수 있을 것같은 자신감을 얻은 것 같다.

그런데 터치가 왼쪽을 터치하면 오른쪽이 터치되고 오른쪽을 터치하면 왼쪽으로 터치되는 문제점이 있었다.

touch calibration을 해보았으나 쉽게 되지 않았다.

그래서 다른 os를 특히 리눅스와 안드로이드를 찾아보았다.

그 중에서도 PC와 태블릿에 특화된 버전으로 찾아보았다.

 

깔아본 os는 다음과 같다.

우분투데스크탑 22.04

리믹스OS

primeos 0.6.1

phoenixos 3.0.5

jingos 0.9

bliss 11.13

android-x86

 

등 다양한 os를 깔아보았다.

어떤 건 무선랜이 안잡히는 것도 있었고 소리도 안나오는 것도 있었다.

대부분 동일한 증상은 우분투처럼 touch가 반대로 나오는 것이었다.

 

다 깔아보니 원래 순정상태가 더 좋았다는 것이었다.

그리고 윈도우란 운영체제가 참 편의성이나 여러모로 좋았다는 생각이 들었다.

OS를 설치하기도 쉬운 편이고

드라이버를 찾아주는 프로그램도 있고 검색하면 대부분 나오기 때문이었다.

 

새로운 OS를 깔아보고 오히려 순정보다 못한 것을 보면서 다시 순정으로 돌아오게 되었다.

iwork10 pro 혹은 ultimate란 이름으로 나온 모델이 여러가지 있었는데

그중에 내가 가지고 있는 것은 i15-td라는 모델명을 가지고 있다.

한국에서 출시된 모델은 다 i15-td인지 다른 모델도 있는지는 모르겠다.

 

그런데 아무리 찾아도 순정 펌웨어를 찾을 수가 없었다.

그래서 다른 버전을 찾아서 해보다가 i15-tfl을 깔아보니 대부분 잘 작동되었다.

카메라, 화면회전, 터치 등등

그런데 영어로 된 로고로 나오던 것이 한자로 나왔다.

그리고 모델명이 i15-tfl로 나왔고 부팅 애니메이션도 그 한자를 이용한 것이었다.

그래서 루팅을 한 뒤 모델명을 i15-td로 바꾸고 부팅 애니메이션도 찾아서 바꿔주었다.

 

윈도우는 해당모델 버전 윈도우가 아니라 순정 윈도우 설치 usb를 이용해 설치했다.

그리고 드라이버는 i15-tfl 윈도우 설치파일중 wim파일에서 dism으로 드라이버를 추출하고

나머지는 인터넷에서 받은 i15-t용 드라이버를 깔았다.

알수없는 장치는 없었고 작동은 전부 잘 되는 것 같았다.

아래는 터치 스크린 드라이버이다.

install를 관리자 권한으로 실행해야 한다.

실패했다고 뜰텐데 그냥 무시하고 touchsetting.gt와 devcon.exe는 이미 복사가 되었을 것이다.

그리고 혹시 모르니 드라이버를 따로 설치해주자.

iwork10_i15_t_touch_driver_win.zip
1.94MB

 

iwork10은 중국버전이 아니라면 다른 거 설치하지 말고 왠만하면 순정을 쓰는게 더 나은거 같다.

물론 안드로이드만 윈도우만 설치하는 것도 가능하다.

 

키 포인트만 설명하자면 안드로이드는 순정펌웨어 설치 파일의 gpt.bin을 수정해야 한다.

x98시리즈의 gpt_53g.bin 파일을 수정해서 전체용량을 대부분 사용하는 파일을 만들었다.

gpt_full.bin
0.00MB

gpt_full.bin을 gpt.bin으로 변경하고 펌웨어를 설치하면 모두 사용하게 될 것이다.

53g를 55g로 만든 것이다. iwork10의 디스크를 확인해보면 전체가 58g로 확인된다.

그 중 8g가 안드로이드 데이터 파티션으로 잡히고 나머지 47.2g정도가 윈도우로 잡힌다.

8+47.2g해서 55.2g인데 55g면 대부분 사용하게 될 것이다.

58g중 나머지 3g는 시스템이나 다른 파티션에서 사용한다.

200메가 정도 남는 공간이 있을텐데 이 정도는 남겨둘 수 밖에 없을 것 같다.

실제로 펌웨어를 올려보진 않았는데 이론상으론 잘 작동할 것이다.

그리고 그 전에 윈도우에서 switch now 프로그램을 실행시킨 뒤 듀얼 부팅을 disable 시켜줘야 한다.

그렇지 않으면 os 선택 화면이 계속 나올 것이다.

SwitchNOW.exe
0.31MB

 

윈도우는 파티션을 전부 포맷한 뒤 윈도우를 파티션 할당해서 하면 된다.

나는 android-x86 설치 디스크를 이용해서 파티션만 제거해주고 ms에서 받은 윈도우 설치usb로 설치했다.

 

iwork10 펌웨어를 계속 찾아보다 중국어로 된 iwork10 펌웨어 글을 찾았다.

i15-tcl이었는지 뭔지는 기억이 안나는데 내가 가지고 있는 버전은 아니었다.

그 사이트에서 검색을 했더니 내가 가지고 있는 버전이 나왔다.

아래가 그 사이트이다.

받기 위해서는 바이두 아이디가 필요하고 바이두 클라우드를 통해 받는다.

파일 크기가 6.6기가인데 윈도우 설치용 안드로이드 설치용 모두 포함된 버전인거 같다.

무료 사용자 기준 24시간 정도 걸리는거 같다.

바이두 클라우드에서 비번을 물어보는데 그것도 사이트에 적혀있다.

한글로 번역해서 보면 될 것이다.

 

받아서 설치해보니 안드로이드는 i15-t 버전이라 카메라 지원이 안됐다. 그리고 회전이 됐는지 안됐는지 기억이 안난다.

카메라와 회전 모두 지원하는 i15-tfl 로 다시 돌아가서 magisk로 루팅한 후에 build.prop과 bootanimation.zip을 바꿔주었다.

i15-tfl 펌웨어는 여기서 받을 수 있다.

https://pan.baidu.com/share/link?shareid=467329010&uk=3474489303#list/path=%2F 

 

I15-TFL_免费高速下载|百度网盘-分享无限制

 

pan.baidu.com

나같은 경우는 아예 다 지우고 새로 깔 생각으로 도전했었지만

안드로이드를 설치 usb로 설치할 때 파티션을 새로만들고 포맷한다.

안드로이드 설치하기 전에 백업할 자료가 있다면 미리 백업해야 한다.

 

2023.02.07 추가

결국엔 디클에서 요청해서 iwork10 i15-td 정식 안드로이드 펌웨어를 받아 설치했다.

이제 중국어로 나오던 부팅 로고도 영어로 잘 나온다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

https://jellyfin.org/docs/general/administration/hardware-acceleration/

 

Hardware Acceleration | Jellyfin

Jellyfin supports hardware acceleration (HWA) of video encoding/decoding using FFMpeg.

jellyfin.org

4k영상이 재생이 안되길래 젤리핀에 하드웨어 가속을 지원하기 위해 위 페이지를 찾았다.

원래 오래된 nvidia모델을 사용하고 있었는데 nvenc는 지원되지 않았다.

그래서 인텔 3세대 내장그래픽의 va-api를 사용하려는데 잘 되지 않았다.

그래서 gtx1050시리즈를 중고로 구매했다.

처음에는 삑 소리만 나고 진행이 안되었는데 메인보드 개발사는 홈페이지가 사려져서

예전에 받아둔 바이오스를 설치하니 되었다.

윈도우즈 정품인증이 없어질까봐 걱정했는데 계정을 연결해두었더니 없어졌다가 자동으로 재인증되었다.

위의 페이지의 설명엔 우분투에서 직접 nvenc를 적용하는 방법이 나오지 않았다.

그래서 docker를 깔아보고 lxc도 알아보았다.

리눅스에서도 docker를 사용해보고 윈도우 wsl2에도 docker를 사용해보았는데 잘 안되었다.

 

물론 아래 페이지를 링크해두었지만 다른 부분에는 설명이 있어 설명을 찾아보다 삽질을 한 것이다.

https://trac.ffmpeg.org/wiki/HWAccelIntro

 

HWAccelIntro – FFmpeg

Many platforms offer access to dedicated hardware to perform a range of video-related tasks. Using such hardware allows some operations like decoding, encoding or filtering to be completed faster or using less of other resources (particularly CPU), but may

trac.ffmpeg.org

 

https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new

 

Video Encode and Decode GPU Support Matrix

Find the related video encoding and decoding support for all NVIDIA GPU products.

developer.nvidia.com

자신의 gpu가 nvenc nvdec를 지원하는지 알고 싶다면 위의 링크를 찾아보자

 

처음에는 개발환경을 우분투 서버로 했었다.

하지만 개발해보면서 여러가지 문제점이 보였다.

그래픽 드라이버를 설치하면 cli에서 잘 되지 않는 문제가 있었다.

nomodeset을 적용하면 사용할 순 있지만 nomodeset상태에서

드라이버가 제대로 작동하는지 모르겠어서 그냥 desktop을 설치했다.

그랬더니 부팅이 잘 되었다.

하지만 일부러 cli모드로 변경하면 역시 잘 나오지 않고 nomodeset을 추가 해주어야 했다.

nomodeset 상태에서도 nvenc는 잘 작동되었고 jellyfin 하드웨어 가속도 잘 되었다.

 

우분트 데스크탑을 깔때 리눅스 상에서 추천해주는 드라이버를 사용했었는데 nvenc가 작동하지 않았다.

리눅스 상에서 기본적으로 지원해주는 드라이버를 받지 말고 최신의 nvidia linux 드라이버를 설치해야 한다.

 

그리고 기본적으로 설치되는 nouveau 드라이버를 블랙리스트에 추가해주었다. 이건 필수적인지 아닌지 모르겠다.

이걸 하기전에 오류가 발생했는데 한 뒤로 오류가 안 생겼다. 안정성을 위해 해주는게 좋을 것 같다.

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

아래 두 줄을 입력해주고 ctrl+o로 저장하고 엔터 ctrl+x로 종료한다.

blacklist nouveau
options nouveau modeset=0
update-initramfs -u
reboot

jellyfin을 사용하다보니 알게 되었는데 jellyfin 자체에 ffmpeg를 내장하고 있었다.

아래 명령어를 실행해보니 에러가 나면서 중단되었다.

아무래도 ffmpeg 컴파일 과정은 필수적인거 같다.

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:a copy -c:v h264_nvenc -b:v 5M output.mp4

위의 HWAccelIntro 링크에서 nvidia설명대로 해주었다.

 

먼저 nvidia의 cuda/nvenc/nvdec를 사용할 수 있도록 헤더를 받아서 메이크하고 인스톨 한다.

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

 

CompilationGuide/Ubuntu – FFmpeg

Compile FFmpeg for Ubuntu, Debian, or Mint This guide for standard support releases of Ubuntu, Debian, and Linux Mint and will provide a local, non-system installation of FFmpeg with several external libraries. You may also refer to the Generic Compilation

trac.ffmpeg.org

나머지는 항목이 길어서 위의 링크에 써져있는 내용대로 차례대로 실행해주면 된다.

중간중간 문제가 있었다.

bin 폴더를 ffmpeg_build의 서브폴더로 지정하라는게 있어서 몇 군데 수정해주었다.

우분투 20.04에서 실행하라는 내용도 실행해야 오류가 안생긴다.

그 외에도 libaom이 불안정하다고 해서 설치안했더니 에러가 났는데

선택해서 할거면 설치안한 항목은 enable->disable로 바꿔주자.

 

/home/username/bin폴더에 ffmpeg_build/bin에 있던 파일들을 복사해준다.

여기서 username은 사용자 계정명으로 바꿔주야 한다.

그리고 ffmpeg_source/ffmpeg 에 bin 폴더의 파일들과 아이콘이 같은 항목들도 복사해준다.

그리고 ffmpeg의 마지막 명령어를 다시 실행한다.

 

그리고 제대로 설치 되었는지 확인하려면 아래 명령어를 쳐서 나오는 코덱이 있는지 확인하자

ffmpeg -encoders 2>/dev/null | grep nvenc
ffmpeg -decoders

위의 명령어를 치면 지원되는 디코더가 전부 나오는데 설명에 cupid가 있는 것이 하드웨어 가속을 지원한다.

 

하드웨어 가속이 정상적으로 작동하는지 보려면 다음 명령어를 치면 된다.

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:a copy -c:v h264_nvenc -b:v 5M output.mp4

여기서 input.mp4를 자신이 가지고 있는 파일로 수정해주어야 한다.

변환작업을 하게 되니 재생시간이 짧은 파일을 사용하는 것이 좋다.

 

jellyfin 에서 설정은 로그인한후에 세줄을 누르고 dashboard playback에서 nvenc로 해주고 부가설정도 해주면 된다.

 

이젠 4k h264 h265 hevc는 재생이 가능하다

nvenc에 없는 vp9은 끊김이 발생한다.

하드웨어 가속 없이는 fhd가 최고인것 같다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

https://blog.wise-leader.com/transmission_server/

 

Good Daddy의 Ubuntu 리눅스 NAS - 트랜미션 서버 설치하기 - 굿대디의 지식공유 일기

Good Daddy의 Ubuntu 리눅스 NAS - 트랜미션 서버 설치하기 굿대디의 지식공유 일기 %

blog.wise-leader.com

을 참고하였습니다. 

 

트랜스미션 저장소를 추가해준다.

sudo add-apt-repository ppa:transmissionbt/ppa

설치할 수 있는 것을 업데이트 하고 트랜스미션 관련항목들을 설치해준다.

sudo apt-get update
sudo apt-get install transmission-cli transmission-common transmission-daemon

트랜스미션을 설정한다.

sudo vi /etc/transmission-daemon/settings.json

아래 항목들을 수정해준다.

"download-dir": "/transmission/download",     #다운로드 디렉토리이다.
"incomplete-dir": "/transmission/incomplete", #incomplete 디렉토리이다.
"incomplete-dir-enabled": true,				  #incomplete 디렉토리를 사용할 여부이다.
"rpc-bind-address": "0.0.0.0",                #WEB-Interface으로 접근가능한 주소이다. 0.0.0.0는 모두 접속가능하다. 
"rpc-authentication-required": true,          #계정과 비밀번호를 입력해야 하는지 설정이다 false로 설정할시에 그냥 접속할수있다.
"rpc-enabled": true,                          #당연하지만 외부에서 접속이 가능하게 활성화가 필요하다.
"rpc-password": "passwd",                 	  #외부앱에서 접속시 사용자 비밀번호
"rpc-username": "user",                    	  #외부앱에서 접속시 사용자 계정명
"rpc-whitelist": "trans.example.com",         #외부 접속이 가능한 사이트 명이나 IP 를 적어준다.
"rpc-whitelist-enabled": false,         	  #이걸 false로 해야 외부에서 접속이 가능하다.
"rpc-port": 9091,                             #원격으로 접속하는 WEB-Interface의 포트번호이다.

버그인지 설정을 저장하고 재시작(restart)을 했을때 초기화 되는 현상이 발생했다. restart대신에 reload를 해주자.

sudo service transmission-daemon reload

트랜스미션 서버를 시작한다.

sudo service transmission-daemon start

재부팅되어도 트랜스미션이 시작되도록 설정을 추가한다.

sudo vi /etc/systemd/system/transmission-daemon.service

아래 항목을 넣어준다.

[Unit]
Description=transmission-daemon

[Service]
User=debian-transmission
ExecStart = /usr/bin/transmission-daemon -f --config-dir /var/lib/transmission-daemon/info
Restart = always
RestartSec = 240
IOSchedulingClass = best-effort
IOSchedulingPriority = 7
Nice = 10
CPUSchedulingPolicy = idle

[Install]
WantedBy=multi-user.target

추가한 설정을 적용해 준다.

sudo systemctl --system daemon-reload
sudo systemctl enable transmission-daemon.service
sudo systemctl start transmission-daemon.service

이제 localhost:9091 이나 외부 도메인을 통해 접속이 가능해졌다.

파일 쓰기 권한을 위해 아래와 같이 추가해준다.

sudo usermod -aG username debian-transmission
sudo chown username:username -R transmission/
sudo chmod 775 -R transmission/

 

그리고 설정 파일이 바뀌지 않았는지 확인해준다.

sudo vi /etc/transmission-daemon/settings.json

바뀐게 있다면 다시 제대로 설정해주자.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

우분투 서버에서는 기본적으로 영어와 유사한 언어만 설치가 된다.

때문에 한글을 입력하려면 한글을 추가로 설치해 주어야 하는 것 같다.

먼저 gui환경을 설치해야한다.

우분투 서버에 gui환경 설치하기

gui가 설치되면 settings 앱에서 region & language를 선택해준다.

manage installed languages를 클릭해준다.

install/remove languages를 클릭해준다.

korean을 찾아서 체크하고 apply를 클릭해준다.

korean이 보일텐데 이를 위에 위치하면 한글로 보이게 해준다.

그런데 cli환경에선 글자가 깨지기 때문에 영어가 위에 있게 해준다.

그리고 우분투를 로그아웃 한 뒤에 다시 로그인해준다.

그러면 적용이 되어 있을 것이다.

 

터미널에서 아래를 실행한다.

ibus-setup

input method 탭을 클릭해준다.

add 를 클릭하고 ...을 눌러 korean을 검색해서 찾아준다. korean을 클릭하고 상단의 hangul을 선택해준다.

add를 클릭한다.

 

settings앱에서 keyboard를 선택한다.

input sources에서 +를 클릭한다.

...을 눌러 korean을 검색해서 찾아준다.

korean을 선택하고 korean (hangul)을 선택하고 add를 클릭한다.

기존에 깔려있던 korean에서 ...을 눌러 remove를 클릭해준다.

 

korean(hangul)에서 ...을 눌러 preferences를 클릭해준다.

hangul toggle key를 모두 remove시켜주고 add로 한영전환 키를 입력한다.

나는 한영키로는 전환이 안되어 shift+space를 이용하고 있다.

ok를 눌러 적용한다.

 

우분투를 재시작한다.

shift+space로 한영이 전환된다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

크롬과 인텔리제이는 gui환경에서 실행할 수 있다.

 

크롬 설치하기

sudo apt update

저장소 목록을 새로 가져온다.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

우분투 22.04엔 이미 wget이 포함되어 있으니 명령어를 통해 크롬 설치 패키지를 다운로드 한다.

sudo dpkg -i ./google-chrome-stable_current_amd64.deb

다운로드한 크롬 패키지를 설치한다. 

완료되면 어플리케이션 목록에 설치된 것을 확인할 수 있다.

 

자바 sdk openjdk 11 설치

sudo apt-get update

설치가능 리스트를 가져온다.

sudo apt-get install openjdk-11-jdk-headless

headless gui가 없는 버전을 설치해준다. 자바로 gui를 개발할 것이 아니라면 필요가 없을 것이다.

java -version
javac -version

설치된 자바 버전을 확인할 수 있다.

 

자바를 여러개 설치해야 할 경우 아래 명령어로 기본으로 사용될 버전을 선택할 수 있다.

sudo update-alternatives --config java

인텔리제이 설치

먼저 크롬이 인스톨 되었다고 가정하고 설명하겠다.

아래 사이트에서 무료인 커뮤니티 버전을 다운로드한다.

https://www.jetbrains.com/ko-kr/idea/download/#section=linux

 

다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE

 

www.jetbrains.com

다운로드한 디렉토리에 가서 압축파일을 extract here로 압축해제한다.

바로 보이는 폴더 안에 또 다른 폴더가 들어있다.

이것을 다른 곳으로 이동시켜주고 디렉토리명도 적당히 변경해주자.

bin 폴더 안에서 idea.sh 파일에 오른쪽 클릭하여 run as a program을 클릭하자.

설정을 마치고 프로그램이 실행되면 좌측 하단의 톱니바퀴를 클릭해준다.

create desktop entry를 클릭해주면 어플리케이션 목록에 추가된다.

모든 유저에 추가하려면 create the entry for all users를 체크해준다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

kt공유기는 자체 ddns를 제공하지 않고

가지고 있는 iptime 공유기는 오래되어서 속도나 다른데 문제가 있을 것 같아서

ddns 서비스를 찾아보았다.

무료 서비스인 duckdns를 사용하였다.

https://www.duckdns.org/install.jsp

 

Duck DNS - install

linux cron if your linux install is running a crontab, then you can use a cron job to keep updated we can see this with ps -ef | grep cr[o]n if this returns nothing - then go and read up how to install cron for your distribution of linux. also confirm that

www.duckdns.org

가입한 후에 (사용할domainname).duckdns.org 을 생성해준다.

그리고 상단의 install 을 클릭한다.

linux cron을 선택하고 choose a domain에서 설치할 domain을 고른다.

안내되어 있는대로 실행해서 설치한다.

 

kt 포트 포워딩

kt와이파이 설정에서 포트 포워딩을 해야 외부 도메인을 사용할 수 있다.

소스 ip 주소와 소스 포트는 생략해도 된다.

외부 포트와 내부 포트를 설정해주고 서버의 내부 ip도 설정해준다.

 

kt공유기 임대시간

장치설정->네트워크 관리->랜 연결 설정->DHCP 임대시간을 2147483647로 해주자

이게 초단위인데 대략 계산해보니 68년이다. 이 정도면 충분할 것이다.

안 그러면 내부ip가 자꾸 바껴 포트 포워딩을 매번 수정해줘야한다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

우분투 서버 22.04 설치

 

설치 USB를 만들었으면 컴퓨터에 꽂고 전원을 킨다.

설치 usb가 없으면 여기서 보자.

여기선 ventoy를 이용했는데 rufus를 사용해도 된다.

delete키를 눌러 부팅 우선순위를 바꾸고 저장하거나

esc키를 눌러 현재 부팅할 저장소를 선택해준다.(해당 키는 메인보드마다 다르다)

그런 뒤에 부팅하면 ventoy 선택화면이 뜰 것이다. 설치할 iso파일을 선택해준다.

 

리눅스 부팅이 시작되는데 여기서 첫번째 normal을 선택한다.

try or install ubuntu server를 선택한다.

설치를 준비한 뒤에 언어를 선택하는 화면이 나온다.

english를 선택하고 done을 눌러준다.

우분투 서버는 기본적으로 cli환경인데 한글이 지원되지 않는다.

추가로 desktop을 깔면 한글을 추가할 수 있지만 cli에서 글자가 깨지므로 기본언어는 영어로 해두는게 좋다.

키보드 레이아웃은 korean으로 설치한다. 어차피 한영키 사용을 위해서 추후에 변경해줘야 한다.

전체설치 최소설치를 선택화면에서 전체설치를 선택하고 done을 눌러준다.

proxy address는 수정하지 않고 done을 눌러준다.

mirror address도 수정하지 않고 done을 눌러준다.

 

설치 버전 update는 가운데 continue without update를 선택해준다.

 

하드 선택은 custom을 선택해서 윈도우를 설치할 때 미리 만들어둔 파티션을 수정해준다.

우분투를 설치할 파티션에 엔터를 누르고 edit를 누르고 ext4 포맷으로 바꿔주고 마운트 위치도 /로 바꿔준다.

그리고 done을 눌러준다.

 

name 폴더에 사용되고 표시되는 이름이다. ex)user

servername 서버의 이름이다. ex)server

username 사용자 아이디이다 ex)userid

password 비밀번호이다.

password confirm 비밀번호를 다시 눌러준다.

 

openssh는 설치해도 되고 안해도 된다.

나는 안하고 지나갔다.

 

이제 한참 기다리면 우분투 서버가 설치 완료된다

완료됐다는 메시지가 나오면 usb를 빼고 엔터를 눌러 재부팅을 시켜준다.

부팅이 완료되면 login이 나올 것이다.

여기에 username을 입력한다.

그리고 password를 입력해서 로그인 한다.

 

sudo passwd root를 해서 root의 비밀번호를 설정해준다.

나는 만든 계정의 비번과 통일했는데 다르게 설정할 수 있는지는 모르겠다.

 

우분투 서버에 gui환경 설치하기

sudo apt-get update

업데이트 가능 패키지를 검색한다.

sudo apt-get upgrade

업데이트를 해준다.

서버 개발 ide를 사용하거나 설정을 쉽게 하기 위해 gui를 설치해준다.

sudo apt-get install --no-install-recommends ubuntu-desktop
sudo apt-get install ubuntu-desktop

위는 최소설치 아래는 전체설치 인데 전체설치를 한다.

저장소 용량을 사용한다고 물어보는데 y를 눌러준다.

sudo apt-get install indicator-appmenu-tools

몇몇 오류 해결과 편의성을 위해 설치해준다.

sudo apt-get install lightdm

가벼운 lightdm을 깔아준다.

gdm3 lightdm 선택화면에서 lightdm을 선택해준다.

 

CLI환경으로 부팅하기

sudo vi /etc/default/grub

desktop을 설치하면 gui환경으로 부팅되는데 cli로 부팅되도록 grub을 수정해준다.

 

화면에서 GRUB_CMDLINE_LINUX_DEFAULT="" 라인을 주석 처리 한다.

GRUB_CMDLINE_LINUX="text" text를 입력해준다.

#GRUB_TERMINAL=console 에서 주석을 제거 한다.

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

수정을 마쳤으면 esc를 누르고 wq! 엔터를 눌러 저장한다.

sudo update-grub

수정한 grub을 적용해준다.

sudo systemctl set-default multi-user.target

시스템 설정을 cli로 변경해준다.

sudo reboot

리부팅 한다.

 

gui가 필요할때는 서비스를 실행해서 사용한다.

sudo service lightdm start

 

GUI환경으로 부팅하기 

sudo systemctl set-default graphical.target

시스템 설정을 gui로 변경해준다.

sudo vi /etc/default/grub

주석을 제거한다.

GRUB_CMDLINE_LINUX_DEFAULT=""

GRUB_CMDLINE_LINUX에서 text를 지워준다.

GRUB_CMDLINE_LINUX=""

GRUB_TERMINAL를 주석처리한다.

#GRUB_TERMINAL=console

wq!를 눌러 저장한다.

sudo update-grub

수정한 grub을 적용하고 리부팅한다.

reboot

리눅스 시간 로컬 타임존으로 설정하기

듀얼부팅할 경우 리눅스를 부팅한 후에 윈도우를 부팅해보면 시간이 바껴있다.

날짜가 하루 차이거나 같고 시간은 다른데 분이 똑같다.

메인보드까지 동일하게 시간을 바꿔버린다.

타임존에 문제인거 같아서 검색을 해보니

리눅스에선 utc타임을 사용해서 시간을 설정하고 거기서 로컬 타임 시간을 적용한다고 한다.

그걸 로컬 타임을 적용하는 방법이 있었다.

 

우분투 터미널에서 적용해주자.

timedatectl set-local-rtc 1 --adjust-system-clock

잘 적용되었는지 확인하려면 아래를 실행시키면 된다.

timedatectl

그 뒤에 메인보드 시간을 바꾸거나 윈도우에 로그인해서 시간을 동기화 해주어야 하는 것 같다.

이제는 우분투를 부팅하고 윈도우를 부팅해도 시간이 잘 나온다.

 

원래대로 utc 타임을 설정하려면 아래와 같이 실행하면 된다.

timedatectl set-local-rtc 0 --adjust-system-clock

 

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,