서버에 패키지 설치를 하면서 뭐가 잘못됐는지 갑자기 bash 쉘에서 한글이 ???? 로 나오는 문제가 생겼습니다.

 

아래와 같이 커맨드를 locale -a 실행해보니 한글이 빠져 버렸습니다.

 

[user@server ~]$ locale -a 
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

 

아래 명령어로 다시 설치해줍니다. 패키지를 못 찾을 경우 apt-get update 를 해주고 install을 해봅니다.

 

sudo apt-get install language-pack-ko language-pack-ko-base language-pack-gnome-ko language-pack-gnome-ko-base

 

다시 명령을 실행해서 보면 ko_KR.utf8 이 추가된 것을 볼 수 있습니다. 다시 ls -al 명령으로 보면 한글 파일들 이름이 제대로 보입니다.

 

[user@server ~]$ locale -a 
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
ko_KR.utf8
POSIX
728x90
반응형
youtube-dl  --extract-audio --audio-quality 0 --audio-format mp3 --cache-dir /tmp/ --ffmpeg-location /usr/bin/ -o "./%(id)s.%(ext)s" -f "251" 'youtube 주소' 

--audio-quality :  (VBR) 0~9. 0이 음질 가장 좋음 /  (CBR) 128k 와 같이 직접 지정

-f : 오디오를 추출할 format code 지정

 

youtube-dl -F '유튜브 주소'  를 이용해서 지원하는 모든 포맷을 볼 수 있다.

 

 

* 참고

stackoverflow.com/questions/49804874/download-the-best-quality-audio-file-with-youtube-dl

728x90
반응형

14.04에서 18.04로 업그레이드하니 많은 부분이 바뀌었습니다.
DNS 서버 관련된 부분이 systemd 의 resolved 를 이용하는 것 같습니다.

 

/etc/resolv.conf 를 보면 nameserver 127.0.0.53 이라고 되어 있는데, systemd에 포함된 resolved  DNS 서버에 요청하게 된다는 의미입니다. DHCP로 설정해서 아이피를 자동으로 받아 올 경우 DHCP서버에 설정된 DNS서버 정보를 받아오지만 고정 IP를 쓸 경우 따로 설정을 해주어야 합니다.

 

/etc/systemd/resolved.conf 를 아래와 같이 수정해 주었습니다. 공백으로 구분해서 DNS=에 두개의 서버를 추가했습니다.

[Resolve]
DNS=8.8.8.8 8.8.4.4
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

기본적으로 구글 DNS서버를 사용하게 했습니다. 
FallbackDNS 서버부분에 다른 DNS서버를 추가하면 DNS=에 나열된 서버에서 도메인 정보를 얻지 못할 경우 FallbackDNS 서버에서 도메인 정보를 얻게 됩니다.

루트권한으로 resolved를 재시작 해줍니다.

systemctl restart systemd-resolved

 

systemd-resolve --status 명령어로 설정을 확인합니다.

Global
         DNS Servers: 8.8.8.8
                      8.8.4.4
.........

 

 

nslookup 명령어로도 확인 가능합니다. resolved 에서 도메인 정보를 얻어왔음을 알 수 있습니다.

nslookup tistory.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	tistory.com
Address: 211.231.108.151

 

 

/etc/resolvconf/resolv.conf.d/tail 에 원하는 DNS 서버 설정을 추가하고 재부팅 해주면 /etc/resolv.conf 에 추가를 해줍니다.

예를 들어, tail 파일에 아래를 추가하고 재부팅하면

nameserver 168.126.63.1

 

/etc/resolv.conf 가 아래와 같이 바뀌게 됩니다. 127.0.0.53 (resolved) 에서 실패하면 168.126.63.1에서 도메인 정보를 얻어옵니다.

nameserver 127.0.0.53
nameserver 168.126.63.1

head, tail 파일을 이용하면 resolved 와의 우선순위를 조정할 수 있을 것 같습니다.

 

 

* http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html

 

 

 

728x90
반응형

버그질라도 업그레이드 해주었습니다. 아래 링크의 "2.7.2.3. Upgrading using the tarball" 방식으로 진행하였습니다.

 

https://www.bugzilla.org/docs/4.2/en/html/upgrade.html

 

Upgrading to New Releases

Upgrading to new Bugzilla releases is very simple. There is a script named checksetup.pl included with Bugzilla that will automatically do all of the database migration for you. The following sections explain how to upgrade from one version of Bugzilla to

www.bugzilla.org

 

 

 

문제 1:  .htaccess overide 문제

apache2 로그에를 보면  .htaccess: Require not allowed here 와 같은 에러가 나옵니다.

AllowOverride 부분에 AuthConfig 를 추가 해주면 됩니다.

 

문제 2 :버그질라 접속시 스킨없이 텍스트만 나오는 경우

apache2 로그를 보면 AH01797: client denied by server configuration: /.../bugzilla/data/assets/2f5735cf3abd04bddc8e363a8613a9f5.css 와 같은 로그가 있습니다.

 

https://www.bugzilla.org/releases/5.0.2/release-notes.html 의 Updates in this 5.0.x Release > 5.0.2 부분에 관련 이슈가 있습니다.

버그질라 디렉토리에서 아래 명령을 실행해줍니다.

find . -mindepth 2 -name .htaccess -exec rm -f {} \;
./checksetup.pl
728x90
반응형

ubuntu를 18.04로 업그레이드하면서 php버전이 7.2.x 로 올라갔습니다.

기존에 설치되어 있던 미디어 위키 페이지에 접속하니 아래와 같은 에러가 발생하고 페이지가 열리지 않습니다.

 

 [php7:error] [pid 12782] [client XXX] PHP Fatal error:  Uncaught TypeError: Argument 1 passed to wfReportException() must be an instance of Exception, instance of Error given, called in /...../includes/Exception.php on line 348 and defined in /...../includes/Exception.php:285\nStack trace:\n#0 /...../includes/Exception.php(348): wfReportException(Object(Error))\n#1 [internal function]: wfExceptionHandler(Object(Error))\n#2 {main}\n  thrown in /....../includes/Exception.php on line 285

 

미디어 위키 버전을 올려 주어야 합니다. 아래 페이지를 참고하고 진행했습니다.

 

https://www.mediawiki.org/wiki/Manual:Upgrading/ko

 

메뉴얼:업그레이드 - MediaWiki

기본 개요 파일 전송 다음 중 파일을 전송할 방법을 선택하십시오. 준비단계 미디어위키에 포함된 UPGRADE 텍스트 문서를 읽으십시오. 요구사항을 확인 배포 통지문을 읽기 기존 파일과 데이터 베이스를 백업 새 파일의 압축을 풀기 확장 프로그램을 업그레이드 업데이트 스크립트를 사용하여 데이터베이스를 확인하시오 업데이트를 시험해 보시오. Remove leftovers from old installations 요구사항 확인하기 미디어 위키1.34는 다음 사항을

www.mediawiki.org

 

 

 

크게, 아래의 순서로 진행됩니다.

1. 만일의 사태를 대비해서 사용중이던 DB 백업

2. apache2 관련 모듈 설치 및 재시작

3. mediawiki 다운로드 하고 LocalSettings.php 카피

4. LocalSettings.php 수정

 

1. DB 백업 : 만일의 사태를 대비한 것이니 꼭 백업해 둡니다.

mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml

 

2. 아래 커맨드로 아파치2 관련 모듈을 설치해줍니다.

sudo apt-get install -y imagemagick php7.2-fpm php7.2-intl php7.2-xml php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql php7.2-mysql php-apcu php7.2-zip
sudo apache2 restart

3. 미디어위키 최신버전을 다운 받고, 기존 설정을 카피 해줍니다.

wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.1.tar.gz
tar xvzf mediawiki-1.34.1.tar.gz

# 적당한 폴더로 이름 변경합니다.
mv mediawiki-1.34.1 wiki-new
cd wiki-new


# 압축을 풀면 images 폴더가 보이는데, images-new 로 백업해 둡니다.
mv images images-new
# 기존에 사용중이던 images 폴더를 가져옵니다. 
cp -r ../wiki-old/images/ .
# 권한을 수정합니다.
find images -type -d | xargs chmod 777
# htaccess 파일을 가져옵니다.
cp images-new/.htaccess images/

# 기존에 사용중이던 LocalSettings.php 파일을 가져옵니다.
cp ../wiki-old/LocalSettings.php .

4. LocalSettings.php 파일 수정 및 업데이트

$wgServer  = "https://URL:PORT";  
를 추가합니다. 저는 $wgSitename 앞에 추가해 주었습니다.

$wgDefaultSkin = "monoblock"; 뒤에 아래를 추가합니다. 

wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );

저장하고, 나옵니다. 아래 update.php 를 실행하면 업데이트가 진행됩니다.

cd maintenance
php update.php


마지막에 "Done in 29 s." 이렇게 나오면 성공한 것입니다.

 

 

모든 작업이 완료되었으니 이제 사이트에 접속해보면 됩니다 !!

 

LocalSettings.php 마지막에 아래  설정을 추가하면 문제 발생시, 디버깅에 필요한 자세한 정보를 얻을 수 있습니다.

 

$wgShowExceptionDetails = true;

 

 

* DB 연결이 안될 경우 아래 명령을 실행해줍니다.

sudo php5enmod mysql

sudo service apache2 restart

728x90
반응형

18.04 LTS 업그레이드 후, 몇가지 문제가 생겼는데 두번째 문제입니다.

우분투 PC 에서 삼바로 파일을 공유하는데, 네트워크 상에 우분투 PC가 동일 이름으로 두번 나오는 문제가 있었습니다.

 

/etc/samba/smb.conf 의 [global] 섹션에 아래 설정을 추가하고 samba를 재시작해주면 됩니다.

 

multicast dns register = No

 

 

 

 

 

아래 명령어로 재시작합니다.

 

service smbd restart

 

 

* https://askubuntu.com/questions/1138394/seeing-ubuntu-server-19-04-twice-on-clients-probably-avahi-mdns-issue

 

728x90
반응형

오래전 설치한 우분투 리눅스 업그레이드를 해보았습니다. 16.04도 아직 지원이 되는 버전이지만 내년에 종료되서 18.04로 업그레이드 합니다.

 

https://ubuntu.com/about/release-cycle

 

Ubuntu release cycle | Ubuntu

Overview of the Ubuntu release cycle - maintenance, support and security coverage, lifetime, upgrade paths, kernel versions and the range of editions and images published by Canonical.

ubuntu.com

 

14.04 LTS 를 사용중이었는데, do-release-upgrade 명령어를 이용하며 진행하였습니다. 루트 권한으로 실행합니다.

 

14.04 -> 16.04 업그레이드가 먼저 진행되었고 아무 문제없이 부팅이 되었습니다. 직접 수정한 패키지의 설정 파일은 그대로 유지해 주었습니다.

 

 

재부팅후 다시한번 do-release-upgrade 명령어로 16.04 -> 18.04 로 업그레이드 합니다.

완료후, 재부팅하려고 하니 systemd 관련 에러로 부팅이 안됩니다. ㅠㅠ

아래 링크 덕분에 해결 완료! 

https://blog.b-nm.at/2019/02/01/ubuntu-18-04-lts-not-booting-after-update/

 

728x90
반응형

https://launchpad.net/~nickmoline/+archive/ubuntu/php55

 

PHP 5.5 for Precise PPA : Nick Moline

 

launchpad.net

 

sudo add-apt-repository ppa:nickmoline/php55

sudo apt-get update

sudo apt-get install php5

 

 

728x90
반응형

리눅스에서 사용 가능한 서브타이틀 편집기 입니다.


GUI 를 통해서 편하게 편집 가능합니다.


아래와 같이 설치 가능합니다.


sudo apt-get install subtitleeditor


728x90
반응형

* 분할

split -b 4096m BIGFILE BIGFILE_PREFIX

BIGFILE 을 4GB 단위로 자른다.

BIGFILE_PREFIXaa, BIGFILE_PREFIXab, BIGFILE_PREFIXac ... 와 같이 파일이 생성된다.


* 합치기

cat BIGFILE_PREFIX* > BIGFILE

728x90
반응형
윈도우+리눅스 멀티 부팅 상태에서 윈도우 재설치 후, 리눅스 멀티 부팅을 복원하는 방법이다.

live CD로 부팅한 후에 터미널에서 아래 명령어를 실행하고 재부팅 하면 된다.
 
$ sudo grub
   grub > root  (sd0, 6)
   grub > setup  (sd0)
  grub > quit

/dev/sda7에 루트(/) 파티션이 있는 경우이다. 만약 sda2에 있다면 sd0,1이 될 것이다.



아래와 같이 MBR 백업 후에, 복원하는 방법도 있다.
dd if=/dev/sda of=mbr count=1 size=512
dd if=mbr of=/dev/sda

=========

우분투의 경우 아래 링크처럼 복구 할수도 있다.


728x90
반응형

smartctl 명령을 이용하면 된다.



apt-get install smartmontools


smartctl --all /dev/sda



RAW_VALUE 값을 보면 됩니다.



  9 Power_On_Hours          0x0012   089   089   000    Old_age   Always       -       5079 => 5079 시간동안 동작했다는 의미


 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       147 => 147 회 전원이 인가됐었다는 의미


194 Temperature_Celsius     0x0002   162   162   000    Old_age   Always       -       37 (Min/Max 17/47) => 현재 온도가 37도이고, 최대 47도까지 올라갔었다는 의미







출처 : http://ubuntuforums.org/showthread.php?t=1912024

728x90
반응형


현재 폴더에 .ctagsignore 파일을 만들고 무시할 디렉토리 경로들을 줄 단위로 써준다. 한줄에 하나씩 쓰면되고, 무시할 경로를 모두 적어주어야 한다. 특정 폴더 전체를 무시하고 싶으면 하위 폴더들도 나열해 주어야 한다.


dirA

dirA/subA

dirA/subB

dirA/subB/subC

dirB

....


그리고 아래 명령을 실행한다.


ctags -R --exclude=@.ctagsignore .



http://stackoverflow.com/questions/25819649/exuberant-ctags-exclude-directories




728x90
반응형

http://10wontips.blogspot.kr/2014/09/convert-between-srt-smi-subtitles-on.html


$ sudo apt-get install libsubtitles-perl


1. SMI -> SRT
$ subs -c srt filename.smi -o filename.srt

2. SRT -> SMI
$ subs -c smi filename.srt -o filename.smi


인코딩 변환은 iconv 를 이용하면 됩니다.




728x90
반응형

Fedora 에서 vim 으로 디렉토리를 제대로 열지 못하는 문제가 있어서 구글링해보니 netrw 플러그인 버그인 것을 알았다.


netrw.vim : Network oriented reading, writing, and browsing


에서 내 vim 에 맞는 적당한 버전을 설치하면 된다.


vim netrw.vba.gz 
:so % 
:q 



생각없이 최신버전을 설치했더니 디렉토리가 열리긴 하는데 폴더를 이동할때마다 에러 메세지가 떠서 귀찮았다.




VIM - Vi IMproved 7.4 에는 스크립트 버전 147로 해야 잘 동작한다.

728x90
반응형

+ Recent posts