아래 명령어를 이용하면 확인이 가능함.

1. HDD의 경우

cat /sys/block/sda/queue/rotational 명령을 실행한 결과가 1

2. SSD의 경우

cat /sys/block/sda/queue/rotational 명령을 실행한 결과가 0

커널 2.6.29 이상부터 가능.


mount된 디렉토리를 umount 하고자 할 때, 만약 특정 사용자 & 프로세스가 해당 디렉토리를 사용하고 있으면

"device is busy" 메세지가 발생하며 umount 가 되지 않습니다.

이 경우 umount를 위해 해당 프로세스를 강제로 kill 하는 방법은 아래와 같습니다.

# fuser -ck 마운트디렉토리

ex) fuser -ck /backup

위 명령으로 프로세스를 kill 하고 umount를 재시도하면 정상적으로 mount가 해제 됩니다.

* 해당 디렉토리를 사용하는 사용자가 누구인지 확인하고 싶을 때
# fuser -cu /backup

출처 : http://faq.hostway.co.kr/Linux_ETC/4209

 

페이지 수정 후 업데이트 했는데 수정된 부분이 업데이트 안되는 경우가 있습니다.


보통 호스팅 하드 용량이 꽉찬 경우, 업데이트가 안되는 경우가 있고요,


max_input_vars 가 1000으로 설정되어 있는데 너무 적어서 전송이 안되는 경우가 있습니다.



이럴때는 php.ini 파일을 수정해줘야 하는데, 웹호스팅 받는 경우 권한 오픈이 안되므로

.htaccess 파일을 수정해서 늘려줍니다.


파일 맨위에 아래 내용 추가하면 됩니다.


php_value max_input_vars 6000




카페24 호스팅 기준으로 보면 www폴더안에 있는 .htaccess파일입니다.

 

출처 : https://m.blog.naver.com/gizmo90/220750057322


 

yum 패키지 관리자는 패키지 설치/삭제를 트랜잭션으로 관리하므로 예전 패키지 설치 상태로 되돌릴 수 있는 방법을 제공하고 있습니다.


yum 을 통해 패키지 설치, 변경, 삭제로 인해 내부 저장소가 변경되는 작업을 트랜잭션(transaction)이라고 하며 CentOS 6 에 내장된 yum 부터는 트랜잭션 내역을 확인하고 rollback 을 할 수 있습니다. 


트랜잭션 목록 보기

yum history 명령을 옵션없이 실행하거나 옵션에 list 를 주면 최근 트랜잭션 목록을 볼 수 있습니다.

# yum history list


ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
24 | lesstif <lesstif> | 2017-07-12 12:02 | Install | 5
23 | lesstif <lesstif> | 2017-06-28 11:38 | Install | 1
22 | lesstif <lesstif> | 2017-06-28 11:11 | Install | 15
21 | lesstif <lesstif> | 2017-06-28 11:11 | Erase | 6 EE
20 | lesstif <lesstif> | 2017-06-28 10:57 | Install | 1 EE
19 | lesstif <lesstif> | 2017-06-28 10:57 | Install | 1
18 | lesstif <lesstif> | 2017-06-19 09:30 | Install | 6
17 | lesstif <lesstif> | 2017-06-19 09:21 | I, O, U | 255 EE
16 | lesstif <lesstif> | 2017-06-19 09:18 | Install | 1
15 | lesstif <lesstif> | 2017-06-19 09:16 | I, U | 8
14 | root <root> | 2015-01-30 04:12 | Install | 3

yum history list 실행 결과

ID는 트랜잭션 번호를 의미하며 수차적이므로 총 24번의 트랜잭션이 있었음을 나타내며 Action 은 실행한 행동이며 Altered 는 트랜잭션에 의해 변경된 패키지의 갯수를 나타냅니다.


이력에 표시되는 모든 Action 항목은 아래 표에 있으며 여러 개의 Action 이 있었을 경우 I,U 같이 축약어로 표시됩니다.

Action
축약어
의미
Downgrade D 최소 한개의 패키지가 예전 버전으로 다운그레이드됨.
Erase E 최소 한개의 패키지가 삭제됨.
Install I 최소 한 개의 패키지가 설치됨.
Obsoleting O 최소 한개의 패키지가 obsolete 로 표시됨.
Reinstall R 최소 한개의패키지가 재설치됨.
Update U 최소 한개의 패키지가 새로운 버전으로 업데이트됨.
가능한 Action

Altered 필드는 변경된 패키지의 숫자와 변경 내역에 대한 기호가 표시되며 각 기호의 의미는 다음과 같습니다.

기호
의미
< 트랜잭션이 완료되기 전에 rpmdb 데이타베이스가 yum 이 아닌 외부에서 변경됨.
> 트랜잭션이 완료된 후에 rpmdb 데이타베이스가 yum 이 아닌 외부에서 변경됨.
* 트랜잭션을 종료하지 못함
# 트랜잭션이 성공적으로 종료되었지만 yum 이 0 아닌 종료 코드를 전달함.
E 트랜잭션이 성공적으로 종료되었지만 에러나 워닝이 표시됨.
P 트랜잭션이 성공적으로 종료되었지만 rpmdb 데이타베이스에 문제가 계속 존재함.
s

트랜잭션이 성공적으로 종료되었지만 --skip-broken 옵션을 사용하였으므로 어떤 패키지는 건너뜀.

Alteted 필드 의미

ID 가 24 번인 트랜잭션의 경우 Acton 이 Install 이고 Altered 항목이 5 이므로 5개의 패키지를 설치했다는 뜻입니다.

ID 가 21인 작업의 경우는 6개의 패키지를 삭제했다는 로그이며 17번인 트랜잭션은 I, O, U 이므로 설치와 업데이트를 했고 몇몇 패키지는 이제는 불필요(Obsolete)해졌다는 의미입니다.


자세한 정보 보기

해당 트랜잭션의 자세한 정보를 보고 싶으면  info 명령어 뒤에 트랜잭션 id 를 적어주면 되며  독자들도 사용하고 있는 리눅스 시스템의 트랜잭션 목록에서 상세 작업 이력을 확인해 보기 바랍니다.

아래는 22 번 트랜잭션의 상세 내용을 보는 예제입니다.

yum history info 22


Transaction ID : 22
Begin time : Wed Jun 28 11:11:52 2017
Begin rpmdb : 378:16ce599ad759e8435336997b266340324c5b0671
End time : 11:11:55 2017 (3 seconds)
End rpmdb : 393:3035f14323d91e76579575a07b6b2c04986f7800
User : lesstif <lesstif>
Return-Code : Success


Command Line : install php70w-cli php70w-common php70w-gd php70w-mbstring php70w-mysqlnd php70w-pdo php70w-fpm php70w-xml


Transaction performed with:
Installed rpm-4.11.3-21.el7.x86_64 @base
Installed yum-3.4.3-150.el7.centos.noarch @base


Packages Altered:
Dep-Install libX11-1.6.3-3.el7.x86_64 @base
Dep-Install libX11-common-1.6.3-3.el7.noarch @base
Dep-Install libXau-1.0.8-2.1.el7.x86_64 @base
Dep-Install libXpm-3.5.11-3.el7.x86_64 @base
Dep-Install libjpeg-turbo-1.2.90-5.el7.x86_64 @base
Dep-Install libpng-2:1.5.13-7.el7_2.x86_64 @base
Dep-Install libxcb-1.11-4.el7.x86_64 @base
Install php70w-cli-7.0.20-1.w7.x86_64 @webtatic

강조한 부분처럼 해당 트랜잭션으로 실행한 명령어 및 변경된 패키지의 자세한 정보를 알수 있습니다.


되돌리기(Undo)

"history undo ID" 명령어로 특정 트랜잭션을 되돌릴 수 있으며 되돌리기 작업은 수행한 트랜잭션을 이전 상태로 되돌리는 것이므로 작업한 내용과 반대의 작업을 수행하게 됩니다.


즉 트랜잭션이 패키지 설치라면 해당 트랜잭션에서 설치된 패키지는 삭제되고 트랜잭션이 패키지 삭제라면 삭제한 패키지는 설치됩니다.

되돌리기도 새로운 트랜잭션이므로 성공적으로 종료되었을 경우 별도의 트랜잭션 ID 를 갖게 되므로 전체 트랜잭션 ID 는 1 이 증가됩니다.

독자들도 수행한 트랜잭션중에 하나를 골라서 되돌리기 작업을 수행해 보기 바랍니다.


다음은 필자의 리눅스 시스템의 마지막 트랜잭션(ID: 24)을 되돌리는 예제입니다.

yum history undo 24


되살리기(Redo)

"yum history redo ID" 명령어로 특정 트랜잭션을 되살릴 수 있습니다.

위에서 24번 트랜잭션으로 5개가 설치되고 트랜잭션 되돌리기로 삭제되었습니다. 이제 24번 트랜잭션에서 설치한 패키지를 재설치하려면 "yum history redo 24" 명령어로 24번 트랜잭션을 되살릴 수 있습니다.

이 작업은 25번 트랜잭션을 되돌리는 "yum history undo 25" 번과 비슷한 결과를 가져오게 됩니다.

 

출처 : https://www.lesstif.com/pages/viewpage.action?pageId=43844113

'Works > CentOS & RockyLinux' 카테고리의 다른 글

디스크가 HDD인지 SSD인지 확인하기  (0) 2018.10.24
강제 umount 방법 (umount : device is busy 발생시)  (0) 2018.10.22
CentOS7 Locale설정  (0) 2018.05.29
SFTP log 설정  (0) 2018.02.22
dig 개념 및 사용법  (0) 2017.11.01

'개인용' 카테고리의 다른 글

소득금액증명원 홈텍스에서 발급신청하기  (0) 2017.11.22
연봉 실수령액표  (0) 2017.01.26
티스토리 A레코드 IP  (0) 2015.10.28


html 문서 내에 php 코드를 입력하여 결과를 보려는데 해당 결과가 화면에 출력이 안될 때

이경우는 웹서버의 설정(httpd.conf)  에 AddType application/x-httpd-php .html .htm

를 추가해 주면 인식이 된다.

* 계정별로 별도로 적용하고 싶다면 .htaccess 파일내에 위의 구문을 넣고 유저 디렉토리에 넣어주면
  적용된다.


CentOS 5 버전에서 더이상의 업데이트 지원이 중단된 시점에 아래와 같은 오류가 발생할 때는

# yum install packagename    
gpg key retrieval failed errno 14 http error 404 not found


yum install이 안되면서 gpg key retrieval failed errno 14 http error 404 not found 이런 에러가 나는 경우 해결책이다.


# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

gpg key라는 CentOS RPM signing key가 없으므로 이를 받아온 뒤에 yum 명령어를 실행하면 잘 될꺼다!


밑의 링크 두군데 중 한개를 import 하면 된다!



출처: http://junp.tistory.com/155?category=325188 [Software Engineer in Park]


Mysql 4.0 ( euc_kr ) 환경에서 Mysql 5.x ( UTF-8) 환경으로 데이터 이전시

레코드에 포함된 한글 문자열이 모두 깨져서 입력된 경우 이를 올바르게

처리했던 성공사례를 기록한다.

A서버 (Mysql 4.0)

mysqldump -u root -p --default-character-set=euc_kr DB명 > DB명.sql

scp 명령을 이용하여 B서버 (Mysql 5.x) 로 파일 복사

B서버 (Mysql 5.x)

vi 에디터로 sql 파일 내의 TYPE=MyISAM 을 ENGINE=MyISAM 으로 모두 치환

iconv -c -f CP949 -t UTF-8 DB명.sql > DB명_UTF8.sql

CP949 언어셋에 대한 상세 내용은 아래 링크 참조

https://ko.m.wikipedia.org/wiki/%EC%BD%94%EB%93%9C_%ED%8E%98%EC%9D%B4%EC%A7%80_949

새롭게 생성된 UTF-8용 sql 파일을 B서버의 DB명 에 import 시킨 후 phpmyadmin 과 같은

프로그램에서 문자열이 깨지지 않는지 체크해 본다.


cgi 기반의 프로그램 실행시 Internal Server Error 가 발생하여

로그를 확인해보니 아래와 같은 에러 메시지가 발견되었다.

error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

이런 경우

yum -y install compat-libstdc++-296

해주면 정상적으로 cgi가 실행될 것이다.


 

tail -f /var/log/maillog 를 실행 하고, outlook에서 로그인메뉴에서 계속 권한 요청이 반복되는 오류를 확인
아래와 같은 오류 발생

localhost dovecot: pop3-login: Login: user=<abc>, method=PLAIN, rip=115.68.62.13, lip=192.168.1.24, mpid=27289
localhost dovecot: pop3(abc): Error: chown(/home/abc//mail/.imap/INBOX, -1, 12(mail)) failed: Operation not permitted (egid=501(abc), group based on /var/mail/abc)

localhost dovecot: pop3(abc): Error: mkdir(/home/ponstory//mail/.imap/INBOX) failed: Operation not permitted
localhost dovecot: pop3(abc): Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2014-01-12 16:16:38]
localhost dovecot: pop3(abc): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0

해결
/var/mail 밑에 계정들에 대한 권한은 chmod를 이용해 0600으로 변경한다.
ex)chmod 0600 변경할 계정 입력