달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

samba 설정

오드로이드/XU4 2018. 6. 11. 17:59

[global]


   strict allocate = Yes

   allocation roundup size = 4096

   read raw = Yes

   server signing = No

   write raw = Yes

   strict locking = No

   socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

   min receivefile size = 16384

   use sendfile = Yes

   aio read size = 16384

   aio write size = 16384


   workgroup = WORKGROUP

   dns proxy = no

   log file = /var/log/samba/log.%m

   max log size = 1000

   syslog = 0

   panic action = /usr/share/samba/panic-action %d

   server role = standalone server

   passdb backend = tdbsam

   obey pam restrictions = yes

   unix password sync = yes

   passwd program = /usr/bin/passwd %u

   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

   pam password change = yes

   map to guest = bad user

   

   load printers = no

   show add printer wizard = no

   printcap name=/dev/null



#======================= Share Definitions =======================

#[homes]
#   comment = Home Directories
#   browseable = no
#   read only = yes
#   create mask = 0700
#   directory mask = 0700
#   valid users = %S

[Contents]
 read list = odroid
 write list = root
 path = /media/exHDD
 comment = Contents
 write cache size = 524288
 getwd cache = yes
 use sendfile = yes
 min receivefile size = 16384
 socket options = TCP_NODELAY IPTOS_LOWDELAY


















Posted by 타카스 류지
|

이것저것 파일 생성하다가 ??????ȣ(???纻)_542ȸ.zip 이런 파일로 

만들어져 버릴때가 있었습니다. ;;;

뭐 답이 없더라구요..ㅎㅎ


찾아보니 삭제 방법이 있더군요


명령어는 ls -i


root@odroid:/var/www/html# ls -i


141720 ??????ȣ(???纻)_542ȸ.zip  141709 comic.php     133889 index.html         141717 pclzip.lib.php

271354 542                      141705 download.php  141711 json.scraping.php  141719 view.php

141718 Snoopy.class.php         271329 files         141714 manga.inf


쳐보시면 위 처럼 파일명 앞에 숫자가 있죠?


그 숫자는 유니크 해서 저걸이용해서 지운다고 하네요


ls -i 또는 ls -ali 으로 inum을 확인


깨진 파일 삭제

find ./ -inum 141720 -exec rm -f {} \;


깨진파일을 1.txt로 변경

find ./ -inum 141720 -exec mv {} 1.txt \; 




Posted by 타카스 류지
|
VNC


VNC(Virtual Network Computing) 는 가상 네트워크 컴퓨팅의 준말입니다. RFB(Remote Frame Buffer protocol)을 이용해 원격으로 다른 컴퓨터를 제어하는 기술이에요.

이런 거 많이 보셨죠? 많이들 쓰시는 팀뷰어같은 겁니다. 요샌 크롬 브라우저의 확장기능으로도 있는 것 같구요.

근데 우분투 서버 이미지는 데스크탑 환경이 없습니다. 서버용이라 굳이 메모리를 많이 차지하는 GUI 데스크탑 환경이 필요가 없어요. 그래서 VNC 설정이 의미가 없어요, 해도 터미널 환경이 나타날 거예요.

하지만 가끔 편의를 위해서든 특수한 용도 때문이든 GUI 활용이 필요할 때가 있죠.

이미 여러 설정을 마친 우분투 서버 이미지에 VNC 접속이 필요하다, 근데 너무 어렵다 하는 분들을 위해 간단한 가이드를 적어드리겠습니다.

우분투 서버 이미지가 아닌 일반적인 우분투 이미지로 설치하신 분들은 훨씬 쉬워요 :) 우분투 서버 이미지로 설치하신 분들만 해당됩니다.


필수 패키지 설치


먼저 서버에 SSH 접속한 다음 아래 필수 패키지들을 설치해줍시다. 데스크탑 환경으로는 가장 가볍다고 생각되는 Mate로 할게요.

sudo apt update
sudo apt install x11vnc lightdm mate-core mate-desktop-environment
Bash

용량도 많고 꽤 오래 걸릴 거예요. 게임 한 판 하고 옵니다. 전 요새 디아블로 3 시즌 13이 나와서 다시 하는데, 분기마다 새 시즌을 즐기니까 또 재밌네요.

설치가 끝나면 재부팅해줍니다.

sudo reboot
Bash

끝났어요. 실행하시면 됩니다 :)

x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess -forever
Bash

명령어가 좀 긴데, 마지막의 -forever 부분이 없으면 어떤 연결이 되었다가 끊길 때 자동으로 종료됩니다. 만약 있으면 계속 Listen 상태를 유지하고 있게 되구요.


윈도우에서 접속


윈도우에 원격 데스크탑 연결 프로그램이 내장되어 있는데, 이걸로는 VNC 접속이 안 돼요.

TigerVNC라는 프로그램을 설치해야 합니다. 같이 설치되는 VNC viewer를 사용합시다.

여기 사이트에 접속해 최신 TigerVNC를 설치해주세요: https://github.com/TigerVNC/tigervnc/releases

그리고 VNC Viewer를 실행해 서버 IP를 적고 접속해줍니다.

보통 데스크탑 사용하듯 로그인하시면 돼요.


리눅스에서 접속


리눅스에도 보통 VNC Viewer가 설치되어 있지 않아요. TigerVNC를 설치해줍니다.

sudo apt install tigervnc-viewer
Bash

vncviewer를 통해 실행해주세요.

vncviewer 192.168.0.16
Bash

아니면, 최소 우분투에는 Remmina라는 내장 앱이 있어서 사용할 수 있네요 :) 화질 설정도 가능하니 좋군요.


맥에서 접속


곧 업데이트 됩니다 :)


Opt. 부팅 시 자동 실행


근데 언제 어디서나 접속할 수 있게 계속 실행시켜두고 싶다면 이렇게 하시면 됩니다. 시스템 서비스로 하나 만들어주세요.

sudo vi /etc/systemd/system/x11vnc.service
Bash

아래 내용을 넣어줍니다.

[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2

[Install]
WantedBy=multi-user.target
Bash

서비스를 시스템에 등록하고 실행시켜 주세요.

systemctl daemon-reload
systemctl enable x11vnc
service x11vnc start
Bash

이제 재부팅하셔도 따로 실행할 필요가 없습니다 :)


Opt. 해상도 변경


기본 해상도가 조금 작습니다. 800 x 600? 스러운 느낌이에요. 정확하진 않아요.

파일 하나를 수정해 해상도를 바꾸실 수 있습니다.

sudo vi /etc/X11/xorg.conf
Bash

파일 맨 마지막에 아래 내용을 넣어주세요.

Section "Screen"
        Identifier      "Default Screen"
        Device          "Mali-Fbdev"
        DefaultDepth    24
        SubSection "Display"
                Virtual 1920 1080
        EndSubSection
EndSection
Bash

재부팅 후 다시 접속해볼게요.

위의 설정은 화질이 너무 좋기 때문에 부하량도 많고, 특히 인터넷 환경이 안 좋으면 너무 느릴 수 있어요. 적당한 값을 찾아 적용해주세요. 제가 Mate를 선택한 이유도 그렇게 화려하지 않아서.. :)

도움이 되셨으면 좋겠습니다 :)


참고




출처 : http://awesometic.tistory.com/127

Posted by 타카스 류지
|

웹 접속

admin / openmediavault


메뉴 - 서비스 - SSH - 루트 로그인을 허용합니다. 설정 저장


SSH 접속

root / openmediavault


-$ df -h


-$ fdisk /dev/mmcblk1


p [enter]

d [enter]

3 [enter]

d [enter]

2 [enter]

n [enter]

p [enter]

2 [enter]

139264 [enter]

[enter]

p [enter]

w [enter]


-$ partprobe

-$ btrfs filesystem resize max /

-$ sync

-$ reboot


파티션 용량 확인

-$ df -h

Posted by 타카스 류지
|

ODROID에 Ubuntu MATE를 처음 설치했을 때 가장 짜증나는 부분이 있다.

바로 부팅시마다 발생되는 로그인 메세지인데, 매 번 해주어야 해서 엄청나게 귀찮다.

귀찮은 일을 하나 줄여보자.


먼저 해당 명령어를 입력하여 conf 파일을 수정하자

$ sudo nano /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf



Nano Editor가 실행되면서 간단한 명령어들이 입력되어 있다.

이를 다음과 같이 추가 혹은 수정해주자.

사용자의 이름을 “autologin-user=이름”과 같이 입력해주면 된다.

나의 경우에는 autologin-user=odroid로 입력해주었다.


[SeatDefaults]

greeter-session=lightdm-gtk-greeter

autologin-user=odroid



입력을 완료했다면 Ctrl + x 후에 y, Enter

정상적으로 변경되었을 것이다.

재부팅하면 짜증이 하나 줄게 된 걸 확인할 수 있다.


출처: http://minus-build.tistory.com/17 [It's Not My Business]




추가 한줄 명령 : echo "autologin-user=odroid" | sudo tee -a /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf


Posted by 타카스 류지
|

오드로이드 여러 곳을 들리면서 필요한 패키지등을 설치해보면서 정리해둔 내용 입니다.

참고만 하세욤 0-0

저는 mate 버전으로 설치해서 사용했습니다.


#########################################################################

# Defalut for Odroid                                                     

# https://dn.odroid.com/5422/ODROID-XU3/Ubuntu/ubuntu-16.04.3-4.9-mate-odroid-xu4-20171025.img.xz

# 오드로이드 초기 셋팅 mate-odroid-xu4

# 작업 계정 [root]

# 포트확인 netstat -tnlp

#########################################################################



# ■■■ 오류 덩어리 파이어 폭스 삭제


apt-get purge firefox* -y && apt-get autoremove -y


# ■■■ 전체 업데이트 && 의존성 검사하여 업그레이드


apt-get update && apt-get dist-upgrade -y


# ■■■ 완료 후 재부팅


reboot


# ■■■ 한글 셋팅


apt-get install language-pack-ko-base -y


update-locale LANG=ko_KR.UTF-8

echo 'LANG="ko_KR.UTF-8"' | sudo tee -a /etc/environment

echo 'LANGUAGE="ko_KR:ko:en_US:en"' | sudo tee -a /etc/environment

echo "TZ='Asia/Seoul'; export TZ" | sudo tee -a ~/.profile

echo "TZ='Asia/Seoul'; export TZ" | sudo tee -a /etc/skel/.profile


dpkg-reconfigure tzdata

Asia/Seoul 설정



# ■■■ 계정 추가


adduser [ID]


# ■■■ 관리자 권한 부여


usermod -G sudo [ID]


# ■■■ SSH root 접근 제한


nano /etc/ssh/sshd_config


PermitRootLogin yes -> no


service sshd restart





# ■■■ 외장 하드 마운팅



외장하드가 ntfs로 설정된 경우 ntfs 인식을 위해 ntfs-3g 설치

sudo apt-get install ntfs-3g


※ 참고로 파일시스템을 exfat을 쓰려면 아래와 같이 설치

sudo apt-get install exfat-fuse



mkdir /media/exHDD


chmod -R 777 /media/exHDD


blkid


/dev/sda5: UUID="01D395B80CF091D0" TYPE="ntfs" PARTUUID="04f839f0-05"


nano /etc/fstab


기본으로 할시 외장하드가 연결되어있지 안으면 부팅 에러 걸림

UUID=01D395B80CF091D0 /media/exHDD ntfs defaults 0 0


권장 내용

UUID=01D395B80CF091D0 /media/exHDD ntfs nofail,auto,noatime,rw,user 0 0





# ■■■ 웹서버 설치 [순서대로]


apt-get install apache2 mysql-server   <-- mysql 패스워드 설정화면 뜹니다.


add-apt-repository ppa:ondrej/php

apt-get update

apt-get install php5.6 php5.6-common php5.6-json libapache2-mod-php5.6 php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml php5.6-xmlrpc php5.6-intl php5.6-imagick php5.6-zip php5.6-cgi

a2enmod php5.6

systemctl restart apache2





※ proxy 설정
경로
cd /etc/apache2/sites-available

nano vhost.conf

#기본 호스트 지정
<VirtualHost *:80>
ServerName 도메인
ServerAlias 도메인
DocumentRoot /var/www/html <- 도메인별 특정경로 지정 가능
</VirtualHost>

#프록시로 내부 포트 포워딩이 가능
#sub.도메인.kr 로 내부 포트 지정시 url 엔 도메인만 기준으로 표시됨
#트렌스미션 설치하고 접속시 셋팅법
<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName torrent.도메인.kr
    ServerAlias torrent.도메인.kr
    ProxyPass / http://127.0.0.1:9091/ retry=1 acquire=3000 timeout=600 Keepalive=On
    ProxyPassReverse / http://127.0.0.1:9091/
</VirtualHost>

파일 저장후 하단 내용 실행


a2enmod proxy

a2enmod proxy_http

a2enmod proxy_balancer

a2enmod lbmethod_byrequests

a2ensite vhost.conf



위처럼 proxy 설정을 하면 사용하면


http://IP:9091 로 접속을 안하고


http://torrent.도메인.kr 로 접속이 가능





# ■■■ webmin 설치(웹 관리 콘솔)


wget -O - http://www.webmin.com/jcameron-key.asc | apt-key add -

이나

wget http://www.webmin.com/jcameron-key.asc

apt-key add jcameron-key.asc


echo "deb http://download.webmin.com/download/repository sarge contrib" | sudo tee -a /etc/apt/sources.list

echo "deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib" | sudo tee -a /etc/apt/sources.list

apt-get update

apt-get install webmin


nano /etc/apt/sources.list

위 추가한 2줄 주석


# webmin의 기본 Port가 10000이라서 ufw(우분투 방화벽)를 이용하여 10000번 포트를 열어줍니다.

# sudo ufw allow 10000 

# nano /etc/webmin/miniserv.conf

# port=10000

# //이하 라인은 생략


service webmin {start, stop, restart}


※ 한글 오류 수정

nano /usr/share/webmin/cron/module.info

or

nano /usr/share/webmin/cron/module.info.ko_KR.UTF-8


desc_ko_KR.UTF-8=예약된 Cron 작업 <-- 한글깨져있는 부분 수정


https://localhost:10000





# ■■■ SAMBA 설치(네트워크 공유)


apt-get install samba && samba-common-bin


※ samba 계정 지정[리눅스에 있는 계정만 추가 가능]

smbpasswd -a [ID]


나머지 설정은 webmin 에서 하는게 편함




# ■■■ 토렌트 설치 transmission-daemon


apt-get install transmission-daemon


정지

/etc/init.d/transmission-daemon stop


설정

nano /etc/transmission-daemon/settings.json


※중요한 부분


블랙 리스트
"blocklist-enabled": true, 
"blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz", 

다운로드 경로
"download-dir": "/media/exHDD/contents/Downloads", 

웹 활성화
"rpc-enabled": true, 

접근 화이트 리스트 끄기
"rpc-whitelist-enabled": false,
"rpc-username": "아이디", 
"rpc-password": "암호[자동암호화]",

다운로드 완료시 배포안하고 완료 처리
"ratio-limit": 0, 
"ratio-limit-enabled": true, 



다운로드 완료시 응답 스크립트

"script-torrent-done-enabled": true, 

"script-torrent-done-filename": "/home/root/script/torrent_push.sh", 


위 응답 스크립트는 밑에 게시글 참조

2017/12/26 - [라즈베리파이3] - API 텔레그램 토큰 생성

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission (텔레그램 API 연동)


다운로드 업로드 속도 설정

"speed-limit-down": 6000, 

"speed-limit-down-enabled": true, 

"speed-limit-up": 100, 

"speed-limit-up-enabled": true, 


다운로드 파일 권한 설정 

"umask": 2, 



시작
/etc/init.d/transmission-daemon start


서비스 등록
update-rc.d transmission-daemon defaults

시작
service transmission-daemon start


서비스를 등록하고 나중에 토렌트가 죽어있어 다시 시작하려고 할때 구동이 안되는 경우가 생깁니다.
이유는 못찾구요 -0- ;;; 실행방법만 다른데서 찾아서 올립니다.


나중에 구동시 에러가 나면 프로세스 죽이기
kill $(ps -ef | grep 'transmission-daemon -g /etc/transmission-daemon' | grep root |awk '/transmission-daemon/ {print $2}')

구동
transmission-daemon -g /etc/transmission-daemon






# ■■■ TvHeadEnd 설치


apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 

apt-add-repository ppa:mamarley/tvheadend-git-stable

apt-get update

apt-get install tvheadend


관리자 계정 패스워드 설정화면 출력 설정후 설치완료


http://localhost:9981


접속후 로그인하고 언어 Korean 으로 설정후 저장 닫기


계정 새로 추가하여 전체 권한을 다 부여하면은

한글 계정으로 전체 관리가 가능함..


1. 설정 - DVB 입력 - 네트워크

  네트워크 이름 : IPTV Automatic Network

  최대 # 입력 스트림 : 4

  URL : file:///home/root/pvr/iptv.m3u


2. 설정 - DVB 입력 - 먹스

  스캔상태가 유휴는 작업이 끝난 상태 

  진행 - 활성 - 유후 순

  헤더 오른쪽 서비스 구간 0 으로 되어있는 항목들을 정렬하여

  오른쪽 체크박스 TSID 값을 체크

  스캔상태를 활성으로 변경 - 저장

3. 설정 - 채널 / EPG - 채널

  모든 서비스 매핑

4. 설정 - 채널 / EPG - EPG 그래버

  채널 이름 업데이트 체크

  채널 번호 업데이트 체크

  저장

5. 설정 - 채널 / EPG - EPG 그래버 모듈

  외부 : XMLTV - 켜짐 체크, 우선순위 1, 채널번호(휴리스틱) 체크

  저장



※ tvheadend 등록한 채널 백업 후 이용시 권한 설정


백업폴더경로 /home/hts/.hts/tvheadend/

백업 폴더 : channel, epggrab, input


chown -R hts:video /home/hts/.hts/tvheadend/channel

chmod -R 700 /home/hts/.hts/tvheadend/channel

chmod -f 600 /home/hts/.hts/tvheadend/channel/*


chown -R hts:video /home/hts/.hts/tvheadend/epggrab

chmod -R 700 /home/hts/.hts/tvheadend/epggrab

chmod -Rf 600 /home/hts/.hts/tvheadend/epggrab/*

chmod -f 777 /home/hts/.hts/tvheadend/epggrab/xmltv.sock


chown -R hts:video /home/hts/.hts/tvheadend/input

chmod -R 700 /home/hts/.hts/tvheadend/input

chmod -Rf 600 /home/hts/.hts/tvheadend/input/*


재시작

service tvheadend restart







※ tvheadend 로 녹화가 완료된다음 인코딩 처리하는 부분 입니다.  속도는 느립니다. ㅎㄷㄷ

인코딩을 하실려면 x264, ffmpeg 설치가 되어있어야 합니다.

install-ffmpeg.sh


위 스크립트는 root 계정으로 실행하세요.

아마 30분 정도는 걸린걸로 기억합니다.


인코딩 스크립트 출처 : http://3jini.tistory.com/104


autoencoding.sh

autoencoding720mp4.sh


※ 녹화 설정
설정 - 녹화 - 디지털 비디오 녹화 프로필  화면으로 들어가면
(Default profile) 로 기본 프로필이 있습니다.
여기다가 하셔도되고 새로 추가하셔서 하셔도 됩니다.

녹화 전 여유 시간 : 2분
녹화 후 여유 시간 : 2분
후처리 명령 : /home/root/script/autoencoding720mp4.sh  "%f" "%b"
녹화할 시스템 경로입니다. : /media/exHDD/recording
문자 포맷 : $t/$t.E$e.%Y.%m.%d$-c%F.$n$x

------------------------- 부가 설명 -------------------------------
    autoencoding.sh 파일 수정할 내용
    5행     : TRANSCODEPATH='/media/exHDD/TVheadendRec/' - 녹화 된 파일 경로
    8행     : MKVVIDEO=$TRANSCODEPATH$title".H264.1080P.mkv" - ".H264.1080P.mkv"  원하는데로
              보통 mkv 확장자 형태, mp4, avi 등 사용 가능
    20행  : ffmpeg 

적당한 곳에 저장하고 터미널에서 실행권한 부여
    예) 메인저장소>Downloads폴더에 두었을 경우…
chmod +x /home/root/script/autoencoding.sh

tvheadend에서 Post-Processor Command(후처리 명령)이라고 있는 곳에 
    저장한 파일의 경로와 %f %b를 붙여주고 저장
    TVHeanend 설정>녹화중>디지털 비디오 녹화 프로필
    후처리 명령 할 autoencoding.sh 파일을 경로 포함해서 지정하고 "%f" "%b"를 붙임.
    /home/root/script/autoencoding.sh "%f" "%b" 스크립트가 있는 경로

    전체경로 이름지정 : 문자포멧 $t/$t.E$e.%Y.%m.%d.$n$x

    녹화할 시스템 경로 이 부분에는 녹화파일이 저장될 폴더를 지정
    /media/exHDD/TVheadendRec/
   파일 이름 옵션 에서는 윈도우 호환 파일 이름 사용, 날짜를 파일 이름에 포함 2개 항목에 체크
------------------------- 부가 설명 -------------------------------






# ■■■ Plex Server 설치

wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
이나
wget https://dev2day.de/pms/dev2day-pms.gpg.key
apt-key add dev2day-pms.gpg.key

echo "deb https://dev2day.de/pms/ jessie main" >> /etc/apt/sources.list
apt-get install apt-transport-https
apt-get update
apt-get install plexmediaserver-installer

nano /etc/apt/sources.list
위 추가한 1줄 주석


※ 국내 메타 데이터 설정

영화&드라마
https://github.com/axfree/DaumMovie.bundle
이나
https://github.com/hojel/DaumMovie.bundle

음악
https://github.com/hojel/NaverMusic.bundle


다운 받고
압축 파일을 /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins 풀어줌

영화&드라마
wget https://github.com/axfree/DaumMovie.bundle/archive/master.zip
mv master.zip DaumMovie.bundle.zip
unzip DaumMovie.bundle.zip -d /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/
음악
wget https://github.com/hojel/NaverMusic.bundle/archive/master.zip
mv master.zip NaverMusic.bundle.zip
unzip NaverMusic.bundle.zip -d /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/


이동
cd /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/

폴더 이름 변경

mv DaumMovie.bundle-master DaumMovie.bundle
mv NaverMusic.bundle-master NaverMusic.bundle

chown -R plex:nogroup DaumMovie.bundle
chown -R plex:nogroup NaverMusic.bundle

이나

chown -R plex:plex DaumMovie.bundle
chown -R plex:plex NaverMusic.bundle

service plexmediaserver restart

http://localhost:32400




# ■■■ Kodi 

자동실행 설정

nano /etc/rc.local

'fi' 와 'exit 0' 사이에 kodi & 입력 저장

mate-odroid-xu4 버전은 kodi 가 기본 설치 되어있음

애드온 플러그인 설치
https://github.com/hojel/xbmc-korea-addons
https://github.com/hojel/xbmc-korea-addons/archive/master.zip


파일을 다운 받아서 

kodi 에서 애드온 에서 설치하면됨






# ■■■ 예약작업 크론텝


crontab -e


# Edit this file to introduce tasks to be run by cron.

#TvHeadEnd

#0 4 * * * php /home/root/pvr/epg2xml.php

3 */12 * * * php /home/root/pvr/epg2xml.php



가끔 tvheadend 가 죽더라구요 그래서 자동 실행되게 넣어둔겁니다. 0-0

#TvHeadEnd Auto Start  

*/1 * * * * /home/root/script/tvheadend.sh


도메인 구입후 dnszi 에서 관리를 합니다. IP 자동 갱신 스크립트 합니다. ddclient 같은 개념이라 보시면 되겠네요

#dnszi.com domain ddns client

*/5 * * * * wget -q -O - '내용'













# ■■■■■■■■■■■■ 기본 명령어 ■■■■■■■■■■■■■■■ 

사용하면서 명령어가 가끔 기억안날때 봅니다. 0-0참고 하시면 괜찬아요



종료

shutdown -r now


재부팅

sudo reboot


시작

sudo /etc/init.d/ddclient start


스톱

sudo /etc/init.d/ddclient stop


재시작

sudo /etc/init.d/ddclient restart


디버그 테스트

sudo /usr/sbin/ddclient -daemon=300 -debug -verbose -noquiet


프로세스 킬

ps -ax or ps ax |grep ddclient

sudo kill -9 PID


패키지 설정 파일까지 삭제

sudo apt-get purge ddclient


패키지 목록을 갱신합니다.

apt-get update


모든 패키지를 최신 버전으로 업그레이드합니다.

apt-get upgrade


의존성 검사하여 업그레이드 합니다.

apt-get dist-upgrade -y


ddclient 패키지를 설치합니다.

apt-get install ddclient


ddclient 패키지를 재설치합니다.

apt-get --reinstall install ddclient


ddclient 패키지를 삭제합니다. 설정파일은 삭제하지 않습니다.

apt-get remove ddclient


ddclient 패키지를 삭제합니다. remove와 다르게 설정파일도 삭제합니다.

apt-get purge ddclient


패키지 검색은 apt-cache로 합니다.

ddclient를 포함한 패키지를 검색하려면 

apt-cache search ddclient




★퍼미션 권한


-$ sudo chmod [변경될 퍼미션값] [변경할 파일]


-$ sudo chmod 777 /home/pi/파일

-$ sudo chmod -R 777 /home/pi/디렉토리

-$ sudo chmod -R 777 conory /home/pi/디렉토리 

 ※conory - 디렉토리의 하위에 위치한 모든 파일및 디렉토리 퍼미션이 777로 변경




★소유자 변경하기


-$ chown [변경할 소유자] [변경할 파일,디렉토리]


-$ sudo chown pi /var/www


★그룹 변경하기


-$ chown [변경할 소유자] [변경할 파일,디렉토리]


-$ sudo chgrp pi /var/www



★소유자,그룹 변경하기


-$ chown [변경할 소유자]:[변경할 그룹] [변경할 파일,디렉토리]


-$ sudo chown pi:pi /var/www



-R 옵션을 사용하면 디렉토리와 그 안에 들어있는 모든 파일의 사용자를 변경한다.


-$ sudo chown -R pi /var/www





 ※파일 스크립트 실행권한 주기

-$ sudo chmod a+x /usr/script/torrent_push.sh

-$ sudo chmod 777 /usr/script/torrent_push.sh



★ 압축하기

tar cfvz 파일명.tgz 폴더경로/

tar cfvj 파일명.bz2 폴더경로



확장자 tar

tar -cvf [파일명.tar] [폴더명] 압축

tar -xvf [파일명.tar] -C 폴더경로 해제


확장자 tar.gz 

 tar -zcvf [파일명.tar.gz] [폴더명] 압축

 tar -zxvf [파일명.tar.gz] -C 폴더경로 해제



tar -cfvj [파일명.bz2] [폴더명] 압축

tar -xfvj 파일명.bz2 -C 폴더경로 해제



 -c 파일을 tar로 묶음

 -p 파일 권한을 저장

 -v 묶거나 파일을 풀 때 과정을 화면으로 출력

 -f 파일 이름을 지정

 -C 경로를 지정

 -x tar 압축을 풂

 -z gzip으로 압축하거나 해제함


# ■■■ 포트 확인


netstat -tnlp



Posted by 타카스 류지
|

출처 :  https://x86.co.kr/nas/1400182


Tvheadend 로 녹화후 자동 인코딩을 처리하는내용 입니다.


스크립트 파일은 위 해당 출처에서 받으시기 바랍니다.


여기에는 중요한 부분만 기록해둔것입니다.


---------------------------------------------------------------------------------------


    autoencoding.sh 파일 수정할 내용

    5행     : TRANSCODEPATH='/media/exHDD/TVheadendRec/' - 녹화 된 파일 경로

    8행     : MKVVIDEO=$TRANSCODEPATH$title".H264.1080P.mkv" - ".H264.1080P.mkv"  원하는데로

              보통 mkv 확장자 형태, mp4, avi 등 사용 가능

    20행  : ffmpeg 


적당한 곳에 저장하고 터미널에서 실행권한 부여

    예) 메인저장소>Downloads폴더에 두었을 경우…

chmod +x /home/root/script/autoencoding.sh


tvheadend에서 Post-Processor Command(후처리 명령)이라고 있는 곳에 

    저장한 파일의 경로와 %f %b를 붙여주고 저장

    TVHeanend 설정>녹화중>디지털 비디오 녹화 프로필

    후처리 명령 할 autoencoding.sh 파일을 경로 포함해서 지정하고 “%f” “%b”를 붙임.

    /home/root/script/autoencoding.sh “%f” “%b” 스크립트가 있는 경로

    녹화할 시스템 경로 이 부분에는 녹화파일이 저장될 폴더를 지정

    /media/exHDD/TVheadendRec/

   파일 이름 옵션 에서는 윈도우 호환 파일 이름 사용, 날짜를 파일 이름에 포함 2개 항목에 체크

Posted by 타카스 류지
|


외장하드가 ntfs로 설정된 경우 ntfs 인식을 위해 ntfs-3g 설치

-$ sudo apt-get install ntfs-3g


※ 참고로 파일시스템을 exfat을 쓰려면 아래와 같이 설치

-$ sudo apt-get install exfat-fuse



폴더 생성

mkdir /media/externalHdd


권한설정

chmod -R 777 /media/externalHdd


UUID 를 알아야 합니다. 

-$ blkid


/dev/mmcblk1: PTUUID="3cedfd53" PTTYPE="dos"

/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL="boot" UUID="52AA-6867" TYPE="vfat" PARTUUID="3cedfd53-01"

/dev/mmcblk1p2: LABEL="rootfs" UUID="e139ce78-9841-40fe-8823-96a304a09859" TYPE="ext4" PARTUUID="3cedfd53-02"

/dev/sda5: UUID="01D395B80CF091D0" TYPE="ntfs" PARTUUID="04f839f0-05"



위 빨간 색을 사용할 겁니다.


nano /etc/fstab


맨 밑줄이 아래 내용 추가

UUID="01D395B80CF091D0" /media/externalHdd ntfs defaults 0 0


위 처럼 사용시 외장하드가 분리가 되면 부팅이 안되는 현상이 생김

그래서 아래 처럼 수정 하고 부팅시 외장하드가 분리되어있어도 문제 없이 부팅이 됩니다.

UUID="01D395B80CF091D0" /media/externalHdd ntfs nofail,auto,noatime,rw,user 0 0



Posted by 타카스 류지
|

사용 버전 ; https://dn.odroid.com/5422/ODROID-XU3/Ubuntu/ubuntu-16.04.3-4.9-minimal-odroid-xu4-20170824.img.xz


오드로이드를 사고나서 웹서버 설치를 할려는데 PHP 가 문제가 발생...


문제점은 16.04 이전 버전에서는 php5 가 잘 설치되지만 16.04 버전부터 php7 을 지원해서


기본 설치시 apt-get install php 로 설치를 해야됨


하지만 저는 5버전을 사용해야기에 좀 찾아봤습니다.



먼저 apache2 + mysql 설치


-$ apt-get install apache2 mysql-server


설치중 mysql 패스워드를 입력하라고 뜨면 입력



-$ add-apt-repository ppa:ondrej/php

-$ apt-get update

-$ apt-get install php5.6 php5.6-common php5.6-json libapache2-mod-php5.6 php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml php5.6-xmlrpc php5.6-intl php5.6-imagick php5.6-zip php5.6-cgi

-$ a2dismod php7.0  <--  php 처음 설치자는 안해도됨(안깔려있으니까요)

-$ a2enmod php5.6

-$ systemctl restart apache2



완료

Posted by 타카스 류지
|


apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 


Ubuntu PPA 설치 법

apt-add-repository ppa:mamarley/tvheadend-git-stable


apt-get update

apt-get install tvheadend


http://IP:9981



Posted by 타카스 류지
|

NAS에는 굉장히 많은 활용 방법이 있지만, 무엇보다 가장 와닿는 것 중 하나는 DLNA가 아닐까 생각합니다. 

DLNA의 원래 의미는 그냥 소니가 만든 비영리 단체같습니다. Digital Living Network Alliance 거든요. 디지털 가전 네트워크 단체 뭐 이런 의미인가요? 집 안의 디지털 가전 기기들을 네트워크로 연결시키는데 표준이나 규약 등을 제시/제공하는 비영리 단체라고 볼 수 있겠네요.

실제로 DLNA에서 활동하는 여러 어마어마한 기업들도 많아서, 많은 기업들이 다같이 꾸려나가는 느낌입니다. 내 컴퓨터에 있는 미디어를 집 안의 재생가능한 모든 기기에서 볼 수 있다는 거에요. Web, FTP, WebDAV같은 방법이 아니라, 목적이 뚜렷한 거죠. 

막 생기기 시작했을 땐 회사마다도 프로토콜이 중구난방이었던 것 같지만, 지금은 어느 정도 통일이 된 느낌이라고 하네요. 기성 NAS 회사(시놀로지, ipTIME, WD, Qnap 등등)에서도 전부 기본적으로 제공하는 서비스입니다.

자작 NAS에서도 가능합니다. 오히려 기성 NAS가 제공하는 것보다 더 좋을 수 있어요. 써드 파티 프로그램의 매력이죠. Serviio를 이용해 거실 TV로 영화 한 편 때리러 갑시다.


* 사실 Plex Media Server를 설치하셨으면 이미 DLNA를 사용하실 수 있습니다. 트랜스코딩도 되구요(Serviio도 되지만..). 그러나 제 오드로이드 NAS에선 Plex DLNA로 미디어를 돌리는 게 한계가 있더라구요. 1080p 이면서도 비트레이트가 10000 단위를 넘어가는 굉장히 좋은 화질의 영상은 종종 끊깁니다. 720p는 부드러워요. 하지만 Serviio는 모두 다 부드럽게 돌아갑니다. 참고하세요.




0. SSH 접속 필수

모든 건 터미널 환경에서 이뤄집니다. 오드로이드에서도 OMV나 Ubuntu나 상관이 없어요. 그래서 SSH 연결이 필수이고, 기본적인 지식은 갖고 가셔야 합니다.

리눅스에 대해서 잘 모르시는 분들은 2017/08/01 - [오드로이드 XU4/Misc] - NAS 기본 지식 - 리눅스

다만 OMV, Ubuntu 같은 Debian 계열에서만 설명을 드리도록 하겠습니다. CentOS, Fedora 들에서도 큰 차이는 없을 거에요.

SSH 로 접속하고 진행합니다. 전체적인 가이드는 Serviio Wiki 를 따릅니다.



1. Serviio

1) 설치

먼저 Serviio를 설치해봅시다. Serviio는 개인 저장소(PPA)로 제공되지 않습니다. wget으로 다운 받아다가 압축 풀고 그래야 해요. 조금 귀찮지만, 금방 합니다. 

아래 명령어를 통해 Serviio 를 다운받겠습니다.

먼저 필수 패키지들을 설치합니다. Plex 등을 사용하신다면 이미 설치가 되어 있을 수 있습니다.

# OMV(Debian)에서 자바를 설치하기 위해 저장소를 추가하는 작업입니다.
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

# Ubuntu를 쓰시는 분들은
add-apt-repository ppa:webupd8team/java

# 그리고 필수 패키지들을 설치합니다.
apt-get update && apt-get install -y ffmpeg dcraw oracle-java8-installer oracle-java8-set-default
Bash

그리고 Serviio에서 제시하는 방법으로 쭉 설치를 해줍니다. 지금 버전에 맞게 조금 바꿨습니다.

useradd -r -s /bin/false serviio
mkdir -p /opt
cd /opt
wget http://download.serviio.org/releases/serviio-1.9-linux.tar.gz
tar zxvf serviio-1.9-linux.tar.gz
rm serviio-1.9-linux.tar.gz
ln -s serviio-1.9 serviio
chown -R root:root serviio-1.9
cd serviio-1.9
mkdir log
chown -R serviio:serviio library log
Bash

Serviio를 서비스로 등록해 NAS가 재부팅이 되더라도 자동으로 시작하게끔 해줍시다. 새로운 파일을 만듭시다. 리눅스에서 텍스트 에디터를 처음 사용하시는 분들은 nano를 사용해주세요.

# vi /etc/systemd/system/serviio.service
nano /etc/systemd/system/serviio.service
Bash

화면이 바뀌면 아래 내용을 복붙합니다.

[Unit]
Description=Serviio Media Server
After=syslog.target local-fs.target network.target

[Service]
Type=simple
User=serviio
Group=serviio
ExecStart=/opt/serviio/bin/serviio.sh
ExecStop=/opt/serviio/bin/serviio.sh -stop
KillMode=none
Restart=on-abort

[Install]
WantedBy=multi-user.target
Bash

CTRL + x, y, [엔터] 를 순서대로 누릅니다.

새로 만든 서비스가 제대로 동작하도록 시스템에 등록합니다.

systemctl daemon-reload
systemctl enable serviio
service serviio start
Bash

설치가 완료되었습니다 :)


2) 미디어 설정

Serviio 도 웹에서 설정을 만지작하실 수 있습니다. NAS IP를 아신다면 웹에서

http://{NAS IP}:23423/console

로 접속해보세요. 그럼,

이런 화면이 뜹니다. 아주 설치가 잘 되신 겁니다. PRO 버전이고 2주 뒤 만료라는데 상관 없습니다. 공짜로도 너무 서비스가 좋아요.

아무튼 미디어를 추가하기 위해 Library - Shared folders 메뉴로 가보겠습니다.

벌써부터 뭔가 될 것 같습니다. 여기서 가운데 Add 버튼을 눌러줍시다.

새로운 폴더를 추가할 수 있게 바뀝니다. 추가해봅시다. 미디어 파일 경로만 간단하게 추가해주는 겁니다.

Browse 버튼을 눌러 미디어 폴더를 탐색합시다.

찾았어요.

선택하신 뒤 아래 OK버튼을 누르고, 또 빨간 OK버튼을 누르시면,

추가한 경로가 위에 보이고 아래엔 빨간 Save 버튼이 있습니다. 누릅시다. 

끝났습니다.


3) 활용

TV를 카메라로 찍고 이렇게 보여드리는 건 좀 그래서, Serviio PRO 판에서만 지원하는 MediaBrowser를 통해 확인해보겠습니다. 스마트폰이나 DLNA를 지원하는 TV 등에서도 같은 공유기에 물려있다면 전부 잘 될 거에요.

먼저 Remote 메뉴에서 암호를 적절히 설정하신 뒤 MediaBrowser로 갑니다.

로그인하면,

음악, 사진, 영상 중에서 고르래요. 영상이 들어있는 경로를 설정했으니 가봅시다.

Folders로 가볼게요, 전 폴더로 정리하는 타입이라 :)

잘 나오네요 :) 눌러보니 재생도 잘 됩니다.

TV 등에서도 이런 형식으로 들어가서 영상을 선택하실 겁니다 :)

Serviio console 에서 보셨듯 여러가지 설정이 있으니 입맛대로 설정해서 사용하세요.


출처 : http://awesometic.tistory.com/19?category=964086

Posted by 타카스 류지
|