Linux44 [NextCloud] Media Server 구축 .Next Cloud 라는 Open Source를 이용해서 개인 서버를 구축한다.목적은 "외부망 및 내부망에서 브라우저를 이용하여 파일 탐색 가능한" 서비스를 라즈베리 파이에 설치하는 것이다. 먼저 apache 설치한다.sudo apt install apache2sudo apt install mariadb-server 설치가 완료되면, 라즈베리 파이의 IP 주소를 브라우저 창에 입력해서 정상 동작 확인 가능하다. 다음으로는 php를 설치한다.sudo apt install php php-gd php-mysql php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-imagick php-gmp libapache2-mod-php -ysudo apt inst.. 2025. 10. 9. [Ubuntu] HEIC → JPG 아이폰으로 사진을 촬영하면 HEIC 파일로 저장된다.리눅스에서 작업하기에는 JPG 파일이 편하여, 아래와 같이 변환한다. 아래 명령어로 heif 패키지 설치sudo add-apt-repository ppa:strukturag/libheifsudo apt install libheif-examplessudo apt install libheif1 heif-gdk-pixbuf heif-thumbnailer HEIC 파일 이름(Source)와 JPG 파일 이름 지정 하여 명령어 실행(-q: 품질값. 0~100)heif-convert -q 95 xxx.HEIC xxx.JPG 만약 현재 폴더의 모든 HEIC 파일을 JPG로 변환하고자 하는 경우 아래의 BashScript를 작성하여 실행# 현재 폴더의 모든 HEIC.. 2025. 10. 9. [RaspberryPi] Booting 時 해상도 자동 설정 ※ 환경: Raspberry Pi 4B + Debian GNU/Linux 12 Pi OS는 WayLand를 Display Protocol(Server)로 사용한다.그러므로, 부팅시 모니터에서 지원하는 특정한 해상도 및 주사율을 설정하기 위해서는 wayland 명령어를 이용한다. 즉, GUI를 통한 해상도 설정은 내부적으로 WayLand 명령어를 통해서 이루어진다. 현재 연결된 모니터의 가능한 해상도및 주사율을 확인하기 위해서는 아래 명령어를 사용한다.$ wlr-randrHDMI-A-1 "Samsung Electric Company SAMSUNG 0x01000E00 (HDMI-A-1)" Physical size: 1420x800 mm Enabled: yes Modes: 720x400 px, 70.. 2025. 9. 7. [vim] vim-ollama (private AI assistant) .vim에서 사용 가능한 AI Code Assistant 설치 방법을 소개한다.위 그림에서 회색으로 작성된 부분이 AI가 자동완성한 Code 이다. 해당 PlugIn의 가장큰 장점은 Local 환경에서 구동되므로 폐쇄망에서도 사용 가능하다. Ollama server를 Ubuntu PC에 설치한다.curl -fsSL https://ollama.com/install.sh | sh 만약 인터넷 연결이 전혀 되지 않아, ollama server를 OFFLINE으로 설치해야 한다면 다음 방법을 사용한다.( https://github.com/ollama/ollama/blob/main/docs/linux.md )먼저 아래 링크에서 Release File을 다운받고https://github.com/ollama/olla.. 2025. 5. 27. [vim] YouCompleteMe .vim에서도 여러 plug-in을 사용하면 Source Insight 및 Visual Studio 수준의 자동완성 기능을 사용할 수 있다. 다만, 내 작업환경상 폐쇄망에서 작업하는 경우가 많다.적합한 Tool을 찾아보다가 YouCompleteMe를 알게되어서, 본 글에 설치 및 사용방법을 작성한다.(YCM은 완벽히 설치 후, Directory를 그대로 복사해서 옮기면 다른 환경에서도 수행이 쉽다.)※ 환경vim9.1python3.12.3cmake3.22.1Ubuntu24.04 ※ Vundle 설치만약 완전 처음부터 Set Up 해야하는 경우라면, vim bundle 부터 설치해야 할 수 있다.mkdir -p ~/.vim/bundle/cd ~/.vim/bundle/git clone https://gith.. 2025. 2. 19. [vim] 임의 위치의 tags & cscope 추가 다른 경로에 위치하고 있는 tags 및 cscope 파일을 참조 할 수 있도록 명령어를 추가한다, vimrc 파일에 아래 내용을 추가한다,function! Add_tags_cscope(path) echo "Add cscsope and ctags from " a:path let l:tmpstr = a:path . "tags" exe 'set tags+=' . tmpstr let l:tmpstr = a:path . "cscope.out" exe 'cscope add '. tmpstr . ' ' . a:path returnendfunction" How to Use => :TagsAdd /x/y/z/command -nargs=1 -complete=file TagsAdd :call Add_tags_cscope(".. 2024. 9. 21. [QEMU] ARM64 Ubuntu - Custom Kernel 목적QEMU를 이용한 Ubuntu ARM64 가상화Custom Kernel Build / Run 환경Host : Ubuntu 22.04.3 LTS (x86_64) - jammyGuest : Ubuntu 22.04.3 LTS (arm64) - jammy먼저 아래 링크의 결과로 Guest OS 설치 및 부팅에 성공한 상황을 가정[QEMU] ARM64 Ubuntu (with Bridge Network) (tistory.com) [QEMU] ARM64 Ubuntu (with Bridge Network)목적 QEMU를 이용한 Ubuntu ARM 가상화 Guest OS의 네트워크 설정 (Host와 동일한 네트워크 사용) Host와 Guest의 공유 디렉토리 설정 환경 Host : Ubuntu 22.10 (x86_6.. 2024. 2. 5. [QEMU] ARM64 Ubuntu (with Bridge Network) 목적 QEMU를 이용한 Ubuntu ARM 가상화 Guest OS의 네트워크 설정 (Host와 동일한 네트워크 사용) Host와 Guest의 공유 디렉토리 설정 환경 Host : Ubuntu 22.10 (x86_64) Guest : Ubuntu 22.04.2 (aarch64) Ubuntu 이미지 및 QEMU 패키지 준비 아래 경로에서 Ubuntu ARM 이미지를 다운 받는다. https://ubuntu.com/download/server/arm 다운받은 iso 파일을 ubuntu.iso로 변경하여 저장한다. $ mv ubuntu-22.04.2-live-server-arm64.iso ubuntu.iso QEMU관련 패키지 설치한다. $ apt-get install cloud-image-utils qemu-.. 2024. 2. 5. [QEMU][RaspberryPi] RPI 3B+ Emulation (arm64) 목적 QEMU를 이용해서 Raspberry Pi 3B+ 가상화 Host : Ubuntu v22.10 (x86_64) Target : Raspberry Pi 3B+ (arm64) QEMU Source Code 다운로드 현 시점 우분투 패키지에서 배포되고 있는 QEMU v7.0은 최신 Raspberry Pi Kernel의 Fram Buffer와 호환성이 맞지 않기 때문에, Soruce Code 다운로드 하여 v7.2로 직접 빌드한다. git clone https://gitlab.com/qemu-project/qemu.git cd qemu/ git tag | grep 7.2 git checkout v7.2.0-rc4 cd .. QEMU Build Build Dependency 설치 sudo apt-get bu.. 2024. 2. 5. [QEMU][GDB] Kernel Debugging (arm64) 목적 QEMU & GDB를 이용해서 Kernel Debugging HW 가상화 기능을 이용 : Host/Target이 서로 다른 상황(Host: Ubuntu x86, Target: arm64) QEMU arm64 실행방법 QEMU의 HW 가상화 기능을 이용해서 arm64 kernel을 실행하는 방법은 아래 링크 참조 [QEMU][BusyBox] MainLine Kernel Emulation(arm64) (tistory.com) [QEMU][BusyBox] MainLine Kernel Emulation(arm64) 목적 MainLine Kernel(=Vanilla)를 가상머신에서 구동 Cross Compile 및 HW 가상화 사용 (Host:Ubuntu x64, Target:arm64) QEMU 및 Bus.. 2024. 2. 5. [QEMU][BusyBox] MainLine Kernel Emulation(arm64) 목적 MainLine Kernel(=Vanilla)를 가상머신에서 구동 Cross Compile 및 HW 가상화 사용 (Host:Ubuntu x64, Target:arm64) QEMU 및 BusyBox 사용 Kernel Build Build Dependency 설치 Kernel Build Dependency 설치 및 CrossComplier 설치 sudo apt-get build-dep linux linux-image-$(uname -r) sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf llvm sudo apt-get.. 2024. 2. 5. [Ubuntu] sshfs 공유 폴더 Mount 목적네트워크 공유 폴더 생성 관련 Package 설치$ apt install sshfs 공유 폴더 Mount (접속하고자 하는 server의 IP, 계정정보 및 위치 입력)$ mkdir shared_dir/$ sshfs user_name@123.456.789.123:/server/dir ./shared_dir 만약 비밀번호를 매우 타이핑 하는게 귀찮다면, 스크립트를 작성할 수도 있다.(명심하자, 엄청난 보안 위배이다.)#!/bin/bashset -o errexitset -o nounsetset -o pipefailsshfs -o user_name@123.456.789.123:/server/dir ./shared_dir PASSWORD 부분에 ssh 계정 비밀번호를 입력하면 된다.. 2024. 2. 5. [Ubuntu] ssh root login 목적 root 계정으로 ssh 접속 허용 " /etx/ssh/sshd_config "에서 아래의 2개 내용 수정 # File: /etx/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes root 계정 password 설정 $ passwd root ssh service 재시작 $ service ssh restart . 2024. 2. 5. [Ubuntu] Notebook 배터리 상태 확인 현재 남아있는 배터리 용량(%) 확인 $ cat /sys/class/power_supply/BAT0/capacity 68 배터리 충전 상태 확인 $ cat /sys/class/power_supply/BAT0/status Discharging . 2024. 2. 4. [Ubuntu] netplan wifi dhcp 설정 목적 Ubuntu Booting 후, 자동으로 Wifi에 연결되도록 Netplan을 이용하여 설정 연결 가능한 Wifi 검색 $ nmcli dev wifi IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY 86:25:19:B6:87:7D DIRECT-7D C51x Series Infra 9 65 Mbit/s 100 ▂▄▆█ WPA2 1C:56:8E:61:A9:FB MyHomeWifi_5G Infra 36 270 Mbit/s 92 ▂▄▆█ WPA2 * 1C:56:8E:61:A9:FA MyHomeWifi Infra 9 130 Mbit/s 76 ▂▄▆_ WPA2 SSID 정보에서 연결 가능한 wifi 이름을 확인 가능 아래와 같이 netplan 설정 파일 수정 -.. 2024. 2. 4. [Ubuntu] GRUB Booting 선택 제한시간 제거 GRUB 설정 파일 수정 $ vim /etc/default/gub "GRUB_TIMEOUT" 값을 -1 설정 수정 완료후 GRUB 설정 정보를 update $ update-grub . 2024. 2. 4. [Ubuntu] samba 설치 - 아래 명령어를 통해서 samba 설치$ sudo apt install samba - Ubuntu 20.04 기준으로 의존성 문제 발생하는 경우, libwbclient0 버전을 다운그레이드 한 후에 samba 설치$ sudo apt install libwbclient0=2:4.15.9+dfsg-0ubuntu0.2 - samba 설정 파일을 열어서 접속할 user 추가$ sudo vim /etc/samba/smb.conf - /etc/samba/smb.conf 파일 가장 아래에 내용을 추가- 아래 내용에서 user_name 부분을 추가할 계정으로 변경[user_name]comment = My ubuntu serverpath = /home/user_namebrowseable = yesread only = .. 2024. 2. 4. [Ubuntu] ssh 설치 (터미널 원격 접속) - 아래 명령어로 open ssh server 설치 $ sudo apt update $ sudo apt install openssh-server - ssh server 실행 $ sudo systemctl enable ssh $ sudo systemctl start ssh - ssh server 실행상태 확인 $ sudo systemctl status ssh - 'active (running)' 확인되면 실행상태를 뜻함 - 방화벽 상태 확인 $ sudo ufw status - 방화벽에 ssh 사용 규칙 등록 $ sudo ufw allow ssh - 원격에서 아래 명령어로 ssh client 접속 - 명령어 형식은 "ssh 사용자_이름@sserver_ip" $ ssh user_name@192.168.1.2 .. 2024. 2. 4. [Ubuntu] 고정 IP (static IP)(GUI활용) - 우측상단 메뉴에서, '유선 네트워크 설정' 선택 - 톱니바퀴 모양의 추가설정 선택 - 설정을 원하는 IP입력 - DNS는 '8.8.8.8' 입력 2024. 2. 4. [Ubuntu] 설치 (멀티 부팅 & 별도 디스크) - 설치한 SSD 초기화까지 수행 - UEFI 사용하는 컴퓨터이므로 GPT 초기화 Download Ubuntu Desktop | Download | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com - Ubuntu 설치 사이트에서 iso 이미지 다운로드 balena - The complete IoT fleet management platform Infrastructure and tools to develop, deploy, and manage connected devices at scale.. 2024. 2. 4. 이전 1 2 3 다음