[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로 접속해보면. 설치된 위키를 볼 수 있다!

 

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

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

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

vi /etc/sudoers.d/011_dasomoli-sudoer

dasomoli ALL=(ALL)   ALL

추가한 파일은 0440으로 권한을 바꿔준다.

chmod 0440 /etc/sudoers.d/011_dasomoli-sudoer

 

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

vi /etc/sudoers.d/010_pi-nopasswd

pi ALL=(ALL) NOPASSWD: ALL

 

그러나 sudo 그룹이 있는 경우가 많으므로, 사실 위 보다는 그냥 아래 명령을 root권한으로 주는 것이 더 낫다.

[code]
# usermod -aG sudo username
[/code]

[Linux] 새로 깔면 하는 환경 변수 셋팅

새로 깔면 하는 환경 변수 셋팅(~/.bashrc)

export ANDROID_JAVA_HOME=”/usr/lib/jvm/jdk1.6.0_38/”
export JAVA_HOME=”/usr/lib/jvm/jdk1.6.0_38/”
export PATH=”~/bin:$PATH:/usr/lib/jvm/jdk1.6.0_38/bin”

alias setcross=’export CROSS_COMPILE=”/opt/toolchains/arm-eabi-4.6/bin/arm-eabi-“‘
alias b=”. ~/bin/backdir.sh”

export USE_CCACHE=1

backdir.sh 는 [Bash] cd ../../../../.. 을 치기 귀찮을 때 유용한 스크립트에 있다

[Linux] git 사용 시 Proxy 환경 아래서 https 인증이 제대로 안될 때

git 사용 시 Proxy 환경 아래서 https 인증이 제대로 안될 때 다음과 같은 에러 발생 시..

error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://주소.com/프로젝트.git/info/refs
fatal: HTTP request failed


아래처럼 하고 해보자.
 

$ export GIT_SSL_NO_VERIFY=true

우아한 방법은 아니지만 동작은 한다.
다음처럼 설정도 가능.

$ git config –global http.sslVerify false

참고 :  http://stackoverflow.com/questions/3777075/https-github-access

[Samba] 공유 디렉토리 추가

가끔, 아니 매우 자주 공유 디렉토리 만들 일이 생긴다. 이건 사실 쓸 필요없다고 생각해서 그동안 안적어왔는데 귀찮을 때 긁는게 더 낫겠다.

/etc/samba.conf 에 다음 내용을 추가한다.

[Shared]

  comment = Shared directory

  path = /home/public

  writeable = yes

  browseable = no

  guest ok = yes

  read only = no

접근 경로는 위와 같다면 “\\<IP>\Shared” 이다.

물론 설정 후 삼바 서비스는 재시작한다.

sudo service smbd restart

[Linux] Shell script 에서 문자열 다루기

참고에 매우 자세히 잘 정리되어 있다. 감사.

문자열 길이 구하기
${#string}

문자열 추출
${string:position}
${string:position:length}

문자열 조각 삭제
${string#substring}
 string의 앞에서부터 가장 짧게 일치하는 substring 제거
${string##substring}
 string의 앞에서부터 가장 길게 일치하는 substring 제거

${string%substring}
 string의 뒤에서부터 가장 짧게 일치하는 substring 제거
${string%%substring}
 string의 뒤에서부터 가장 길게 일치하는 substring 제거

참고 : 
http://wonylog.tistory.com/192