gollum 위키툴에서 마크다운 테이블 표시 문제

  • gollum 위키툴에서 마크다운으로 작성된 문서의 테이블이 정상적으로 표시가 되지 않을 경우에는 다음과 같이 githum-markdown 설치

    gem install github-markdown

  • 설치 중 다음과 같이 에러가 발생한다면

    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ gem install github-markdown
    Fetching: github-markdown-0.6.9.gem (100%)
    ERROR: While executing gem … (Gem::FilePermissionError)
    You don’t have write permissions into the /var/lib/gems/1.9.1 directory.

  • 우선 sudo 명령이나 root 권한으로 설치 진행하여 에러가 발생하는지 확인

    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ sudo gem install github-markdown
    Fetching: github-markdown-0.6.9.gem (100%)
    Building native extensions. This could take a while…
    ERROR: Error installing github-markdown:
    ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9.1 extconf.rb
    /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: cannot load such file — mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’
    from extconf.rb:1:in `’

    Gem files will remain installed in /var/lib/gems/1.9.1/gems/github-markdown-0.6.9 for inspection.
    Results logged to /var/lib/gems/1.9.1/gems/github-markdown-0.6.9/ext/markdown/gem_make.out

  • root 권한에서 에러 발생하면, ruby-dev 패키지 먼저 설치

    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ sudo apt-get install ruby-dev
    패키지 목록을 읽는 중입니다… 완료
    의존성 트리를 만드는 중입니다
    상태 정보를 읽는 중입니다… 완료
    다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
    libqca2 libqca2-plugin-ossl
    Use ‘apt-get autoremove’ to remove them.
    다음 패키지를 더 설치할 것입니다:
    ruby1.9.1-dev
    다음 새 패키지를 설치할 것입니다:
    ruby-dev ruby1.9.1-dev
    0개 업그레이드, 2개 새로 설치, 0개 제거 및 14개 업그레이드 안 함.
    876 k바이트 아카이브를 받아야 합니다.
    이 작업 후 4,229 k바이트의 디스크 공간을 더 사용하게 됩니다.
    계속 하시겠습니까? [Y/n] y
    받기:1 http://ftp.daum.net/ubuntu/ trusty-updates/main ruby1.9.1-dev amd64 1.9.3.484-2ubuntu1.3 [871 kB]
    받기:2 http://ftp.daum.net/ubuntu/ trusty/main ruby-dev all 1:1.9.3.4 [4,660 B]
    내려받기 876 k바이트, 소요시간 0초 (2,292 k바이트/초)
    Selecting previously unselected package ruby1.9.1-dev.
    (데이터베이스 읽는중 …현재 322635개의 파일과 디렉터리가 설치되어 있습니다.)
    Preparing to unpack …/ruby1.9.1-dev_1.9.3.484-2ubuntu1.3_amd64.deb …
    Unpacking ruby1.9.1-dev (1.9.3.484-2ubuntu1.3) …
    Selecting previously unselected package ruby-dev.
    Preparing to unpack …/ruby-dev_1%3a1.9.3.4_all.deb …
    Unpacking ruby-dev (1:1.9.3.4) …
    ruby1.9.1-dev (1.9.3.484-2ubuntu1.3) 설정하는 중입니다 …
    ruby-dev (1:1.9.3.4) 설정하는 중입니다 …

  • github-markdown 패키지를 root 권한으로 설치하고 user 권한으로 다시 설치

    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ sudo gem install github-markdown
    Building native extensions. This could take a while…
    Successfully installed github-markdown-0.6.9
    1 gem installed
    Installing ri documentation for github-markdown-0.6.9…
    Installing RDoc documentation for github-markdown-0.6.9…
    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ 127.0.0.1 – – [23/Aug/2017:17:06:07 KST] “GET /Home/worklog/2017/08/201708 HTTP/1.1” 200 5569
    http://localhost:4567/Home/worklog/2017/08/201708 -> /Home/worklog/2017/08/201708

    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ gem install github-markdown
    ERROR: While executing gem … (Gem::FilePermissionError)
    You don’t have write permissions into the /var/lib/gems/1.9.1 directory.
    ley250@ley250-DREAMSYS ~/Dropbox/log/wiki $ sudo gem install rdiscount
    Building native extensions. This could take a while…
    Successfully installed rdiscount-2.2.0.1
    1 gem installed
    Installing ri documentation for rdiscount-2.2.0.1…
    Installing RDoc documentation for rdiscount-2.2.0.1…

  • gollum 위키툴 재실행하여 테이블 정상 출력되는지 확인

git commit “Please tell me who you are.” 에러

  • git commit 단계에서 다음과 같은 에러가 발생한다면

    *** Please tell me who you are.

    Run

    git config –global user.email “you@example.com”
    git config –global user.name “Your Name”

    to set your account’s default identity.
    Omit –global to set the identity only in this repository.

    fatal: unable to auto-detect email address (got ‘ley250@ley250-DREAMSYS.(none)’)

  • “Run”항목 밑의 예시대로 명령어 실행하여 해당 컴퓨터의 정보를 입력할 것

우분투 기반 리눅스에서 vdi(virtualbox 디스크) 파일 마운트하기

  1. QEMU 툴 설치
    $ sudo apt-get install qemu-utils
  2. nbd 커널 모듈 불러오기
    $ sudo modprobe nbd
  3. qemu-nbd 실행하여 vdi 파일을 디바이스(/dev/nbd0)로 연결
    $ sudo qemu-nbd -c /dev/nbd0 [/path/to/file.vdi]
  4. 파티션 테이블로부터 디바이스맵(/dev/mapper/nbd0pX) 생성
    $ sudo kpartx -a /dev/nbd0
  5. 파티션 마운트
    $ sudo mount /dev/mapper/nbd0p1 /mnt
  6. 작업 후 언마운트 순서는, 마운트된 파티션 언마운트 후 qemu-nbd 서비스 종료
    $ sudo umount /mnt
    $ sudo qemu-nbd -d /dev/nbd0

build-essential 설치 에러

다음과 같이 build-essential 설치 에러가 발생할 경우 처리 방법입니다.

taroth@taroth-DREAMSYS ~ $ sudo apt-get install build-essential
패키지 목록을 읽는 중입니다… 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다… 완료
몇몇 패키지를 설치할 수 없습니다. 요청한 상황이 불가능할 수도 있고,
불안정 배포판을 사용해서 일부 필요한 패키지를 아직 만들지 않았거나,
아직 Incoming에서 나오지 않은 경우일 수도 있습니다.
이 상황을 해결하는데 다음 정보가 도움이 될 수도 있습니다:

다음 패키지의 의존성이 맞지 않습니다:
build-essential : 의존: g++ (>= 4:4.4.3) 하지만 %s 패키지를 설치하지 않을 것입니다
E: 문제를 바로잡을 수 없습니다. 망가진 고정 패키지가 있습니다.

  1. 툴체인 저장소 추가

    taroth@taroth-DREAMSYS ~ $ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

  2. apt 업데이트

    taroth@taroth-DREAMSYS ~ $ sudo apt-get update

  3. g++,c++ 설치

    taroth@taroth-DREAMSYS ~ $ sudo apt-get install g++-4.7 c++-4.7

  4. build-essential 다시 설치

    taroth@taroth-DREAMSYS ~ $ sudo apt-get install build-essential
    패키지 목록을 읽는 중입니다… 완료
    의존성 트리를 만드는 중입니다
    상태 정보를 읽는 중입니다… 완료
    다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
    libqca2 libqca2-plugin-ossl libssh-4 remmina-common
    Use ‘apt-get autoremove’ to remove them.
    다음 패키지를 더 설치할 것입니다:
    cpp-4.8 g++ g++-4.8 gcc-4.8 gcc-4.8-base gcc-4.8-base:i386 gcc-6-base
    gcc-7-base:i386 libasan0 libatomic1 libgcc-4.8-dev libgfortran3 libgomp1
    libisl15 libitm1 libmpfr4 libquadmath0 libstdc++-4.8-dev libstdc++6
    libstdc++6:i386 libtsan0
    제안하는 패키지:
    gcc-4.8-locales g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
    gcc-4.8-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg
    libasan0-dbg libtsan0-dbg libquadmath0-dbg libstdc++-4.8-doc
    다음 새 패키지를 설치할 것입니다:
    build-essential g++ g++-4.8 gcc-6-base gcc-7-base:i386 libisl15
    libstdc++-4.8-dev
    다음 패키지를 업그레이드할 것입니다:
    cpp-4.8 gcc-4.8 gcc-4.8-base gcc-4.8-base:i386 libasan0 libatomic1
    libgcc-4.8-dev libgfortran3 libgomp1 libitm1 libmpfr4 libquadmath0
    libstdc++6 libstdc++6:i386 libtsan0
    15개 업그레이드, 7개 새로 설치, 0개 제거 및 18개 업그레이드 안 함.
    32.8 M바이트 아카이브를 받아야 합니다.
    이 작업 후 43.4 M바이트의 디스크 공간을 더 사용하게 됩니다.
    계속 하시겠습니까? [Y/n]

라즈베리파이3 설치 및 초기 설정

다음 작업 내용들은 macOS에서 작업한 내용들임을 참고 바랍니다.

  • 라즈비안 이미지 다운로드
  • 이미지 복사
    • NOOBS의 경우에는 MicroSD 카드를 FAT32로 포맷 후 압축파일 내의 내용을 그대로 복사해주기만 하면 됨
    • 라즈비안 이미지 복사
      • MicroSD 카드 연결 후 터미널에서 “diskutil list” 명령으로 디스크 넘버 확인
        $ diskutil list
        /dev/disk0 (internal, physical):
           #:                       TYPE NAME                    SIZE       IDENTIFIER
           0:      GUID_partition_scheme                        *121.3 GB   disk0
           1:                        EFI EFI                     209.7 MB   disk0s1
           2:          Apple_CoreStorage Macintosh HD            120.5 GB   disk0s2
           3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
        
        /dev/disk1 (internal, virtual):
           #:                       TYPE NAME                    SIZE       IDENTIFIER
           0:                            Macintosh HD           +120.1 GB   disk1
                                         Logical Volume on disk0s2
                                         6A953263-DF83-4E41-A54D-4CEED479231A
                                         Unencrypted
        
        /dev/disk2 (external, physical):
           #:                       TYPE NAME                    SIZE       IDENTIFIER
           0:     FDisk_partition_scheme                        *15.9 GB    disk2
           1:             Windows_FAT_32 NO NAME                 15.9 GB    disk2s1
      • 디스크 언마운트 : 절대 데스크탑에서 추출 명령으로 언마운트 하지 말것
        $ diskutil unmountDisk /dev/disk2
        Unmount of all volumes on disk2 was successful
      • dd 명령으로 디스크 이미지 복사
        $ sudo dd bs=1m if=2017-03-02-raspbian-jessie.img of=/dev/rdisk2
        Password:
        4190+0 records in
        4190+0 records out
        4393533440 bytes transferred in 403.586955 secs (10886213 bytes/sec)
  • 라즈비안 GUI 부팅 후 기본 환경 설정(sudo raspi-config)
    1. pi 계정 패스워드 변경
    2. 서버용으로만 사용한다면 부팅 옵션을 GUI 모드가 아닌 CLI 모드로 변경
    3. 자동 로그인은 가능하면 해제
    4. Wi-Fi 지역 제외한 지역 및 시간대 설정을 ‘한국/서울’로. 키보드 역시 ‘한글101/104’ 키보드로 변경
    5. ssh 활성화하고 GUI 환경일 경우에는 vnc도 활성화
  • 기본 환경 설정 후 업데이트
    • 패키지 업그레이드
    • pi@raspberrypi:~ $ sudo apt-get update
      pi@raspberrypi:~ $ sudo apt-get upgrade
    • 배포판 업그레이드
    • pi@raspberrypi:~ $ sudo apt-get dist-upgrade
      pi@raspberrypi:~ $ sudo apt-get autoremove
    • 커널 및 펌웨어 업데이트
    • pi@raspberrypi:~ $ uname -a
      Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l GNU/Linux
      pi@raspberrypi:~ $ sudo rpi-update
       *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
       *** Performing self-update
       *** Relaunching after update
       *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
      This update bumps to rpi-4.4.y linux tree
      Be aware there could be compatibility issues with some drivers
      Discussion here:
      https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087
      ##############################################################
       *** Downloading specific firmware revision (this will take a few minutes)
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100   168    0   168    0     0    157      0 --:--:--  0:00:01 --:--:--   157
      100 52.2M  100 52.2M    0     0   654k      0  0:01:21  0:01:21 --:--:--  543k
       *** Updating firmware
       *** Updating kernel modules
       *** depmod 4.4.46+
       *** depmod 4.4.46-v7+
       *** Updating VideoCore libraries
       *** Using HardFP libraries
       *** Updating SDK
       *** Running ldconfig
       *** Storing current firmware revision
       *** Deleting downloaded files
       *** Syncing changes to disk
       *** If no errors appeared, your firmware was successfully updated to 975ebd8aba11b767e33a178e453c978601f53f1e
       *** A reboot is needed to activate the new firmware
      pi@raspberrypi:~ $ sudo reboot
      
      
      <<<리부팅 후>>>
      
      
      pi@raspberrypi:~ $ uname -a
      Linux raspberrypi 4.4.46-v7+ #959 SMP Fri Feb 3 17:24:25 GMT 2017 armv7l GNU/Linux
  • 한글 입력기 및 폰트 설치(GUI)
  • pi@raspberrypi:~ $ sudo apt-get install ibus ibus-hangul ttf-unfonts-core fonts-nanum
  • APM 설치
  • pi@raspberrypi:~ $ sudo apt-get install apache2 -y
    pi@raspberrypi:~ $ sudo apt-get install php5 libapache2-mod-php5 -y
    pi@raspberrypi:~ $ sudo apt-get install mysql-server php5-mysql -y 1)
  • vsftpd 설치
  • pi@raspberrypi:~ $ sudo apt-get install vsftpd
    pi@raspberrypi:~ $ sudo vi /etc/vsftpd.conf
    listen=YES
    write_enable=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    chroot_local_user=YES
    #listen_port=21
    pi@raspberrypi:~ $ sudo service vsftpd restart

아파치 HTTP 헤더정보 설정(아파치,php 버전 노출 설정)

  • 아파치 설정 중 “ServerTokens” 옵션을 변경
    • 지원 옵션 : Full, OS, Minimal, Minor, Major, Prod
  • 확인 방법 : Telnet으로 httpd 포트 접속 후 헤더확인 값 입력
[root@sv ~]# telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Thu, 17 Mar 2016 00:17:34 GMT
Server: Microsoft-IIS/5.0
X-Powered-By: PHP/5.3.29
Cache-Control: max-age=3, must-revalidate
Expires: Thu, 17 Mar 2016 00:17:37 GMT
Vary: Accept-Encoding,Cookie
Connection: close
Content-Type: text/html; charset=UTF-8

Connection closed by foreign host.
  • 옵션별 출력 내용
    • ServerTokens Full
HTTP/1.1 400 Bad Request
Date: Wed, 16 Mar 2016 04:39:38 GMT
Server: Apache/2.4.18 (Unix) PHP/5.5.33
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
  • ServerTokens OS
HTTP/1.1 400 Bad Request
Date: Wed, 16 Mar 2016 04:41:01 GMT
Server: Apache/2.4.18 (Unix)
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
  • ServerTokens Minor
HTTP/1.1 400 Bad Request
Date: Wed, 16 Mar 2016 04:41:52 GMT
Server: Apache/2.4
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
  • ServerTokens Minimal
HTTP/1.1 400 Bad Request
Date: Wed, 16 Mar 2016 04:42:29 GMT
Server: Apache/2.4.18
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
  • ServerTokens Major
HTTP/1.1 400 Bad Request
Date: Wed, 16 Mar 2016 04:42:58 GMT
Server: Apache/2
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1
  • ServerTokens Prod
HTTP/1.1 400 Bad Request
Date: Wed, 16 Mar 2016 04:43:33 GMT
Server: Apache
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

php-xcache 설치

  • Xcache 설치시 다음 명령어/옵션 참고
[root@sv ~/src/rpm-linux64]# cd /root/src/
[root@sv ~/src]# wget http://xcache.lighttpd.net/pub/Releases ... 2.0.tar.gz
[root@sv ~/src]# tar xzf xcache-3.2.0.tar.gz
[root@sv ~/src]# cd xcache-3.2.0
[root@sv ~/src/xcache-3.2.0]# /usr/local/bin/phpize --clean && /usr/local/bin/phpize
[root@sv ~/src/xcache-3.2.0]# ./configure --with-php-config=/usr/local/bin/php-config --enable-xcache --enable-xcache-constant --enable-xcache-optimizer --enable-xcache-coverager --enable-xcache-assembler --enable-xcache-encoder --enable-xcache-decoder --enable-static=yes -enable-fast-install=yes
[root@sv ~/src/xcache-3.2.0]# make
[root@sv ~/src/xcache-3.2.0]# make test
[root@sv ~/src/xcache-3.2.0]# make install
[root@sv ~/src/xcache-3.2.0]# cat xcache.ini >> /usr/local/lib/php.ini
[root@sv ~/src/xcache-3.2.0]# php -v
PHP 5.5.33 (cli) (built: Mar 15 2016 18:01:20)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Optimizer v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Coverager v3.2.0, Copyright (c) 2005-2014, by mOo
  • 설치 후 반드시 아파치 재시작해야 적용됩니다.
  • phpize,php-config 위치 등은 서버 상황에 맞춰 변경해야 합니다.
  • 설치 테스트 환경은 CentOS 6.6 x86_64, httpd 2.4.18, php 5.5.33 입니다.
  • 다운로드 파일 버전은 Xcache Release Archive에서 확인

AH00534: httpd: Configuration error: No MPM loaded.

AH00534: httpd: Configuration error: No MPM loaded.

아파치 2.4에서 MPM 모듈 로딩 설정이 안되어 있을 경우.
httpd.conf 파일에서 다음 내용 확인하여 필요한 방식의 모듈을 주석 제거.

#LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

AH00548: NameVirtualHost has no effect and will be removed in the next release

AH00548: NameVirtualHost has no effect and will be removed in the next release /usr/local/apach

아파치 2.4 이전 버전에서 가상호스트 설정시 가장 먼저 선언하던 “NameVirtualHost” 구문이 더 이상 효과가 없고, 다음 릴리즈에서는 제거될 예정이다라는 단순 경고 메시지. 실제 아파치 실행에는 문제가 없음
가상호스트 설정 내용중에서 NameVirtualHost *:80과 같은 구문을 주석처리할 경우 메시지가 사라지는 것을 확인할 수 있다.

virsh console 로 접속 후 빠져나오기(exit)

다음과 같이 virsh console 명령으로 게스트OS에 접속후 빠져나오기가 다소 난감한 경우가 생긴다.

[root@hostsvr ~]# virsh console abcd
Connected to domain abcd
Escape character is ^]

CentOS release 5.10 (Final)
Kernel 2.6.18-308.8.1.el5xen on an x86_64

abcd.cafe24.com login:

이런 경우에는 Ctrl+5 혹은 Ctrl+] 키명령으로 빠져나올 수 있다.

SuperUser.com 에서의 답변 내용들을 보면, 사용하는 키보드나 OS의 언어 종류에 따라서 키조합들이 다양한것 같다.

crontab 수정 후 bad minute 에러

리눅스에서 “crontab -e” 실행하여 편집 후 저장하려 할 때 다음과 같은 에러 메시지가 출력되는 경우가 있다.

crontab: installing new crontab
"/tmp/crontab.XXXXScNhd2":3: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit?

이러한 에러가 발생할 경우 체크리스트는 다음과 같다.

  1. crontab 내용 중 문법 오류는 없는지 확인. (무시하고 넘어갈 가능성이 가장 많으므로 꼼꼼히 확인)
    • 위의 에러 내용에서 두번째 줄 "/tmp/crontab.XXXXScNhd2":3: bad minute 내용 중 가운데 숫자 ‘3’이 문법 에러가 발생한 줄
  2. DOS 스타일의 엔딩라인(^M$)이 들어간 경우
    • 확인 : cat -v -e -t /var/spool/cron/_username_
    • 변환 : dos2unix /var/spool/cron/_username_

logrotate 파일명에 날짜 삽입

리눅스에서 logrotate 프로세스가 동작하게 되면 일반적으로 파일명을 기존 파일명 뒤에 .1,.2와 같은 형태로 덧붙이게 된다.(CentOS 7 버전 등 최근 배포판에서는 날짜로 변경된듯)

이를 알아보기 힘든 .1과 같은 형태 대신 -20150919와 같은 날짜형식으로 변경을 하려고 한다면,

/etc/logrotate.conf 파일에 다음과 같은 내용을 추가해주면 된다.(이미 항목이 존재할 경우 주석 제거)

# use date as a suffix of the rotated file
dateext

libwrap refused connection to nrpe (libwrap=nrpe) from

nagios 서버에서 호스트에 대한 체크가 정상적으로 이루어지지 않고, 시스템로그에 다음과 같은 메시지가 확인된다면,

xinetd[30023]: libwrap refused connection to nrpe (libwrap=nrpe) from AIX IP

다음 두가지 포함하여 보안 설정에서 nagios 서버에 대한 허용설정이 되어 있는지 확인.

  1. iptables 설정 확인
  2. /etc/hosts.allow,/etc/hosts.deny 설정 확인

리눅스에서 메일 발송 관련 문제 확인/처리

리눅스 서버에서 메일 발송과 관련한 문제가 생기면 다음과 같이 확인 진행하시기 바랍니다.

  1. sendmail 실행되어 있는지 확인 : 실행되어있지 않으면 실행, 설치안되어 있으면 설치 후 실행
  2. sendmail 실행되어있으면 telnet 이용하여 메일 발송 테스트
    1) /var/log/maillog 확인하여 정상 발송되는지 확인
    2) 정상 발송되지 않는다면 에러메시지에 따라 처리
    3) 테스트 명령 : echo “Email test body” | mail -s “Email test subject” “YOURMAIL@gmail.com”
  3. telnet 발송 테스트가 정상으로 확인되면 php 발송 테스트 진행
    1) php 발송테스트도 마찬가지로 /var/log/maillog 및 아파치 로그 확인
    2) 발송 실패되었으나 maillog에 로그가 남지 않는다면 php-sendmail 연동 문제
    3) maillog에 로그 확인되면 로그에 따라 처리. 권한 문제인 경우 /usr/sbin/sendmail.sendmail 파일의 퍼미션 문제일 가능성이 높음
  4. php-sendmail 연동 문제일 경우 php.ini 설정에서 sendmail_path 항목 확인
    1) 필요한 경우 “sendmail_path = /usr/sbin/sendmail -t -i”으로 변경
  5. 권한 문제인 경우 /usr/sbin/sendmail.sendmail 파일의 퍼미션이 -rwxr-sr-x 인지 확인하고 필요시 변경

리눅스 GPT 삭제 방법

  • 디스크에 GPT 설정이되어 있을 경우 fdisk에서 다음과 같이 GPT 지원이 안된다는 메시지가 출력된다.
    WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
  • GPT 파티션과 관련된 부분은 fdisk가 아닌 parted 유틸을 사용해야 제어가 가능한데,
  • GPT 파티션을 삭제하려고 한다면 다음과 같이 진행하면 된다.
# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
parted: invalid token: msdos
Yes/No? y
New disk label type? [msdos]?
(parted) quit
Information: Don't forget to update /etc/fstab, if necessary.
  • fdisk로 디스크 리스트를 출력해보면 위의 WARNING 메시지가 사라진 것을 확인할 수 있다.
  • GPT 삭제 작업후에는 데이터는 물론 모든 파티션 설정이 삭제되므로 주의해서 작업을 진행하고, 작업 후 파티셔닝 부터 포맷 작업을 다시 해주어야 한다.

CentOS/RHEL 7에서 rc.local 실행되지 않을 때

CentOS/RHEL 7에서는 기본적으로 부팅시에 rc.local파일이 실행되지 않는다.
부팅할 때 rc.local 파일도 실행되도록 하고 싶다면,
/etc/rc.d/rc.local 파일의 퍼미션을 확인해보시길…
최소한 다음과 같이 유저실행 권한을 부여해줘야 다음 부팅시에도 적용된다.

chmod u+x /etc/rc.d/rc.local

혹은

chmod 755 /etc/rc.d/rc.local

Unit vsftpd.service entered failed state

리눅스에서 vsftpd 데몬을 실행하는데 정상적으로 실행되지 않고, 시스템로그 등에 다음과 같은 메시지가 확인된다면,

Failed to start Vsftpd demon
Unit vsftpd.service entered failed state

vsftpd.conf 파일 내용 중 ‘listen_ipv6’ 값을 NO 로 변경하거나 주적처리하고 실행해보시길…