반응형

1. 서버에 Disk 인식

확인방법

아래의 명령어로 추가한 Disk의 Device Charactor가 보여야 한다.

$ sudo fdisk -l

추가한 Disk가 안보일 경우

진행 불가, 인식이 안되는 상황으로 OS단의 Command로 진행이 어려움

가능한 원인

  • Raid Controller를 사용할 경우 Raid Controller에서 Virtual Disk로 Raid 설정 이후에 OS에서 Disk가 인식됨
  • Disk 자체가 Board에 연결이 안되었을 경우
  • Disk 비정상 동작 혹은 미동작 상태

2. 실제 사용 중인지 검토

확인 방법

mount가 되었는지 확인한다.
fdisk 명령에서 확인된 device가 보이지 않아야 한다.

$ df -h

3. mount 경로 생성

disk를 mount를 하게 된 논리 경로 주소 생성

$ sudo mkdir /data1

4. Partition 생성

2TB 이상일 경우 GPT(Guid Partition Table) 파티션을 사용해야 함. 여기서는 GPT 를 기준으로 진행함. 대상은 "sda"로 가정함.
순서대로 아래와 같이 입력함

Input

  • mklabel gpt # GPT label
  • Yes
  • unit TB # Set unit as TB
  • mkpart primary 0.00TB 3.5TB # make primary partition
  • print # print information

Example

$ sudo parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
(parted) unit TB
(parted) mkpart primary 0.00TB 3.5TB
(parted) print
Model: <Drive MODEL INFORMATION> (scsi)
Disk /dev/sda: 3.84TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  3.84TB  3.84TB               primary

(parted) quit
Information: You may need to update /etc/fstab.

위와 같이 진행 후에는 /dev/sda1 이 확인되어야 한다.

5. Disk 포멧

명령어

$ sudo mkfs.ext4 /dev/sda1

UUID 확인

$ sudo blkid

아래와 같이 UUID를 확인 가능하여야 한다.

/dev/sda1: UUID="XXXX-XXXX-XXXX-XXXX-......-XXXX" TYPE="ext4" PARTLABEL="primary" PARTUUID="YYYYYY-YYYY....YYYY"

6. fstab에 추가

$ sudo vi /etc/fstab

아래의 내용 추가

/dev/disk/by-uuid/XXXX-XXXX-XXXX-XXX-.....-XXXX /data1 ext4 default 0 0

7. mount

아래의 명령어로 mount all 시키면 fstab 정보 기반으로 모든 mount를 시도한다.
실패할 경우 오류 메시지가 나오는데 오타가 없는지 확인해본다.

$ sudo mount -a

disk가 정상적인지 확인해본다.

$ df -h

sda1을 참고하는 경로가 출력되어야 한다.

/dev/sda1       3.5T   45G  3.3T   2% /data1
반응형
반응형

업데이트 이후 갑자기 개인 서버로 사용하는 데스크탑이 꺼지는 현상이 보인다(절전으로 보임)

유의미한 로그를 한번에 찾기 어려워서, 아예 kernel, syslog, dmesg를 로그를 걸어놓고 모니터링했더니 NetworkManager의 Request로 Sleep에 들어가는 어이 없는 상황이 발생하는 것을 확인했다

$ tail -f ./dmesg ./kern.log syslog
manager: sleep: sleep requested (sleeping: no  enabled: yes)

아래의 명령어로 현재 자동 대기 모드로 loading되어 있는지 확인이 가능하다. "loaded" 메시지가 있으면 loading된 상태로 봐야 한다고 한다. 다만 로그를 보면 최근 Sleep Request가 얼마전에 되었는지 나오는데 그것을 보고 확인을 하면 될거 같다.

$ systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target
● sleep.target - Sleep
     Loaded: loaded (/lib/systemd/system/sleep.target; static; vendor preset: enabled)
     Active: inactive (dead) since Mon 2023-08-07 12:38:08 KST; 38s ago
       Docs: man:systemd.special(7)

아래 명령어로 절전 기능을 끌 수 있다고 해서 설정하였다. 

$ systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

이후에 status로 보면 "Loaded" 상태가 loaded에서 masked로 바뀐 것을 확인할 수 있다.

● sleep.target
     Loaded: masked (Reason: Unit sleep.target is masked.)
     Active: inactive (dead) since Mon 2023-08-07 12:38:08 KST; 2min 47s ago

다시 켜려면 unmask  옵션으로 다시 켤 수 있다고 하는데 할 생각이 없다. 서버가 절전기능이 되면 안되지...

반응형
반응형

1. gstreamer 설치

$ sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

2. Tutorial Code

$ git clone https://gitlab.freedesktop.org/gstreamer/gst-docs 
 

GStreamer / gst-docs · GitLab

GStreamer documentation Please submit new issues and merge requests against the GStreamer mono repo!

gitlab.freedesktop.org

3. Tutorial Test

$ gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-1.0`
반응형
반응형

필요 빌드 패키지 설치

$ sudo apt-get install -y build-essential

OpenGL 및 Util 설치

$ sudo apt-get install freeglut3-dev libglu1-mesa-dev mesa-common-dev mesa-utils

설치 및 버전 확인

$ glxinfo | grep OpenGL

X11 환경 및 테스트

X11 환경에서 GLX 확장을 이용하여 OpenGL 3D Graphic을 확인할 수 있음

$ glxgears

아래와 같은 로그가 출력됨

22493 frames in 5.2 seconds = 4340.787 FPS
15376 frames in 5.0 seconds = 3067.526 FPS
14238 frames in 5.2 seconds = 2729.739 FPS
반응형
반응형

Ubuntu GUI 로그인에서 Password가 틀리지 않았음에도 계속 로그인 창으로 반복해서 로그인 되는 현상이 여러번 발견함
구글링해서 아래와 같은 방법으로 해결했으나 다행히 CLI 모드로 진입한 것이 아닌 SSH연결의 CLI가 있어서 해당 Session으로 3번 이후의 단계로 해결함

1. [Ctrl + Alt + F3] 으로 CLI 모드 진입 or SSH/Telnet 등 Terminal 이용

2. ID, PW 입력 후 로그인

3. sudo apt-get purge lightdm

4. sudo apt-get install lightdm

5. sudo dpkg-reconfigure lightdm

6. lightdm 선택

7. sudo reboot

반응형
반응형

dGPU 환경 기준, Jetson 환경 기준은 별도 Guide 참고 필요.

Deepstream 6.2 기준

https://resources.nvidia.com/en-us-deepstream-get-started-with-c-cpp

 

DeepStream SDK Development Guide

DeepStream SDK Development Guide

resources.nvidia.com

 

Docker-ce 설치

 $ sudo apt-get update
 $ sudo apt-get install apt-transport-https ca-certificates
 $ curl gnupg-agent software-properties-common
 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
 $ sudo apt-get update
 $ sudo apt-get install docker-ce

 

Nvidia-docker 설

  $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
   $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
   $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
   $ sudo apt-get update
   $ sudo apt-get install nvidia-docker2
   $ sudo systemctl restart docker.service
   $ sudo usermod -a -G docker <<USER NAME>>
   $ reboot

  

사용자 설치 스크립트 실행

 $ cd /opt/nvidia/deepstream/deepstream-6.2/user_additional_install.sh

 

Conatinaer 내 미설치 패키지 설치

  1. cuda-toolkit

 $ apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
 $ add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
 $ apt-get update
 $ apt-get install cuda-toolkit-11-8
 $ apt install cuda-toolkit-11-8

 

Docker container 내부에서 X11 가능하게 container 실 방법

1. One-shot

$ sudo nvidia-docker run -it --rm --net=host -v ${HOME}:${HOME}/home -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --volume="$HOME/.Xauthority:/root/.Xauthority:rw" <<<Image Name or Checksum>>> /bin/bash 

2. Container 생성

$ sudo nvidia-docker run -it --net=host -v ${HOME}:${HOME}/home -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --name=deepstream-6.2-devel-temp <<<Image Name or Checksum>>> /bin/bash

 아래는 nvidia sample command

# Pull the required docker.  Refer Docker Containers table to get docker container name.
$ docker pull <required docker container name>
# Step to run the docker
$ export DISPLAY=:0
$ xhost +
$ docker run -it --rm --net=host --gpus all -e DISPLAY=$DISPLAY --device /dev/snd -v /tmp/.X11-unix/:/tmp/.X11-unix <required docker container name>
반응형
반응형

아래 내용은 docker container로 ubuntu 18.0.4 버전을 이용하여 설치하며 작성한 내용입니다.


1. opencv 버전 확인 및 삭제
 1.1 버전확인

  # pkg-config --modversion opencv  

 1.2 패키지 삭제

  # sudo apt-get purge libopencv* python-opencv

  # sudo apt-get autoremove

 1.3 잔여 파일 삭제

  # sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;


2. 전 패키지 업데이트
  2.1 저장소 업데이트

   # sudo apt-get update

  2.2 패키지 업데이트

   # sudp apt-get upgrade


3. OpenCV 컴파일 패키지 설치
  3.1 cmake 설치

   # sudo apt-get install build-essential cmake

  3.2 pkg-config 설치

   # sudo apt-get install pkg-config

  3.3 Image 파일 R/W를 위한 패키지 설치

   # sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev

  3.4 Codec Video R/W를 위한 패키지 설치

   # sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev

  3.5 실시간 비디오 캡쳐를 위한 API 설치

   # sudo apt-get install libv4l-dev v4l-utils

  3.6 GStreamer 설치(비디오 스트리밍 라이브러리)

   # sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

  3.7 gtk 설치(윈도우 등을 생성)

   # sudo apt-get install libgtk2.0-dev

  3.8 OpenGL 지원하기 위한 라이브러리 설치

   # sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev

  3.9 Numpy 설치

   # sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy

  3.10 기타 필요 패키지 설치

   # apt-get install wget unzip vim


4. OpenCV 설정, 컴파일, 설치
  4.1 임시 경로 생성

   # mkdir opencv && cd opencv; 

  4.2 Opencv 4.2 다운로드 및 압축 풀기

   # wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip && unzip opencv.zip

  4.3 opencv_contrib(extra modules) 소스코드를 다운 및 압축 해제

   # wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip && unzip ./opencv_contrib.zip

  4.4 opencv build

   # cd opencv-4.2.0 && mkdir build && cd build 

  4.6 cmake를 이용하여 Makefile 생성

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D WITH_TBB=OFF \

-D WITH_IPP=OFF \

-D WITH_1394=OFF \

-D BUILD_WITH_DEBUG_INFO=OFF \

-D BUILD_DOCS=OFF \

-D INSTALL_C_EXAMPLES=ON \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D BUILD_EXAMPLES=OFF \

-D BUILD_TESTS=OFF \

-D BUILD_PERF_TESTS=OFF \

-D WITH_QT=OFF \

-D WITH_GTK=ON \

-D WITH_OPENGL=ON \

-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.2.0/modules \

-D WITH_V4L=ON  \

-D WITH_FFMPEG=ON \

-D WITH_XINE=ON \

-D BUILD_NEW_PYTHON_SUPPORT=ON \

-D OPENCV_GENERATE_PKGCONFIG=ON ../

 

  4.7 rfs에 설치

   # sudo make install

 

  4.8 파일 확인

   # cat /etc/ld.so.conf.d/*

 

    4.8.1 /usr/local/lib 이 추가되지 않았을 경우 추가 필요

     #  sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf' && sudo ldconfig

  4.9 설치 확인

     # python3

Python 3.8.10 (default, Nov 26 2021, 20:14:08) 

[GCC 9.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

cv2>>> cv2.__version__

'4.2.0'

>>>

     4.9.1 만약 다른 버전이 나올 경우 cv2 디렉토리 삭제 및 retry

       # sudo rm -rf ~ /.local/lib/python3.6/site-packages/cv2




출처 : https://webnautes.tistory.com/1186

반응형
반응형



Ubuntu(dpkg 이용)

 - dpkg -l 

 - dpkg -l | grep <Package>


Centos(rpm 이용)

 - rpm -qa

 - rpm -qa | grep <Package>





반응형

+ Recent posts