Docker를 이용해 PostgreSQL 설치

Docker를 이용해 PostgreSQL 설치


도커가 설치 되어 있는 상태에서 아래의 명령으로 설치 해줍니다.

우선 컨테이너를 PostgreSQL 공식 도커 허브에서 내려 받습니다.

# docker pull postgres:9.6.11
그리고 도커를 실행 해줍니다.

# docker run \
-e PGDATA=/data/pgdata \
--volume /home/postgres/pgdata:/data \
-e POSTGRES_INITDB_ARGS="--data-checksums -E utf8 --no-locale" \
--name postgres96 \
--publish 5432:5432 \
postgres:9.6.11

PGDATA는 도커안에서 postgresql 의 클러스터가 생성되는 경로입니다.


--volume $A:$B


$A - 실제 OS의 클러스터 데이터가 올라가는 경로

$B - 컨테이너 안에 생성되는 경로


이걸 잡아줘야 DB 생성 후 설정파일을 수정하기 쉽습니다.

더 다양한 옵션을 줘서 바로 DB를 생성 할 수도 있습니다.


그리고 docker run 으로 생성하고 나면 로그화면에서 빠져 나오지 않을 겁니다. 그냥 ctrl+c 로 중지하고,

# docker ps -a

로 ID를 확인한 후에

# docker start <ID>
해주시면 됩니다.



라즈베리파이의 HDMI 사운드 드라이버 설정

라즈베리파이의 HDMI 사운드 드라이버 설정


라즈베리파이에 라즈베리안을 설치하지 않고, 바로 레트로아크만 설치 했을때, HDMI 단자로 TV와 연결했음에도 사운드가 나오지 않는 경우가 있습니다. 저도 이것 때문에 고생을 좀 했는데요. 사운드 드라이버를 잡아주야 합니다.


ALSA, asound 모듈을 이용해서 출력이 되기 때문에, HDMI를 이용하도록 잡아줘야 합니다.

LibreELEC:~ # aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=ALSA
    bcm2835 ALSA, bcm2835 ALSA
    Default Audio Device
소문자L로 옵션을 바꿔서 출력합니다.
LibreELEC:~ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
HDMI 출력은 card 0, device 1 입니다.
LibreELEC:~ # vi /storage/.config/asound.conf

내용 변경

# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)

pcm.!default {
    type hw
    card 0
    device 1
}
ctl.!default {
  type hw
  card 0
  device 1
}

asound.conf를 위처럼 수정 해주고 재구동하면 소리가 나올겁니다.

라즈베리파이 레트로아크를 위한 네트워크 드라이브 smb 마운트

라즈베리파이 레트로아크를 위한 네트워크 드라이브 smb 마운트


라즈베리파이로 레트로아크를 구성하신분들을 위한 네트워크 드라이브 설정 값입니다. MicroSD 카드의 용량은 한계가 있는데 거기다 많은 용량의 Rom 파일들을 모두 복사할 수 없으니, Nas의 samba를 이용해 네트우크 드라이브를 구성하는 겁니다.

일반적으로 리눅스의 네트워크 드라이브 마운트와 비슷합니다.

저는 Libreelec 9.0 RR 버전에 얹어져 있는 레트로아크를 사용하기 때문에 레트로아크만 구성하신 분이라면, 경로가 다를 수 있으니, find 명령으로 경로를 잘 찾아보시기 바랍니다.

# cd /storage/.config/system.d
파일 생성
# vi storage-emulators-retroarch-roms.mount
what 에는 자신의 NAS나 PC의 samba 경로를 넣어주면 됩니다.
[Unit]
Description=Emulator ROMs SAMBA mount drive
Wants=network-online.service
After=network-online.target
Before=kodi.service

[Mount]
What=//192.168.xxx.xxx/PDS/Games/Emul
Where=/storage/emulators/retroarch/roms
Type=cifs
Options=username=retro,pass=kodi1234,rw,vers=2.0


[Install]
WantedBy=multi-user.target
실행 권한 부여
# chmod a-x storage-emulators-retroarch-roms.mount
서비스에 등록
# systemctl enable storage-emulators-retroarch-roms.mount
서비스 실행
# systemctl start storage-emulators-retroarch-roms.mount 
서비스 Status 확인
# systemctl status storage-emulators-retroarch-roms.mount

마운트 확인

# df -h

//192.168.xxx.xxx/PDS/Games/Emul
                          3.5T    552.2G      2.9T  15% /storage/emulators/retroarch/roms