IT 주제, 특히 리눅스를 다룹니다.

Posted
Filed under Linux/Gentoo
Xfce는 리눅스 시스템에서 사용할 수 있는 아주 가벼운 윈도우 환경이다. 다른 윈도우 매니저보다 리소스 사용률이 적고, 빠르다. Xfce에 적당한 가벼운 디스플레이 매니저로 SLiM(Simple Login Manager)가 있다.

우선, 불필요한 패키지 빌드는 제외하기 위해, gnome, kde, qt4 USE flag를 사용하지 않도록 한다.
USE="-gnome -kde -qt4 ..."

Xfce를 원격으로 제어하기 위해 TigerVNC를 설치하되, Xorg 서버 모듈을 함께 빌드하기 위한 USE 설정한다.
# echo "net-misc/tigervnc server xorgmodule" >> /etc/portage/package.use

일반 desktop 프로파일을 설정한다.
# eselect profile set <number>

gvfs의 http USE flag의 경우 많은 gnome 의존성 패키지를 빌드하기 때문에 제외한다.
# echo 'gnome-base/gvfs -http' >> /etc/portage/package.use

어떤 Xfce 플러그인을 설치할 것인지 /etc/portage/make.conf 에 정의한다.
XFCE_PLUGINS="brightness clock trash"

비디오카드를 정의한다. (Intel HD Graphics를 위해 i965 추가)
VIDEO_CARDS="intel i965"

Xfce, SLiM, ibus, tigervnc 설치를 시작한다.
# emerge -av xfce4-meta xfce4-notifyd xorg-server xfce4-terminal xfce4-volumed-pulse gtk-engines-xfce slim ibus ibus-hangul
# emerge --deselect y xfce4-notifyd

필요한 서비스를 시작한다.
# rc-update add dbus default
# rc-update add consolekit default
# /etc/init.d/dbus start
# /etc/init.d/consolekit start

xdm의 기본 디스플레이 관리자를 SLiM으로 설정한다.
# vi /etc/conf.d/xdm
...
DISPLAYMANAGER="slim"

System default Xsession을 Xfce로 설정한다.
# vi /etc/env.d/90xsession
XSESSION="Xfce"

필요 시 SLiM 환경을 사용자 정의한다. (세션 종류, 자동로그인 등)
# vi /etc/slim.conf

ibus 데몬을 자동 실행하기 위한 환경을 설정한다.
(사용자 홈디렉토리에서)
# vi .xprofile
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx

로그인 시 한글 locale을 설정하려면 아래 내용을 추가한다.
# vi /etc/X11/xinit/xinitrc.d/99-local
export LANG=ko_KR.UTF-8
export LC_ALL=ko_KR.UTF-8
# chmod +x /etc/X11/xinit/xinitrc.d/99-local

Xorg 서버 환경을 설정한다.
# vi /etc/X11/xorg.conf
Section "Device"
  Identifier  "Device0"
  Driver      "intel"
  VendorName  "INTEL Corporation"
EndSection
Section "Extensions"
  # fixes tearing
  Option      "Composite"           "Disable"
EndSection
Section "Module"
  Load        "vnc"
EndSection
Section "Screen"
  Identifier  "Screen0"
  Device      "Device0"
  Option      "SecurityTypes" "VncAuth"
  Option      "UserPasswdVerifier" "VncAuth"
  Option      "PasswordFile" "/root/.vnc/passwd"
EndSection

VNC 패스워드를 설정한다.
# vncpasswd

Xfce 로그인을 테스트한다.
# service xdm start

문제가 없다면 부트 스크립트로 추가한다.
# rc-update add xdm default
2015/04/19 21:30 2015/04/19 21:30

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT SeedBox

IT SeedBox

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

IT 주제, 특히 리눅스를 다룹니다.

Posted
Filed under Linux/Gentoo
Gentoo에 무분별한 ~amd64 flag 사용으로 시스템이 너무 더러워졌다.
필요한 기능만 설치할 겸 /etc 만 백업하고 전체 재설치 중이다.

몰랐는데, XBMC 이름이 v14 들어서며 Kodi로 바뀐 듯 하다.

Kodi 컴파일 시 vaapi를 사용하기 위해서 USE flag "gles" 를 제외해야 한다.
4년 전 버그인데 아직도 dependancy check가 ebuild에 반영되지 않는듯...

이건 내 실수지만, OpenGL ES는 Embedded system 타겟이기 때문에 보통 필요 없다.

참조: http://trac.kodi.tv/ticket/10552
2015/04/19 09:46 2015/04/19 09:46
Posted
Filed under Linux/Gentoo
fail2ban은 iptables을 이용하여 지정된 조건에 맞는 접속 시도를 효과적으로 차단한다.
가장 많은 해킹 시도는 ssh를 통해 이루어진다.
ssh 필터링을 위해 system logger는 /var/log/auth.log 를 생성해야 한다.

emerge -av fail2ban

(syslog-ng 수정)
destination auth { file("/var/log/auth.log"); };
filter f_auth { facility(auth); };
log { source(src); filter(f_auth); destination(auth); flags(final); };

(/etc/fail2ban/jail.d/ssh-iptables.conf)
[ssh-iptables]
enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
logpath  = /var/log/auth.log
maxretry = 5

service fail2ban start
2015/04/18 18:42 2015/04/18 18:42
Posted
Filed under Linux/Gentoo
Gentoo Samba 3.6.25 설정 후 Windows 7에서 연결 시도하면 아래와 같은 메시지가 출력된다.
[2015/04/16 13:55:07.368135,  0] smbd/process.c:525(init_smb_request)
  init_smb_request: invalid wct number 255 (size 108)
/etc/samba/smb.conf 파일에 아래 항목을 추가한다.
max protocol = smb2
2015/04/16 15:18 2015/04/16 15:18
Posted
Filed under Linux
find 출력에 grep 확장 정규식을 사용하여 대상 필터링 후, xargs로 일괄 변경한다.
find 옵션으로 -exec를 사용할 수 있으나, 상세한 파일 필터링을 하려면 find+grep 조합이 필요하다.
대상 리스트를 파일 저장 후 for 반복하려면 shell의 명령어 최대 길이 제약이 있기 때문에, xargs+sed in-place 모드를 사용한다.
 
[사용 방법]
find <디렉토리> | grep -Ev "정규식" | xargs -d "\n" sed -i .bak -r "s:검색문자열:치환문제열:g"
2015/04/09 09:41 2015/04/09 09:41

IT 주제, 특히 리눅스를 다룹니다.

Posted
Filed under Linux
xargs 필요 없이 grep에 확장 정규식을 사용하여 상세히 대상을 정하여 archiving 가능하다.

[사용 방법]
find <디렉토리> | grep -Ev '정규식' | tar cvzf <.tar.gz 파일명> --no-recursion -T -

[tar 옵션 설명]
--no-recursion
avoid descending automatically in directories
tar에 디렉토리를 인수로 주면 디렉토리 하위 전체를 archiving 하는데 이를 방지한다.
-T, --files-from FILE
get names to extract or create from FILE
이 경우 - 를 추가했기 때문에 standard output을 FILE 대신 받는다.
newline을 delimiter로 인식하기 때문에 공백 등의 왠만한 특수문자도 지원한다.
2015/02/11 16:31 2015/02/11 16:31

IT 주제, 특히 리눅스를 다룹니다.

page-description

Posted
Filed under Linux/Chromebook

3번 정도 재부팅하니 olleh 통신사를 자동으로 잡습니다. 휴대폰하고 비슷하네요.. ㅎㅎ

KT LTE APN을 설정해주니 HSPA+ 로 연결이 됩니다. 문자도 잘 수신되구요.

2014/08/23 20:38 2014/08/23 20:38
Posted
Filed under Linux/Kernel
UUIDUniversally Unique Identifier 의 약어이다.
Linux 영역에서는 간단히 말하자면 각 파티션의 유일 식별자.. 정도 될까.

RHEL 커널에서는 root=UUID=... 형식으로 /dev 경로 대신 UUID를 사용할 수 있다.
경로를 사용하지 않는다는 것은 상당히 편리하다.
이동식 디스크가 너무나도 보편화된 현재 /dev 경로는 쉽게 변경될 수 있기 때문이다.
예를 들어 root device 지정에 /dev 경로를 사용하고 있는데, USB Key 하나를 꽂았다.
그런데 BIOS에서 장치 경로들이 모두 변경되어 버려서 결국 root device도 변경되었다면 어떻게 될까?
부팅이 안되겠지... ㅡㅡ;

RHEL 커널에서는 UUID 사용이 가능했는데, 다른 배포판들은 어떨까.
결론부터 말하자면, initramfs 를 사용하는 경우만 지원한다. RHEL도 그런거고.

아래 링크의 글은 어쩌면 UUID 지원에 대해 여럿 헷갈리게 했을 것 같다.

http://kernelnewbies.org/Linux_2_6_37#head-da4cb5f727d0f3b8fac1b23c097e15c3b49ff793

Linux 2.3.67부터는 root device 지정에 Partition UUID를 사용할 수 있다고 되어 있는데,
commit 내용을 보면 EFI GPT 형식 파티션의 GUID를 말하고 있다.

예를 들면, blkid 명령을 실행할 때 GPT 파티션은 UUID 외 PARTUUID 값도 나오는데,
바로 PARTUUID 값이 위에서 말하는 그것이다. UUID와 혼동하면 안된다!
지원하는 형식도 틀리다. 이 경우 root=PARTUUID=... 이다.

정리!
initramfs 사용하지 않는다면, GPT 파티션만 root=PARTUUID=... 를 사용할 수 있다.
2013/07/25 23:29 2013/07/25 23:29
Posted
Filed under Linux/Apache
스토리지 파워가 나가버린 기념(?)으로 블로그를 새로 꾸미는 중이다.
설치형 블로그인 텍스트큐브를 DocumentRoot에 바로 설치하고 사용하던 도중 문제가 생겼다.

텍스트큐브는 Apache의 mod_rewrite를 사용하는데, DocumentRoot에 적용되어 버린다.
다른 어플리케이션들도 있는데, Full URI를 입력하지 않는다면 문제가 발생한다.

만약 특정 URI에서 Rewrite 기능을 패스하고 싶다면, substitution 란에 -(대시)를 사용한다.
RewriteRule <조건식> -
위 내용은 Apache 홈페이지의 'Apache Module mod_rewrite' 페이지에 존재한다.
- (dash)A dash indicates that no substitution should be performed (the existing path is passed through untouched). This is used when a flag (see below) needs to be applied without changing the path.
2013/07/23 13:41 2013/07/23 13:41