[Linux] rsync 간단 사용

$ rsync -av --progress <source> <destination>

Local 로부터 local로의 sync가 아니라면 -z 옵션을 주는 것도 좋다. destination에서 source에 없는 파일은 지우고 싶다면 –delete 옵션을 준다. -h 옵션은 human readable하게 한다. –progress는 progress를 보여준다.

crontab으로 등록

# crontab -e
0 3 * * * rsync -avh --delete /mnt/NAS /media/dasomoli/Elements

나는 이렇게 한다.

#!/bin/bash

if [[ -b /dev/sda1 && -b /dev/sdb1 && -d /media/dasomoli/Elements && -d /mnt/NAS ]] \
       && ! [[ -e /media/dasomoli/Elements1 ]]; then
	rsync -avh --delete /mnt/NAS /media/dasomoli/Elements >> /var/log/rsync/backup_exthdd.log;
else
	echo "`date`: Error: HDDs have not mounted" >> /var/log/rsync/backup_exthdd.err;
	mount >> /var/log/rsync/backup_exthdd.err;
fi

그리고 logrotate 설정을 해둔다.

# vi /etc/logrotate.d/backup_exthdd
/var/log/rsync/backup_exthdd.log /var/log/rsync/backup_exthdd.err {
    weekly
    missingok
    rotate 5
    compress
    notifempty
}

[Raspbian] dbind-WARNING: Error retrieving accessibility bus address

synaptic으로 설치하는데 아래 에러가 나온다.

at-spi2-core 패키지를 설치하면 해결된다고 한다.

 

(frontend:10029): dbind-WARNING **: 13:54:52.794: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

 

참고: https://www.raspberrypi.org/forums/viewtopic.php?p=1297158

[Raspbian] ibus-hangul로 한글 입력 설정

Raspbian 설치하고 언어를 바로 Korean으로 설정하고 하라는대로 재부팅하면 폰트가 설치되어 있지 않아서 메뉴가 다 깨져보여서 보기 힘들다. 난 그냥 English를 사용하도록 한 후, 필요한 걸 설치했다.

입력기가 요즘 또 새로운게 생겨서 fcitx를 쓸 수도 있는 것 같던데, ibus-hangul을 설치했다.

sudo apt-get install ibus-hangul

 

재부팅하면 트레이에 ibus 아이콘이 보인다. 기본은 English다.

우클릭 / “Preferences” / “Input Method” / “Add” / “…” / “Korean” 을 하면 태극 무늬의 “Korean” 이 추가된다.

English는 제거하자.

한영키는 별도 설정없이 기본으로 한영키를 쓰면 한글과 영문이 토글된다.

Shift + space도 된다.

 

[Raspbian] Can’t locate Gtk3.pm in @INC

Synaptic 깔고 패키지 설치해보면 아래와 같은 에러가 뜬다.

해결방법은 libgtk3-perl 패키지를 설치해주면 된다.

 

debconf: unable to initialize frontend: Gnome
debconf: (Can’t locate Gtk3.pm in @INC (you may need to install the Gtk3 module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Gnome.pm line 151, <> line 3.)

 

참고: https://www.linuxquestions.org/questions/bodhi-92/can%27t-locate-gtk3-pm-4175657312/

[Raspbian] 기본 사용자인 ‘pi’ 지우기

Raspbian 설치 후에 기본 사용자인 pi를 지우고, 내 아이디를 쓰고 싶어서 지워봤다.

ssh 같은거 열면 pi로 막 들어올까봐…

모든 작업은 root로 진행했다.

 

  1. 내 ID 추가

adduser dasomoli

  1. 내 ID를 sudo 그룹으로 넣기

usermod -aG sudo dasomoli

  1. pi 사용자와 같은 그룹으로 만들기
    cat /etc/group | grep pi
    usermod -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio dasomoli

  2. polkit local authority 설정

vi /etc/polkit-1/localauthority.conf.d/60-desktop-policy.conf

AdminIdentities=unix-group:sudo;unix-user:0

  1. lightdm 설정

vi /etc/lightdm/lightdm.conf

autologin-user=dasomoli

  1. systemd 설정

vi /etc/systemd/system/autologin@.service

ExecStart=-/sbin/agetty –autologin dasomoli –noclear %I $TERM

vi /etc/systemd/system/getty@tty1.service.d/autologin.conf

ExecStart=-/sbin/agetty –autologin dasomoli –noclear %I $TERM

  1. 재부팅 후 내 ID로 로그인

  2. pi 지우기

deluser –remove-home –remove-all-files pi

delgroup pi

 

참고: https://www.raspberrypi.org/forums/viewtopic.php?t=202618

[Raspberry Pi] 라즈베리파이에 미디어위키(MediaWiki) 설치

라즈베리파이의 OS, Raspbian에서는 패키지를 제공하므로 매우 간단하다.

sudo apt-get install mediawiki

 

설치하면 apache2의 available configuration에 mediawiki라는 새로운 configuration(/etc/apache2/conf-available/mediawiki.conf)이 생긴다.

아래의 Alias를 풀어서 /mediawiki 로 접근해도 된다.

#Alias /mediawiki /var/lib/mediawiki

 

난 VirtualHost를 이용한다.

/etc/apache2/sites-available/wiki.dasomoli.org.conf

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName wiki.dasomoli.org

        ServerAdmin dasomoli@gmail.com
        DocumentRoot /var/lib/mediawiki

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/wiki_error.log
        CustomLog ${APACHE_LOG_DIR}/wiki.access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        Include conf-available/serve-cgi-bin.conf
</VirtualHost>

 

이제 mediawiki configuration을 enable 하자

sudo a2enconf mediawiki

wiki.dasomoli.org site도 enable하자

sudo a2ensite wiki.dasomoli.org.conf

apache2도 reload하자

sudo service apache2 reload

 

이제 wiki.dasomoli.org에 접속해서 mediawiki 설치를 시작한다.

설치가 끝나면 LocalSettings.php 파일을 저장할 수 있는데, 이 파일을 /etc/mediawiki/LocalSettings.php 로 저장한다.

다시 wiki.dasomoli.org로 접속해보면. 설치된 위키를 볼 수 있다!

 

[RaspberryPi] 모니터 꺼짐 방지

  • 이번만 모니터 꺼지는 것 방지
$ sudo xset s off
$ sudo xset -dpms
$ sudo xset s noblank
  • 껐다켜도 꺼지지 않게 만들기

$ sudo vi /etc/lightdm/lightdm.conf

[SeatDefaults]
xserver-command=X -s 0 -dpms

 

출처: http://www.geeks3d.com/hacklab/20160108/how-to-disable-the-blank-screen-on-raspberry-pi-raspbian/

[Linux] 화면 캡처 프로그램 scrot

3초 뒤에 활성화된 윈도우를 캡쳐하는 방법.

$ scrot -d 3 -u ~/Pictures/filename.png

Raspbian에는 기본으로 설치되어 있으므로, 별도 설치가 필요없다.

참고: http://javacan.tistory.com/entry/raspberry-capture-program-scrot

[Linux] sudo 사용을 위한 sudoers 설정

sudo 그룹이 이미 있는 경우가 많으므로, 그냥 아래 명령을 root권한으로 주는 것이 더 낫다. 아닌 경우 그 아래 내용을 참고한다.

# usermod -aG sudo username

sudo 에 관한 설정을 바꿀 때는 /etc/sudoers 파일을 직접 고치는 것 보다는 /etc/sudoers.d/ 안에 설정 파일을 추가하는 것이 좋다.

새로운 사용자를 추가하려면 다음과 같이 파일을 추가한다.

sudo visudo -f /etc/sudoers.d/011_dasomoli-sudoer
dasomoli ALL=(ALL)   ALL

sudo를 할 때 아예 패스워드를 묻지 않게 할 수도 있는데, 라즈베리 파이3의 경우, 이를 이용해서 기본 계정의 경우 NOPASSWD: ALL 을 줘서 sudo 시 패스워드를 묻지 않도록 하고 있다.

vi /etc/sudoers.d/010_pi-nopasswd
pi ALL=(ALL) NOPASSWD: ALL

우분투에서 rpm 패키지 설치하기

sudo apt-get install alien

sudo alien <rpm filename>
sudo dpkg -i <deb filename>

근데, i386용 패키지라고 64비트에서 안될 때가 있는데, 다음 과정을 거치면 될 수도 있다.

sudo alien –to-tgz <rpm filename>

sudo alien –to-deb <tgz filename>