Try...

라즈베리파이 1년전도 운영을 했었다. 블로그도 올려보고 이력서 홈페이지도 올려봤다. 주위에 쓴만한 서버들이 너무 많아져서 이제는 잘 사용하지 않다가 집에서 DB 서버나 만들어서 테스트 할까 다시 OS 설치를 해야 했다.

https://www.raspberrypi.org/downloads/ 에서 Raspbian, Ubuntu, 다양한 것들이 눈에 띄였는데, 뭘할까 고민하다 데스크탑에서 잘 사용하고 있는 Fedora운영체제를 설치하기로 했다.

ARM 아키택쳐로 구성 된 이미지 파일을 손쉽게 구할 수 있었다. ... 여기 문서을 참조

사용용도에 맞춰서 Server용으로 설치했다. (가벼울꺼라 생각했어....)

설치방법은 라즈베리파이 공식페이지 여기로 이동

After install

기본 메모리 사용량

설치하고 난 후에 htop로 기본으로 돌아가고 있는 메모리의 량이 raspbian에 비해서 100mb정도 많았다. 아무래도 fedora는 ARM으로 포팅만 되서 나온거라 그런지 조금 무거운 게 아닐까 의심이 든다.

메모리카드의 한계

라즈베이파이의 메모리의 한계를 알게 되었다. micro SD카드로 돌아가는 운영체제다 보니, 상당히 느리고, 스로들 걸리는 시간이 자주 있었다.

torrent서버를 돌려서 메모리 카드에 저장을 하는데 자꾸 다운이 되거나 멈춰버린다. 아무래도 메모리의 최대 전송량의 한계를 넘어서서 멈춰버리는 것 같다. 속도제한을 하지않으면 멈춰버린다.

결론

라즈베리파이에서 운영체제에서 오는 이득은 package 관리 체계의 차이 밖에 없을 것 같다.

1. raspbian 을 사용하자
2. “시간은 금이라구 친구”

최적화 되어 있는 OS를 사용하자. 기본 운영체제가 조금 달라져도 익숙해지는 것은 금방이다.

ps. 하루동안 재미 있었다.

반응형

사실 이 글을 쓰는 이유는 공유기 CAVE_BLUE라즈베리파이로 접속하기 위함이다.

asus 공유기에 설치되어 있는 외장하드에 접속하려고 했는데, 잘 안 되서 살펴보니, SMBv1를 사용하고 있다.

옵션을 추가해 주면 간단히 마운드 할수 있다.

  1. 우선 마운트할 대상인 폴더를 생성
  2. 아래 명령어로 mount한다.

끝에 들어가는 vers=1.0을 추가해 줘야 접속 핬 수 있다.

# sudo mount -t cifs //192.168.50.1/backup /mnt/cave/ -o username=admin,password=*******,vers=1.0

Imgur

반응형

라즈베리파이3 b+ 을 사용하고 있는데, 현재는 zero w 를 구입해서 세팅을 하다가 일정 중요한 부분을 기록하다.

라즈베리파이 기초설정

SSH 모드를 사용해서 설정하는게 편합니다. 더 편하게 하려면 GUI 모드를 이용해서 접속을 하시면 더 편합니다.

WIFI 잡기

주위에 잡을 수 있는 와이파이 정보를 읽어옵니다.

# sudo iwlist wlan0 scan

Imgur

ESSID 명이 접속을 네트워크 암호를 나타냅니다.

다음명령어를 통해서 테스트를 해 봅니다.

# wpa_passphrase SSID이름 비밀번호

여러가지 문구나 나오는게 있는데, 이부분은 보안을 위해서 설정할 수 있는 부분이기도 한데, 추가 정보는 이쪽을 통해서 보세요. 처음 사용자에게 중요한 부분은 아닙니다.

설정 파일을 편집 합니다.

# sudo vi /etc/wpa_supplicant/wpa_supplicant/conf
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="네트워크이름"
    psk="암호"
}

이렇게 입력을 해 준 후에 리부팅을 해 줍니다.

# sudo shurdown -r now

멀티 와이파이 잡기

여러장소에서 와이파이를 잡기위해서 멀티 와이파이를 설정 할 수 있습니다.

terminal 을 통해서 실행

새로운 걸 설치 안하고, 위의 방법을 통해서 같은 방법으로 문구만 추가해 주면 됩니다.

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="네트워크이름"
    psk="암호"
}

# 아래 추가 된 문구
network={
    ssid="네트워크이름2"
    psk="암호2"
}

콘솔 어플을 통해서 사용하는 방법

아래의 명령어로 설치를 진행 한 후 실행하기( 설치용량 4mb )

# sudo apt-get install wicd-curses -y
# sudo wicd-curses

실행하면 나오는 화면

Imgur

지금은 잡히는 와이파이가 하나 밖에 없습니다.

여기서 키보드 오른쪽방향키를 누르면 설정 모드로 들어갈 수 있습니다. 여기서 KeyAutomatically connect to this network 를 눌러서 추가합니다.

Imgur

세팅값은 /etc/wicd/wireless-settings.conf 에 저장.

블루투스 잡기

블루투스 모드 컨트롤에 들어갑니다.

# sudo bluetoothctl
agent on
default-agent
discoverable on
scan on

리스트들이 보이면 자신이 원하는 블루투스 기기을 선택해서 붙여넣기 합니다.

pair xx:xx:xx:xx:xx:xx

여러가지 요구 미션이 잇는데 수행하면 pair 가 완료 됩니다.

메모리에 올려줍니다.

trust xx:xx:xx:xx:xx:xx

Imgur

여기까지 하고 리붓을 해도 잘 잡힙니다.
만약 리붓을 해도 안 잡히면 다음문서를 참조하세요

참조문서

반응형

Linux 에 기본으로 설치되어 있는 Libreoffice 삭제하는 방법

라즈베리파이에 우분투 OS를 설치했다.

라즈베리파이에 xrdp 를 설치했는데, 여러가지 사용하지 않는 많은 파일들이 설치가 되는 것을 알수 있었다.
오피스는 역시 데스크탑에서 사용해야 제대로 사용할 수 있다.
오픈소스에 사용할만 하지만, 사양이 느린 라즈베리파이에서 이런것을 할수는 없으니까 말이다.

아래와 같이 명령어를 입력하면 간단히 해결된다.

sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove

이렇게 명령어를 입력하면 대략 250MB 정도를 확보 할 수 있다.

반응형

라즈베리파이를 활용하면서 이것저것 재매난 것들을 만들어 보고 싶다.
예전에 라즈베리파이에 git 저장소를 만들었는데, 다시 하려니까 기억이 안나더라. 나이가 들어서 그런 것 같아 이번에 다시 한번 해결하는 방법을 기록해 두도록 하자.

서버에서 해야하는 일

파일들이 저장되는 장소를 만든다.
.ssh 파일을 받아와서 .ssh/authorized_keys 에 추가한다.

git clone – [폴더명] [폴더명].git
이라는 명령어를 사용해야 하지만, 나는 안 되길래 아래와 같은 명령어를 사용했음

/home/pi 에서 아래와 같은 명령어 실행하기

# git init --bare [폴더명].git
    Initialized empty Git repository in /home/pi .ssh/works.git/

폴더가 생성 된 것을 확인할 수 있다.

사용자

ssh-keygen 으로 키 생성하기
ssh 파일을 서버로 보내주기

scp 명령어를 사용해서 간단하게 보낼 수 있다.
본인은 11022 를 ssh 포트로 사용하고 있기 때문에 아래와 같은 -P 옵션을 사용했다.
복사되는 디렉토리 뒤의 / 까지 적는 것을 잊지말자. 이 문제 때문에 한참을 찾아 해맸다.

scp -P 11022 [원본파일명] pi@address:/home/pi/

서버

다시 서버로 돌아와서 보내온 ssh 파일을 등록해서 접속을 허가해 준다

cat [파일명].pub >> ~/.ssh/authorized_keys

라고 입력

사용자가 해야 하는일

이제 사용자가 접속할 수 있는 권한을 얻었다. 이제 remote 저장소로 등록을 하고 난 뒤에 Push 할 수 있다. 프로젝트마다 적어도 한명은 –bare 옵션을 사용해서 Bare 저장소를 만들어야 한다고 하는데, 나는 이게 뭔 소리인지 잘 이해할 수 없었다. 혹시 아시는 분이 좀 알려줬으면 좋겠다.

cd project
git init
echo ‘hello git’ > README
git add .
git commit -m ‘hello’
git remote add origin ssh://git@[서버]:11022/home/git/project.git
git push origin master

이와 같은 명령을 하고 난 뒤에 비밀번호를 입력하고 파일을 자유롭게 올릴 수 있을 것이다.

사용자 2

이제 다른 사용자가 이를 clone 해서 수정하고 Push 할 수 있다.

git clone ssh://git@[서버]:11022/home/git/project.git
cd project
cat README
git commit -am ‘fix’
git push origin master

수고 하셨습니다.

반응형

Raspberry pi 3 B+ 에 Raspbian-jessie 가 설치되어 있습니다.

armv6l 용으로 이미 만들어 진 것이 있기 때문에 아주 쉽게 할 수 있습니다.

다운로드

$ wget https://storage.googleapis.com/golang/go1.6.3.linux-armv6l.tar.gz

/usr/local 에 압축을 풀어줍니다.

$ sudo tar -C /usr/local -xzf go1.6.3.linux-armv6l.tar.gz

다음에는 설정을 등록합니다.

PATH”:/usr/local/go/bin:$GOPATH/bin”

참조

sudo apt-get install golang 으로 설치 설정파일


GOARCH="arm"
GOBIN=""
GOCHAR="5"
GOEXE=""
GOHOSTARCH="arm"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/pi/golang"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_arm"
CC="gcc"
GOGCCFLAGS="-fPIC -marm -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
pi@raspleaf:~ $ whereis go
go: /usr/bin/go /usr/lib/go /usr/share/go /usr/share/man/man1/go.1.gz

apt-get purge golang 을 하고 난 후에 직접 다운받고 난 뒤의 설정 파일

GOARCH="arm"
GOBIN=""
GOEXE=""
GOHOSTARCH="arm"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/pi/golang"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_arm"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -marm -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
pi@raspleaf:~ $ whereis go
go: /usr/local/go /usr/local/go/bin/go

혹시 설정이 달라질지 몰라서 한번 백업을해 놨습니다. 딱히 바뀌점이 없는 거 보니 제대로 설치가 된 것 같습니다.

그런데, 이상하게 db.sql 을 사용하는데, 1.3 보다 느립니다. 일부러 1.6 버전을 설치했는데, 느려지다니, 좀 실망입니다.

반응형

PHP7 설치하기

소스 추가하기

$ sudo nano /etc/apt/source.list

아래와 같은 항목을 추가합니다.

deb http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free
#deb-src http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free

추가하고 난 뒤에 키를 등록합니다.

$ sudo gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
$ sudo gpg --armor --export CCD91D6111A06851 | sudo apt-key add -

기존에 설치되어 있는 php5 삭제하기

$ sudo apt-get remove php5-common

php7 fpm 설치하기

$sudo apt-get install php7.0-fpm

fpm 을 설치하면 php7.0 기본파일들도 자동으로 설치가 됩니다.

php7-mysql

$ sudo apt-get install php7.0-mysql

Nginx 사이트의 소켓을 업데이트 해야 합니다.

PHP 5 PHP 7
/var/run/php5-fpm.sock /var/run/php/php7.0-fpm.sock

$ sudo vi /etc/nginx/sites-available/default

을 열어서 아래와 같이 unix 소켓 부분을 수정합니다.

설정이 끝났으면, nginx 서버를 재시작합니다.

$ sudo service nginx restart

설치 확인

설정이 잘 되었는지 한번 확인해 봅시다.

$ php -v
PHP 7.0.7-3~bpo8+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
$ sudo nano /usr/share/nginx/html/info.php

를 입력해서

<?php
phpinfo()
?> 

내용을 추가한 후에 ctrl+o 저장을 한후 ctrl+x를 눌러 나옵니다.
이제 서버에 들어가봅시다

이제 서버에 들어가봅시다

https://서버주소/info.php

아래같이 화면이 나오면 제대로 설정이 된 것입니다.

반응형

라즈베리파이 minmidlna 1.1.5 설치하기

사전작업

이미 설치해 놓은 minidlna 를 삭제 합니다.

$ sudo apt-get purge minidlna -y && sudo apt-get remove minidlna && sudo apt-get autoremove -y

패키지형태로 제공이 되기 때문에 설치하기 위해서 라이브러리를 설치해줘야 합니다. 안 하면 ./configure작업에서 에러가 납니다.

$ sudo apt-get install autopoint debhelper dh-autoreconf gcc libavutil-dev libavcodec-dev libavformat-dev libjpeg-dev libsqlite3-dev libexif-dev libid3tag0-dev libogg-dev libvorbis-dev libflac-dev -y

설치하기

소스파일 다운로드

$ wget http://downloads.sourceforge.net/project/minidlna/minidlna/1.1.5/minidlna-1.1.5.tar.gz

압축풀기

$ tar -xvf minidlna-1.1.5.tar.gz

minidlna 디렉토리로 들어갑니다.

$ cd minidlna-1.1.5

configure, make, 그리고 minidlna 설치

$ ./configure && sudo make && sudo make install

기본 설정 파일 복사하기

$ sudo cp minidlna.conf /etc/

부팅시 자동으로 실행하게 스크립트를 등록해 줍니다.

$ sudo cp linux/minidilan.init.d.script /etc/init.d/minidlna

스크립트에 권한 설정

$ sudo chmod +x /etc/init.d/minidlna

minidlna 를 기본으로 사용할 수 있게 설정 해 줍니다.

$ sudo update-rc.d minidlna defaults

minidlna.conf 설정하기

$ sudo nano /etc/minidlna.conf

아래와 같은 부분만 설정해 주면 됩니다. #표시를 제거해서 주석처리를 제거해 주세요.

media_dir=/home/pi/torrent
friendly_name=Raspberry DLNA
inotify=yes

media_dir : 미디어 파일이 있는 곳 위치입니다.
inotify : 자동 갱신여부 설정

root_container=V:
- DLNA 에 접속하면 들어갈 목록입니다. V라고 설정해 주면 바로 비디오 목록으로 들어가집니다. 번거롭게 음악, 사진, 비디오 메뉴가 안 나옵니다.

B” - “디렉토리 브라우저”
M” - 음악”
V” - “비디오”
P” - “사진”

서비스를 시작 합니다.

$ sudo service minidlna start

실행이 되는 것을 확인 했으면, 이제 재부팅을 해 줍니다.

$ sudo reboot

부팅이 끝난 후에 DLNA에 접속 할 수있으면 성공적으로 설치가 된 것입니다.


반응형

라즈베리파이 삼바서버 설치

패키지를 이용해서 설치하기

$ sudo apt-get install samba

사용자 추가하기

pi 사용자를 추가합니다.

$ sudo smbpasswd -a pi

사용자 정보 설정 추가하기

$ sudo vi /etc/samba/smb.conf

제일 아랫칸으로 이동을 한 뒤에 i키를 이용해서 insert모드로 들어간 후에 아래와 같이 입력을 합니다.
입력을 다 끝냈으면, ESC키를 누르고 :wq 를 입력해서 저장하고 나오기를 합니다.

[pi]
path = /home/pi
comment = SAMBA SERVER
valid user = pi
writable = yes
browseable = yes
create mask = 0777
public = yes

$ sudo service samba restart

Failed to restart samba.service: Unit samba.service is masked.

에러가 출력된다면

$ sudo service smbd restart

그래도 Failed to restart smdb.service: Unit smdb.service failed to load: No such file or directory.

와 같은 에러가 난다면 직접 restart 시킬 수 밖에 없습니다.

$ sudo /etc/init.d/samba restart

서비스를 restart 해 줘야 사용자 추가 한게 적용이 된다.


반응형

설치하기

콘솔에서 다음과 같이 입력합니다.

$ sudo apt-get install transmission transmission-daemon

설정하기

다른 인터넷 검색을 통해서 설치를 하려고 하는데, 이상하게 설정을 해도 400 forbidden 에러를 열심히 뿝더라구요. whitellist 를 설정해도 안됩니다.

$ sudo vi ~/.config/transmission-daemon/

다른 블로그들을 찾아봤습니다.
/etc/transmission-daemon/settings.json 를 수정해서 설정을 바꿨는데, 저는 이게 안되더라구요. 그래서 계정 문제라고 생각을 해서 개인 설정을 찾아 다녔습니다.
실상 저장되는 위치는 여깁니다. 이것을 수정하고 난 뒤에 제대로 9091 port 를 통해서 GUI에 접속할 수 있었습니다.

완성 된 파일이 저장되는 위치

"download-dir": "/home/pi/torrent",

완성되기 전에 저장되는 위치

"incomplete-dir": "/home/pi/torrent",

GUI 부분

"rpc-enabled": true,
"rpc-password": “비밀번호”,
"rpc-port": 9091,
"rpc-username": "root",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,


반응형

+ Recent posts