>> 소프트웨어 업그래이드
yum을 하다가 중지시키고 다시 할려고 하면 전에 깔던것이 있기때문에 안될수 있다 그럴때는
killall -9 yum 해서 모든 yum을 다 종료해야 된다.(dhclient 도 마찬가지다)
1. yum을 이용한 패키지 업데이트
* yum(Yellowdog Updater, modified)란?
rpm패키지 설치시 자동적으로 의존성 문제를 처리하여 rpm 패키지를 안전하게 설치, 제거, 업그레이드 등의 작업을 스스로 알아서 해주는 지능형 도구.
* yum 패키지 설치 확인
rpm -q yum
* yum 설정
cat /etc/yum.conf (수정 시에는 cat 대신 vi를 사용한다.)
* 패키지 설치
yum install 패키지명
* 패키지 업데이트
yum update
-> 시스넴 내에 설치되어 있는 업데이트 가능한 모든 패키지를 업데이트 할 수 있다.
* 패키지 제거
yum remove <패키지명>
~]# yum remove thunderbird
* 패키지 검색
yum search <검색어>
~]# yum search thunderbird
* 패키지 정보 알아보기
yum info <패키지명>
~]# yum info thunderbird
* 하드디스크에 있는 패키지 설치
yum localinstall <패키지명>
<실습> /usr/src/fedhat/RPMS/i386 디렉토리의 xcdroast 팩키지를 설치해 보자.
2. apt를 이용한 패키지 업데이트
* apt(Advanced package Tool)은 데비안 리눅스용 패키지 업데이트 관리도구다.
rpm 기반의 다른 리눅스 배폰판에서 사용할 수 있도록 포팅 되었다. rpm의 의존성 문제 해결.
* apt 설치
yum을 이용하여 apt패키지를 설치한다.
yum install apt
->공개키 문제로 apt가 설치 되지 않을 경우 /etc/yum.conf파일의 gpgcheck=0으로 임시 수정
* apt-get 사용법
apt-get [옵션] 명령
apt-get [옵션] installremove 패키지명
apt-get [옵션] source 패키지명
* 패키지 목록 업데이트
# apt-get update
* 패키지 설치
# apt-get install <패키지명>
# apt-get reinstall <패키지명> <-- 패키지 재설치
* 패키지 제거
# apt-get remove <패키지명>
# apt-get --purge remove 패키지명 <--패키지의 설정파일 까지 모두 제거 된다.
* 패키지 업그레이드
# apt-get upgrade
* 패키지 정리하기
# apt-get clean <-- /var/cache/apt/archives의 모든 임시 설치파일을 제거 해 준다.
* 패키지 검색
# apt-cache search <키워드>
* 패키지 의존성 정보 알아보기
# apt-cache depends <패키지명>
* Synaptic 그래픽 APT 도구
-> http://nongnu.org/synaptic/index.html
* synaptic 설치
# apt-get install synaptic
3. PUP(Package Updater)를 이용한 페도라 업그레이드( 페도라6 이상에서 지원)
* pup 설치
# rpm -q priut <-- priut 설치 여부 확인
# apt-get install priut
★ 백그라운드에서 실행하기 mc & (백그라운드에서 열린다)
fg %1 (1은 jobs해서 앞에 나온숫자- fo그라운드로 넘어간다)
컨트롤+z
bg %1
ps acx | grep mc (실행되는 mc 검색)
kill -9 프로세스번호(위의것-mc에 관한것)
jobs (보이게하기)
>>MC(midnight commander)
- Pc Nc (Norton Commander)
mm 기능키
F4 : 편집(mkdir)
F5 : 파일복사(copy)
F6 : 파일이름 변경
F7 : 디렉토리 삽입(mkdir)
F8 : 파일삭제
F9 : 풀다운 메뉴(당위메뉴)
F10 : 종료
>> 쉘(shell) - 명령 해석기
1) shell의 종류
- 본쉘 : bash
- C쉘 : tcsh
- 콘쉘 : kornshell
# gedit /etc/passwd
2) 현제 사용중인 쉘 확인
# echo $SHELL
3) 프롬프트 꾸미기
- 배쉬 프롬프트 상태 제어변수는 PS1
# SAVE =$PS1
# PS1 = "\u@\h\w>"
>PS1=$SAVE
\d : 날짜 “요일 달 날짜”
\h : hostname
\u : 사용자 이름
\w : 현재 작업 디렉토리
\t : 24시간으로 현재 시간
\T : 12시간으로 현재 시간
\ : 현제 명령어의 history 번호
# PS1="[\u@\h \w][\d]$ "
$ PS1="[\T][\u@\h \w]# "
# PS1="\u@\h \w]# "
# PS1=$SAVE
4) 환경변수
SHELL명령어를 실현하기 위해 저장해 놓은 변수
- 환경 변수 보기
#echo $환경변수
#echo $PS1
#echo $SHELL
SHELL환경 변수 : 기능
BASH -> bash경로
BASH_VERSION -> bash버전
ENV -> 환경지정 파일 위치
HOME -> 기본작업 영역
LOGNAME -> 로그인 이름
PATH -> 패스경로
SHELL -> 쉘 경로
LS_COLORS -> 색깔
5) 환경변수 값을 변경시키는 파일
/etc/profile (~/.bash_profile이 아님.)
export위에 작성
ex) gedit /etc/profile
PS1="\W >\$"
LS_COLORS=di=32
PATH=$PATH:$HOME/bin; /home/root
//////////////////////////////////////////////////
cat /etc/passwd | grep ftpuser
usermod -s /bin/tcsh ftpuser
echo $SHELL - root가 베쉬를 쓰고 있다
echo $PS1
SAVE=$PS1 (환경변수를 따로 만들어주는것)
echo $SAVE
PS1="\u@\h \W][\d]"
PS1="[\T][\u@\n \W]"
PS1=$SAVE - 원래로 돌리겠다.
vi /etc/profile파일에서
HISTSIZE=1000
PS="\w> " -> 부팅할때마다 항상 이렇게 쓰겠다고 정의하는것
if [
빨간부분 적용
스샷 ▼
6) 쉘스크립트 작성
batch 파일과 유사 <--> online real time
#!/bin/sh 또는 #!/bin/bash 나 #!/bin/tch <-- 쉘 스크립트의 시작 선언
쉘스크립트의 내용
...
1초에 한번씩 날짜찍기(스크립트이용한 예)
(가) 쉘스크립트 작성 연습
# cat > test
echo 이 스크크립트는
echo 시관과 목록을 보여준다
echo
date
pwd
ls -l /var/log
vi test.sh 해서...
저장하고 ls -l 해보면 만든게 녹색으로 나오나 무늬만 실행파일이다(퍼미션 (권한)에 x가 없어서)
실행화면 ▼
(나) 조건
if [ 조건식 ]
then
(조건이 참일 경우 처리할 명령)
else
(조건이 거짓일 경우 처리할 명령)
fi
(실습) vi test01.sh로 만들고...
#!/bin/sh
A=1
string0='이것은 if예제‘
string1='값이 0이하‘
string2='값이 0이상‘
echo $string0
if [ $A -gt 0 ]
then
echo $string2
else
echo $string1
fi
실습 스샷 ▼
저장하고 퍼미션에 대한 권한(실행될수있게)을 바꿔주고 실행시킨다.▼
>>조건식
표현방식
[ $A -eq $B ] equal, 같다면~
[ $A -ne $B ] not=, 같지 않다면~
[ $A -gt $B ] great then, 크다면~ (b보다 a가 크다)
[ $A -lt $B ] less then, 작다면~
[ $A -ge $B ] greate or equal 크거나 같다면~
[ $A -le $B ] less or equal 작거나 같다면~
[ $string1 = $string2 ] -> 시스템마다 이렇게도 쓸수 있다
[ -z "$string" ] 문자열의 길이가 0인경우
[ -n "$string" ] 문자열의 길이가 0이 아닌 경우
(라) 반복실행
* for문
for 변수 in list1 list2 list3 (개수만큼 반복)
do
[실행할 명령]
done
(실습) vi test02.sh
#!/bin/sh
list='date date date date date'
for Name in $list
do
echo $Name
done
실행
echo 를 빼고 다시 해본다
date가 아닌 날짜가 찍히는것을 볼수 있다.
* while문
while [조건문]
do
[실행할 명령어]
done
(실습)
#!/bin/sh
echo "무한루프 예제입니다.“
echo “숫자 9를 입력 해”
read key -> 키보드에서 불러와라
echo 지금 입력한 숫자는 $key입니다.
while [ $key -eq 9 ]
do
echo "무한 루프“
echo "끝내려면 Ctrl + c를 누르시오:
sleep 1 --> 1초에 한바퀴돌아라는 뜻이다
done
실습스샷▼
실행화면 ▼
1씩 증가하는 스크립트 (while문)
실행시켰을때.... 1씩 증가한다.
[출처] 리눅스1 '08.6.17 화요일-쉘스크립트&소프트웨어 업그래이드|작성자 근위대장
'9. 도서관 > __라. LINUX' 카테고리의 다른 글
우분투 wireshark 설치 (0) | 2008.09.18 |
---|---|
Linux Setting perl (0) | 2008.09.10 |
etc/login.defs파일 설명 (0) | 2008.08.22 |
Introducing BootPROM (0) | 2008.07.30 |
IP 마스커레이딩(Masquerading) (0) | 2008.07.23 |
댓글