에러 문구

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

해결

sshd_config 파일에 아래 내용 주석 제거

vi /etc/ssh/sshd_config

 

PermitRootLogin yes

PasswordAuthentication yes

 

저장 이후 sshd재시작

service sshd restart

 

참고

https://algo79.tistory.com/entry/Permission-denied-publickeygssapi-keyexgssapi-with-mic-for-centos69

실행중인 프로세스가 갑자기 죽으며 Core 파일이 생성

Core 파일이 계속 생성되는 경우 Disk Full로 장애 발생

Core 파일 분석 후 이슈를 해소하여 시스템 안정성 확보 

Core 파일 생성을 위한 설정

1. ulimit -c unlimited
2. ulimit -a 로 확인
- 'core file size          (blocks, -c) unlimited' 면 설정 완료
- 만약 core file의 size를 제한하고 싶다면 'unlimited'가 아닌 kb단위의 size를 지정해주면 된다.

분석 방법

1. debug 대상 파일 확인

프로그램이 여러개가 돌고 있는 환경이라면 특정 dump가 어떤 프로그램이 만든것인지 확인 필요

file [core dump file]

* /proc/sys/kernel/core_pattern 에서 정의된 형태로 생성

   %p : pid

   %u : uid

   %g : gid

   %s : signal number

   %t : dump time(unix)

   %h : hostname

   %e : process

 

2. debugging

gdb [core발생 프로그램] [core file]

이후, gdb interface로 화면이 전환되면서 core에 관한 간략한 정보가 뜬다.
그리고 다음의 command를 입력하면 상세한 정보를 확인하는데 도움을 준다.

- bt(back trace) : core 발생 직전의 call stack 확인
- bt full : 전체 call stack 확인
- f[스택프레임 번호] : 특정 stack 확인
- list : stack의 code 보기
- info local : stack의 수행 당시 변수 값 확인
- info arg : stack의 argument 확인
- where : 간략화


의심되는 stack frame 분석

 info frame : 보다 상세한 정보 제공

 stack frame at 0x : 해당 함수 sp

 called by frame at 0x : 해당 함수를 호출한 함수의 SP(ex. main)

 Arglist at 0x : 해당 함수가 호출하는 함수의 bp

 args : 인자 정보

 saved registers : rip, ebp..

   (EX) (gdb) f [frame num] + (gdb) info frame

         (gdb) info frame [frame num]

 

해당 stack의 argument/local value 확인

 info frame 보다 간결하지만 인간친화적

 

  (EX) (gdb) info arg

        (gdb) info local

 

3. process debugging

gdb [프로세스명] [pid]

실행중인 프로세스를 gdb로 붙어서 확인

 

참고

https://incredible-larva.tistory.com/entry/core-dump-%EB%B6%84%EC%84%9D%EC%9D%84-%EC%9C%84%ED%95%9C-gdb-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=hymne&logNo=221841282483 

현재 위치에서 디렉토리 즉 폴더 개수 세기

 ls -l | grep ^d | wc -l


현재 위치에서 파일의 개수 세기

ls -l | grep ^- | wc -l

 

현재 디렉토리의 하위 파일 개수 세기

find . -type f | wc -l


출처: https://lee-mandu.tistory.com/420 [개발/일상_Mr.lee]

Perl 설치중 Perl MakeFile.PL명령을 실행하니 아래와 같은 오류가 발생했다.

 

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 
/usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl 
/usr/lib64/perl5 /usr/share/perl5 .) at [Makefile.PL](http://makefile.pl/) line 7.

해결방법

  • 해결방법은 간단하다. CPAN을 설치해주자.
 yum install perl-CPAN

참고 : https://jinseongsoft.tistory.com/221 [진성 소프트]

Linux chkconfig

chkconfig는 리눅스서버가 부팅될 때 실행될 프로그램을 설정하는 역활

서버 부팅시 프로그램 리스트와 런레벨별 실행여부 등을 확인하거나 설정

런레벨

레벨 상세 정보
0 종료
1 단일 사용자 모드
2 사용하지 않음
3 다중 사용자 모드 (CUI) - 터미널
4 사용하지 않음
5 다중 사용자 모드 (GUI) - X윈도우
6 재부팅

명령어

// 리스트 확인
  chkconfig --list [프로그램명]

// Linux 시작시 실행되도록 설정
  chkconfig [프로그램명] on

// Linux 시작시 실행되지 않도록 설정
  chkconfig [프로그램명] off

// Linux 런 레벨별로 시작시 실행되도록 설정
  chkconfig --level [레벨] [프로그램명] on

// Linux 런 레벨별로 시작시 실행되지 않도록 설정
  chkconfig --level [레벨] [프로그램명] off

참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=diceworld&logNo=220295874000

문제 내용

1.txt를 2.txt로 복사하려고 하는데 overwrite 하겠냐고 물어본다.

수작업의 경우에는 y를 눌러주면 되지만, 스크립트를 통한 작업의 경우에는 키보드 입력을 요구하므로 스크립트 실행이 중단되는 문제가 있다.

[root@zetawiki ~]# echo hello > 1.txt
[root@zetawiki ~]# echo world > 2.txt
[root@zetawiki ~]# cp 1.txt 2.txt
cp: overwrite `2.txt'?

원인

cp에 대한 alias로 -i 옵션[1]이 있어서 그렇다

[root@zetawiki ~]# alias | grep cp
alias cp='cp -i'

해결 방법

방법 1) 아래와 같이 cp 앞에 역슬래시를 넣으면 alias 대신 원래의 명령어가 실행된다.
[root@zetawiki ~]# \cp 1.txt 2.txt
[root@zetawiki ~]# cat 2.txt
hello


방법 2) 전체경로 사용
[root@zetawiki ~]# /bin/cp 1.txt 2.txt
[root@zetawiki ~]# cat 2.txt
hello

참고

https://zetawiki.com/wiki/CentOS_cp_%EA%B0%95%EC%A0%9C%EB%A1%9C_%EB%8D%AE%EC%96%B4%EC%93%B0%EA%B8%B0

lsof ? 

- List Open Files 명령어로, 열려진 파일들을 보는 명령어

- 시스템에서 동작하고 있는 모든 프로세스에 의해서 열려진 파일들에 대한 정보를 보여주는 시스템 관리 명령어

 

사용법 참고 : https://blog.cafe24.com/1989

 

삭제파일 복원 방법

DB 혹은 Process에서 사용중에 삭제되어 (deleted) 상태로 남아있는 파일을 복사하여 복원

복원 예제

lsof 명령어로 deleted 및 복원 파일명이 포함된 파일을 조회

pid 번호 확인 : 두번째 항목 ( 예제는 6505 )

삭제중 임시로 유지중인 object 위치 확인

위치 : /proc/[PID]/fd/[object 번호]

붉은색 번호가 처리중 삭제되어 링크가 깨진 object

삭제중 임시로 유지중인 object 번호 확인 ( 예제는 1489 )

위치 : /proc/[PID]/fd/[object 번호]

object 번호를 이용하여 복원

cp [object 번호] 복원 위치


to Top