반응형

 

Visual Studio Code가 업데이트가 되지 않고 있었다는것을 찾았다.

업데이트를 수작업을 실행하면 아래와 같이 오류가 발생한다.

 

아래와 같이 수정한 뒤에 정상적으로 업데이트가 되는 것을 확인했다.

1. APP의 위치 확인
    - APP의 위치가 Download의 상태에서 그대로 사용했다.
    - APP의 위치를 Application으로 이동시켰다.

2. 캐시 삭제
    - $ rm -rf ~/Library/Caches/com.microsoft.VSCode/*

 

 

반응형
반응형

 

 윈도우에서는 환경 변수 설정을 안해봐서 뭐지하고 검색해보니... 그언젠가 옛날에 해본거 같다...

set PATH=<Path what you want to add>;%PATH%

 

반응형
반응형

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
반응형
반응형

전력 측정

$ sudo ipmitool dcmi power reading

Fan 속도 변경

현재 Fan Mode

$ sudo ipmitool raw 0x30 0x45 0

Fan Full Mode(100% RPM Speed)

$ sudo ipmitool raw 0x30 0x45 1 1

Fan Optimal Mode(20% RPM Speed)

$ sudo ipmitool raw 0x30 0x45 1 2

Fan HeavyIO Mode(50% RPM Speed)

$ sudo ipmitool raw 0x30 0x45 1 4

온도 측정

$ sudo ipmitool sdr type Temperature
반응형
반응형

IPMI Booting 후에 ipmitool을 이용하여 Network 및 User 설정하기

IPMI는 Booting시 BIOS 진입하여 IPMI Network 설정 이후 접속하여 사용함.

사용중인 서비스에서는 혹은 DataCenter에 이미 삽입되어 있는 서버에서는 그 작업은 여간 불편하거나 어려운게 아님

ipmitool을 이용하면 remote 상태에서 IPMI 설정이 가능함

 

ipmitool

설치

ipmitool 명령어가 없을 경우 apt로 간단히 설치해줌

$ sudo apt install ipmitool

지원 보드 확인 방법

보드 정보를 확인해서 구글링해서 보드 사양에 IPMI를 지원하는지 확인해본다

sudo dmidecode -s baseboard-product-name

IPMI Device 확인

/dev 밑에 ipmi 파일 확인

$ ll /dev/ | grep ipmi

 

Network

Network 정보 확인

$ sudo ipmitool lan print

Network 설정

Interface Static 설정(기본 DHCP로 되어있을 것임)

$ sudo ipmitool lan set 1 ipsrc static

Network IP 설정

$ sudo ipmitool lan set 1 ipaddr <IP ADDRSS>
$ sudo ipmitool lan set 1 netmask <NET MASK>
$ sudo ipmitool lan set 1 defgw ipaddr <DEFAULT GW IP ADDR>

 

User 설정

User를 추가해줘야 한다. 해당 User 계정으로 Terminal이든 Web이든 접속 가능하다

User List 확인

$ sudo ipmitool user list

User 추가

User ID는 User List에 비어있는 ID를 사용한다.

$ sudo ipmitool user set name <USER ID> <USER NAME>

User Password 설정

아래의 명령어 이후에 2번의 password를 입력해야 하는데, 보드별 허용 문법에 맞지 않을 경우 오류를 리턴한다.
될떄까지 할 수 밖에 없다. 영문+숫자+특수문자 조합은 먹히는 것 같다.

$ sudo ipmitool user set password <user id>

User 권한 추가

권한이 없으면, 접속이 불가능하다. 반드시 권한을 줘야 접속 권한으로 접속할 수 있다.

$ sudo ipmitool channel setaccess 1 <USER ID> link=on ipmi=on callin=on privilege=<PRIVILIGED LEVEL>

가능한 PRIVILEGE LEVEL은 아래와 같다.

    Possible privilege levels are:
   1   Callback level
   2   User level
   3   Operator level
   4   Administrator level
   5   OEM Proprietary level
  15   No access

 

설정 적용

아래의 명령어로 설정 적용 및 reset을 동작하지 않으면 설정한 설정들이 동작되지 않는다.
시간이 약간 걸리니 마음의 평안을 가지고 기다려보도록 하자.

$ sudo ipmitool bmc reset cold
반응형
반응형

 

아래의 명령어로 로그 모니터링을 활성화 한 후에 DNS Request를 유도하면 로그가 출력되어 확인이 가능함

$ log stream --predicate 'process == "mDNSResponder"' --info

 

반응형
반응형

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`
반응형
반응형

1. vundle download

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

2. vim resource 파일 수정

filetype off                   " required!
set shell=/bin/bash
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle
" required! 
Plugin 'VundleVim/Vundle.vim'

" vim 하단에 파일 정보 띄우기
Plugin 'vim-airline/vim-airline' 
Plugin 'vim-airline/vim-airline-themes'
" ...

call vundle#end()

filetype plugin indent on     " required!
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..

 

3. Plugin 설치

$ vim
: PluginInstall

 

반응형
반응형

Automator 에 프로그램 생성

1. Automator 실행

2. 스크립트 작성
    보관함 > 유틸리티 > 쉘 스크립트 실행 
    쉘 : /bin/zsh
    스크립트 : /opt/homebrew/bin/socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
                    --> background로 실행시키기를 원했지만 동작하지는 않는 것 같음. 문제는 없는 것 같으니 추후 확인 예정

3. "파일 > 저장 > 응용 프로그램" 으로 저장

4. 저장된 파일을 Finder에서 "응용 프로그램" 으로 위치 이동

4. 시작 프로그램으로 등록
    i. 시스템 설정 > 일반 > 로그인 항목 > 로그인시 열기 > "+" 선택 > 저장한 응용 프로그램 선택

반응형
반응형

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>
반응형

+ Recent posts