2019년 3월 18일 월요일

CentOS Single Mode.

갑자기 비밀 번호가 기억나지 않는다면 ...

 

1. 재부팅.

 

   일단 머신을 재부팅하고, 다음 화면이 진행될 때 재빠르게 키입력을 해야 한다.

  

   그럼 다음과 같은 화면이 나오는데 첫 번째 아이템이 선택된 상태에서
   'e' 키를 눌러 에디트 모드로 진입한다.

  

   그럼 다음과 같은 화면이 나오는데 2 번째 줄 kernel이 선택된 상태에서 다시 한번
   'e' 키를 눌러 에디트 모드로 진입한다.


   그럼 이제 다음과 같은 화면이 나오는데 그 상태에서 'single' 을 입력한다.


< single을 입력하기 전 >


  

< single을 입력 >

   single을 입력한 뒤 Enter를 치고 나면 다시 이전 화면으로 돌아온다.

  

   이제 'b' 를 입력해서 부팅을 시도한다.


2. 비밀 번호 재 설정.


   이제 다음과 같이 부팅이 끝나면 root 계정으로 로그인 된 것을 확인할 수 있다.

  

   이제 비밀 번호를 다시 설정하고 사용할 수 있다.
   다만, 이 과정은 머신에 콘솔로 직접 연결되어 있는 경우에만 가능한 방법이다.

3. 결론.


   귀찮으니 비밀 번호는 잊지 않게 잘 관리하자.

2019년 3월 7일 목요일

CentOS 개발 환경 구축 #2.

6. ctags

   tagging할 루트 디렉토리에서 다음 명령어를 실행합니다.

  
1
ctags -R
cs


   그리고 vi editor와 연동하기 위해 .vimrc 파일에 다음 설정을 추가합니다.

  
1
set tags=/home/ships/project/IrisIrene/trunk/src/tags
cs


   tag database가 생성된 디렉토리 경로를 설정합니다.

7. cscope


   ctags와 cscope database 구축을 한번에 하기 위해 ~/mkcscope.sh 파일을 생성한다.

  
1
2
3
4
5
6
7
8
9
10
11
vi ~/mkcscope.sh
 
#########################################################
#!/bin/sh
rm tags
ctags -R
 
rm -rf cscope.files cscope.out
find . \( -name '*.c' --name '*.cpp' --name '*.cc' --name '*.h' --name '*.s' --name '*.S' --name '*.C' \) -print > cscope.files
cscope -i cscope.files
#########################################################
cs


   그리고 vi editor와 연동하기 위해 .vimrc 파일에 다음 설정을 추가합니다.

  
1
2
3
4
5
6
7
8
9
10
set cscopeprg=/usr/local/bin/cscope
set csto=0
set cst
set nocsverb
if filereadable("./cscope.out")
    cs add cscope.out
else
    cs add /usr/src/linux/cscope.out
endif
set csverb
cs


8. 자동 완성.


   첨부된 vim-autocomplpop.zip 파일을 다운로드 받아 구조에 맞게 ./.vim/ 경로
   아래에 풀어 놓으면 바로 동작한다.

9. SrcExpl (Source Explorer)


   첨부된 SrcExpl.zip 파일을 다운로드 받아 구조에 맞게 ./.vim/ 경로
   아래에 풀어 놓는다.

   그리고 .vimrc 파일에 다음 설정을 추가합니다.

  
1
2
" // The switch of the Source Explorer
nmap <F8> :SrcExplToggle<CR>
cs


   F8 단축키를 통해 사용가능하지만 소스 트리 구조에 따라서 잘 보이지 않는 듯 하다.

2019년 3월 6일 수요일

CentOS 개발 환경 구축 #1.

어쩌다가 한번씩 해야할 일이 있는데 기억이 나질 않아서 ...


1. CentOS (6.x) 설치.

  
   뭐 특별한게 없는데 minimal 기준으로 작성.
   서버나 개발용 workstation으로 설치하면 미리 설치되는 패키지가 있어 조금 다를 수는
   있지만 큰 차이는 없고, CLion 같은 GUI 개발 툴을 사용하는 경우 개발용 workstation
   으로 설치하는게 더 낫다.

2. 개발용 기본 패키지 설치.


  
1
yum groupinstall "Development Tools"
cs


   개발 도구를 설치하면 sshd daemon도 같이 설치되어 이후 터미널로 작업이 가능하다.
   ssh를 통해 터미널 접속을 하려면 방화벽 설정을 해야 하는데 그냥 과감히 중지하자.

  
1
2
chkconifg iptables off
service iptables stop
cs


3. 사용자 계정 추가 및 admin 권한 부여.


  
1
2
useradd ships
passwd ships
cs


   그리고, 일반 계정에 admin 그룹 권한 부여는 이전에 작성했던 다음
   CentOS에서 admin 그룹 유저에게 root 권한 부여하기 글을 참고.
   중간 이미지에 오타가 있으니 조심해야 한다.

4. 추가로 필요한 패키지 설치.


  
1
2
3
yum install vim-enhanced.x86_64
yum install ctags.x86_64
yum install cscope.x86_64
cs


   개발 도구 패키지 그룹에 기본 포함되어 있는 것도 있을 수 있다.

5. vi 설정 파일 수정.


  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
vi ~/.vimrc
 
##########################################
syntax on
set ts=4
set sw=4
set ai
set cindent
set smartindent
set hlsearch
filetype on
set fileencoding=korea
set fileencodings=ubs-bom,utf-8,korea
##########################################
cs


   Molokai color scheme 적용을 위해 첨부된 molokai.vim 파일을 다운로드 받은 뒤,
   계정 홈 디렉토리에 ./vim/colors/ 디렉토리를 생성 후 복사한다.

   그리고, .vimrc 설정에 다음 설정을 추가한다.

  
1
2
colorscheme molokai
let g:molokai_original=1
cs


   그리고, 현재 어떤 함수에 캐럿이 있는지 확인할 수 있는 스크립트 함수를
   다음처럼 추가한다.

  
1
2
3
4
5
6
7
8
9
fun! ShowFuncName()
  let lnum = line(".")
  let col = col(".")
  echohl ModeMsg
  echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$"'bW'))
  echohl None
  call search("\\%" . lnum . "l" . "\\%" . col . "c")
endfun
map f :call ShowFuncName() <CR>
cs


   C++ header와 source 전환을 위한 플러그인 a.vim 파일을 다운로드 받은 뒤,
   계정 홈 디렉토리에 ./vim/plugin/ 디렉토리를 생성 후 복사한다.
   그리고 .vimrc 설정에 다음과 같이 확장자를 등록한다.

  
1
2
let g:alternateExtensions_h = "C"
let g:alternateExtensions_C = "h"
cs