[17] rpm(2), yum

|


- 2014.11.28



* cmd - ftp


ftp> ?   : 도움말

ftp> prompt   : 대화 끄기

ftp> mput   : 여러개 동시에 올리기




1. rpm(2)


[실습]


mysql-connector-java-5.1.17-6.el6.noarch  설치 이어서 하기

(사실은 아키텍처가 noarch 이기 때문에 --nodeps 해서 설치해도 무관하지만 진행 해본다.)


*

geronimo-specs-compat 설치.

jaf => classpathx-jaf ... 로 대체

javamail => classpathx-mail ... 로 대체


*

java-gcj 의존성 문제

java-1.5.0-gcj, java_cup, sinjdoc 3개 다운받아 동시에 설치




[실습]


# rpm -qa | grep mysql

해서 나오는 모든 mysql 프로그램 삭제


php* 로 시작하는 모든 프로그램 설치


#rpm -qa | grep php

해서 나오는 모든 php 프로그램 삭제





2. YUM = Yellowdog Updater, Modified


본 실습용 os 에는 /etc/yum_samadal 로 명령어가 바뀌어있다.

(원본 위치는 /usr/bin/yum 이다)

-> # find / -name "yum*"

하지만 인터넷 되지 않는 곳에선 쓰지 못한다는 단점이 있다.

(특히 관공서는 인터넷 사용이 되지 않는다.)




1) Update


# yum (-y) update




2) Install


yum (-y) install name(*)

현재 위치에 있는 .rpm부터 설치한다.




3) Remove


yum (-y) remove name(*)

의존성 관련 pkg 삭제하는 도중 시스템이 마비될 수도 있다.

삭제는 yum으로 하는 것은 좋지 않다.




* Tip


우분투, 데비안 등에서의 yum 명령어

yum = apt-get




'Study > CentOS' 카테고리의 다른 글

[19] partition, mkfs, mount 실습  (0) 2015.03.28
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount  (0) 2015.03.28
[16] rpm(1)  (0) 2015.03.28
[15] gzip, bzip2, tar, man  (0) 2015.03.28
[14] SETUID, SETGID, Stickybit, UMASK  (0) 2015.03.28
And


[16] rpm(1)

|


- 2014.11.27


교재 p118 ~



1. rpm : Red Hat Package Manager


centos.org 접속

get centos 7 now -> dvd click

상위 메뉴 중 Mirror list - Asia, kaist 클릭 ....

(http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/)

설치 가능한 rpm 의 목록들이다.



1) RPM 패키지 파일의 구성


① 패키지명


② 버전

major : 프로그램 자체가 완전 변경 - 그랜저 XG vs TG

minor : 치명적인 버그 수정

patch : 심각한 문제는 아니지만 불편한 것 수정

release : 패치된 것에서 조금의 수정


③ 아키텍쳐

[32bit]

i386 = 80386

- intel, cup 386, 486

i586 : P 1 ~ 3

i686 : P 4 ~ 7


[64bit]

x86_64 : AMD, intel


noarch : 플랫폼에 상관 없음


sparc : SunMicro System 의 스팍 계열 CPU


ppc : Power PC CPU - MAC용 CPU




2) RPM 옵션


-i rpm_file - install, 패키지 설치 되어 있으면 설치 안함

-U rpm_file - Upgrade, 업그레이드

-e rpm_file - 패키지 삭제

-v : verbose - 설치 내용 출력

-h : 설치 작업 상황 그래픽으로 보여줌

--nodeps : 패키지 의존성 검사 안함, 의존성 강제로 끊음



* 작업 전 확인할 것

# rpm -qa | grep 패키지명

(ls -l *ab* = ls -l | grep ab)



설치

# rpm -ivh 패키지명.rpm


삭제

# rpm -e 패키지명




[실습]


vi 설치되어있는지 확인


# vi

# rpm -qa | grep vim

vim-minimal-7.2.411-1.8.el6.i686

vim-enhanced-7.2.411-1.8.el6.i686

vim-common-7.2.411-1.8.el6.i686



* rpm 작업 공식(유의사항)

1. 모든 작업은 반드시 동일한 버전이어야 한다.

2. 의존성 오류(Failed dependencies)를 절대 무시하지 말자.

3. 의존성을 제기한 패키지를 먼저 작업한다.

4. 가급적 의존성 무시(--nodeps)를 사용하지 말자.

5. 'lib'으로 시작하고 중간에 'so'가 있는 경우는 무시해도 된다.

6. 디렉터리로 시작하는 거들(/usr/bin/)은 패키지가 아니므로 무시한다.

7. 대표 패키지부터 작업한다.

8. 나머지는 화면에 보이는 순서대로 작업한다.




vi 삭제

# rpm -e vim-minimal

오류: Failed dependencies:

        vim-minimal is needed by (installed) cvs-1.11.23-16.el6.i686

        vim-minimal is needed by (installed) sudo-1.8.6p3-15.el6.i686

=> 삭제 실패


의존성 오류 뜬 것을 차례대로 삭제하다보면 서로 의존된 것 삭제가 필요한 때가 온다.

그 때에는 2개를 동시에 삭제하면 된다.

# rpm -e redhat-lsb

오류: Failed dependencies:

        redhat-lsb(x86-32) = 4.0-7.el6.centos is needed by (installed) redhat-l

# rpm -e redhat-lsb-compat

오류: Failed dependencies:

        redhat-lsb-compat(x86-32) = 4.0-7.el6.centos is needed by (installed) r

# rpm -e redhat-lsb redhat-lsb-compat


이 뒤부터는 차례대로 위로 올라가며 삭제 진행하면 된다.

vim-minimal 삭제 전체 과정

# rpm -e redhat-lsb redhat-lsb-compat

# rpm -e redhat-lsb-printing

# rpm -e redhat-lsb-graphics

# rpm -e redhat-lsb-core

/var/tmp/rpm-tmp.dAbYuy: line 1: lsb_release: command not found

=> 무시해도 상관 없음


# rpm -e gettext

# rpm -e cvs

# rpm -e sudo

# rpm -e vim-minimal


vim 관련 나머지도 삭제

# rpm -e vim-enhanced

# rpm -e vim-common

# rpm -qa | grep vim

=> 검색 결과가 없다.


# vi

-ksh: vi: not found [그런 파일이나 디렉터리가 없습니다]

=> vi 가 삭제되어 실행되지 않는 것을 볼 수 있다.




[문제1]


http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/

위의 사이트에서 vim* 으로 시작하는 package를 다운로드 및

linux로 업로드 하신 후 설치해보세요


필요 rpm 파일 다운로드 및 리눅스로의 업로드 후의 작업

# rpm -ivh ./vim-X11-7.2.411-1.8.el6.i686.rpm ./vim-common-7.2.411-1.8.el6.i686.rpm ./vim-enhanced-7.2.411-1.8.el6.i686.rpm ./vim-minimal-7.2.411-1.8.el6.i686.rpm

(혹은   # rpm -ivh ./vim*)




[문제2]


http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/

위의 사이트에서 mysql* 으로 시작하는 package를 다운로드 및

linux로 업로드 하신 후 설치해보세요


*

perl(DBI) => perl-DBI-

(, ), :: => - (각각의 특수문자들은 - 로 봐도 무방하다.)


*

mysql-connector-java... 를 설치하다 보면 jta 설치하라고 하는데 못찾는다.

일단 해당 패키지는 넘어간다. => 내일 진행


*

lib으로 시작하며 중간에 so 가 들어가는 것을 모두 만족시키는 것만 설치하지 않아도 된다.


*

openssl 설치 도중 버전차이로 설치가 안되는 경우가 발생한다.

설치 되어있는 것을 삭제하려고 하면 너무 많은 것과 충돌하기 때문에

일단 --nodeps 옵션으로 강제 삭제 후 다시 설치한다.




And


호스팅 중인 XE를 서버 개인 CentOS 서버로 백업(및 이전)

|


백업용으로 진행하기 때문에 보안성보단 사용성에 촛점을 맞춰 진행하였다.




1. CentOS 6.6 minimal 설치 및 셋팅


CentOS 설치 후 진행

나는 hostname : localhost, 시간 : Seoul 로 진행하였다.



1) SELinux 해제


# vi /etc/sysconfig/selinux

      7 SELINUX=disabled


*

라인 넘버 나타내기는 esc를 누른 뒤 :se nu 를 입력

입력 모드로 넘어갈 때엔 i 버튼

vi 편집기 저장 후 나가기는 esc를 누른 뒤 :wq 를 입력하면 된다.



2) iptables 해제


# iptables -X

# iptables -F

# chkconfig iptables off



3) 필요 패키지 설치 및 자동실행 설정


# yum install -y ntp vsftpd httpd mysql* php*

# chkconfig ntpd on

# chkconfig vsftpd on

# chkconfig httpd on

# chkconfig mysqld on


설정 적용을 위해 재시작

# reboot




2. 백업본 다운로드 및 업로드


1) 다운로드


백업본은 호스팅 업체에서 제공해준다.




2) 업로드


아래처럼 수정 후 재시작

# vi /etc/vsftpd/user_list

      7 #root


# vi /etc/vsftpd/ftpusers

      2 #root


# service vsftpd restart


이제 파일질라 등의 ftp client 프로그램을 이용하여 root 계정으로 업로드




3) 웹페이지 설정


백업받은 파일을 압축 풀어 웹 root 페이지로 이동


# tar xvfz u347840964.tar.gz

# rm -rf /var/www/html/

# mv u347840964/public_html/ /var/www/html





3. DB 설정


1) 사용할 DB 생성


# mysqladmin -u root password xxxx

# mysql -u root -p

mysql> CREATE DATABASE xe;

mysql> GRANT ALL PRIVILEGES ON xe.* TO root@localhost IDENTIFIED BY 'xxxx' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> quit



2) 업로드 한 DB 파일을 내 DB에 연결


# gzip -d u347840964_data.sql.gz

# mysql -u root -p xe < u347840964_data.sql





4. 허가권 및 xe 설정


1) 허가권 설정


# chmod 777 /var/www/html/



2) xe 설정 - db


# cd /var/www/html/files/config/


자신의 환경에 맞게 수정

# vi db.config.php

      3   'master_db' =>

      4   array (

      5     'db_type' => 'mysqli',

      6     'db_port' => '3306',

      7     'db_hostname' => 'localhost',

      8     'db_userid' => 'root',

      9     'db_password' => 'xxxx',

     10     'db_database' => 'xe',

     11     'db_table_prefix' => 'xe_',

     12   ),

     13   'slave_db' =>

     14   array (

     15     0 =>

     16     array (

     17       'db_type' => 'mysqli',

     18       'db_port' => '3306',

     19       'db_hostname' => 'localhost',

     20       'db_userid' => 'root',

     21       'db_password' => 'xxxx',

     22       'db_database' => 'xe',

     23       'db_table_prefix' => 'xe_',

     26   'default_url' => 'http://3.3.3.4',




3) xe 설정 - ftp


자신의 설정에 맞게 수정하여 기재

# vi ftp.config.php

      1 <?php if(!defined("__XE__")) exit();

      2 $ftp_info = new stdClass;

      3 $ftp_info->ftp_user = 'root';

      4 $ftp_info->ftp_port = '21';

      5 $ftp_info->ftp_host = '3.3.3.4';

      6 $ftp_info->ftp_pasv = 'Y';

      7 $ftp_info->sftp = 'N';

      8 $ftp_info->ftp_root_path = '/var/www/html/';

      9 ?>




4) 짧은 주소 사용 - httpd


아래처럼 수정하면 짧은 주소를 사용할 수 있다.

(호스팅 업체에서 짧은 주소를 사용하고 있던 경우)

(참고 : http://www.xeschool.com/xe/xenote_module_urls)


# vi /etc/httpd/conf/httpd.conf

    304     AllowOverride ALL

    338     AllowOverride ALL




5) 설정들 적용을 위하여 서비스 재시작


# service mysqld restart

# service httpd restart

# service vsftpd restart





5. 웹 상에서의 재설정


1) 캐쉬파일 재 생성


리눅스 재부팅이 완료 되면 웹 브라우저를 통해 http://3.3.3.4/?module=admin 접속하여 로그인 한다.

화면 맨 밑 캐쉬파일 재생성 버튼을 누른다.



2) 설정 - 일반 - 고급


관리자 IP대역 설정



3) 설정 - FTP 설정


기본

설치된 XE의 FTP 경로 : / (목록 가져오기 클릭)


고급

Passive 모드 사용 : 아니오




* '요청한 기능을 실행할 수 있는 권한이 없습니다.' 의 경우


(출처 : https://www.xpressengine.com/tip/22751988)

ModuleHandler.class.php

파일 다운로드


FTP 접속하여 이 파일을 /var/www/html/classes/module/ 경로에 업로드하면 관리페이지에 접속이 가능




And