레이블이 Linux인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Linux인 게시물을 표시합니다. 모든 게시물 표시

2016년 1월 8일 금요일

리눅스 커널 컴파일 및 설치 방법

<이것이 리눅스다> 

출처: youtube 강의

* preparations

# yum -y install gcc gcc-c++ qt qt-devel

* compile & install

1. current kernel

# uname -r

2. download kernel source

# cd /usr/src
# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.8.tar.xz

3. extract kernel source

# tar xvfJ linux-3.19.8.tar.xz
# cd linux-3.19.8.tar.xz

4. initialize kernel config

# make mrproper

5. configure kernel environment

# make xconfig

6. clean up

# make clean

7. compile and install kernel

# make
# make modules_install
# make install
-->  # make; make modules_install; make install

# ls -l /boot

8. check out bootloader

# cat /etc/grub2/grub.cfg

9. reboot

# reboot




* another way to compile kernel

1. install packages

wget, gcc, gcc-c++, tar, ncurses-devel, bc, perl

2. download source using wget

ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.17.4.tar.xz

3. configurations

'make menuconfig' instead of 'make xconfig'




* NTFS 

1. install gcc
2. download source
# wget http://www.tuxera.com/community/ntfs-3g-download/ntfs-3g_ntfsprogs-x.x.x.tgz
3. compile source
# ./configure; make; make install
4. mount
# mount -t ntfs-3g <USB device name> <dir name to mount>

2015년 6월 25일 목요일

VirtualBox VDI 용량 추가


Host (Windows)

  • VirtualBox 설치 경로로 이동
  • 아래 API 명령 입력
        > VBoxManage modifyhd <VID 파일명> --resize <용량 MB 단위>
  • VirtualBox 관리 콘솔에 확인

Guest (Linux):RedHat 계열


    # fdisk -l
    # fdisk /dev/sda
      d (파티션 지우기 선택)
      2 (sda2 실제 삭제)
      n (새 파티션 생성)
      p (primary)
      2 (2번 파티션)
      Enter
      Enter
      w (write)
    # reboot

    # pvresize /dev/sda2
    # pvscan
    # lvextend -l+100%FREE /dev/mapper/ol-home
    # resize2fs /dev/mapper/ol-home
    # df -h

  • resize2fs 실행 시 오류 발생
    # pvresize -v /dev/sda2
    # lvresize -r -l+100%FREE /dev/mapper/ol-home
    # df -h

기타 정보 확인 명령어


    # pvdisplay
    # vgdisplay
    # lvdisplay

Oracle Linux 7 기반 Oracle Database 11g R2 설치

Linux 기초 명령어 (RedHat 계열)



    - hostname 변경
      # vi /etc/hostname
      # vi /etc/sysconfig/network
      # vi /etc/hosts
      # service network restart
      # reboot

    - zip / unzip
      $ zip -r test.zip ./*
      $ unzip happy.zip
      $ unzip happy.zip -d ./target

    - tar.gz
      $ tar -czvf images.tar.gz ./test
      $ tar -xzvf images.tar.gz

    - software update
      # yum list updates
      # yum update –y 


Oracle Database 11g R2 installation


$ su -

# df -h

# usermod -g oinstall -G dba oracle
# useradd -g oinstall -G dba oracle
# passwd oracle

# /sbin/sysctl -p
# /sbin/sysctl -a

# mkdir -p /opt/app/
# chown -R oracle:oinstall /opt/app/
# chmod -R 775 /opt/app/

# su - oracle
$ export TMP=/tmp
$ export TMPDIR=$TMP

$ export ORACLE_BASE=/opt/app/oracle
$ export ORACLE_SID=orcl



After installation

# vi /etc/oratab
SID:ORACLE_HOME:{Y|N|W} ----> Y

# vi /etc/init.d/oracle
#!/bin/bash

# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome
ORACLE_USER=oracle

case "$1" in
'start')
   if [ -f $LOCKFILE ]; then
      echo $0 already running.
      exit 1
   fi
   echo -n $"Starting Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
   touch $LOCKFILE
   ;;
'stop')
   if [ ! -f $LOCKFILE ]; then
      echo $0 already stopping.
      exit 1
   fi
   echo -n $"Stopping Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f $LOCKFILE
   ;;
'restart')
   $0 stop
   $0 start
   ;;
'status')
   if [ -f $LOCKFILE ]; then
      echo $0 started.
      else
      echo $0 stopped.
   fi
   ;;
*)
   echo "Usage: $0 [start|stop|status]"
   exit 1
esac

exit 0



# chmod 755 /etc/init.d/oracle
# chkconfig --add oracle
# chkconfig oracle on

http://localhost:1158/em
$ emctl stop dbconsole
$ emctl config emkey -repos -sysman_pwd
$ emctl secure dbconsole -sysman_pwd
$ emctl start dbconsole
$ emctl config emkey -remove_from_repos -sysman_pwd


$ lsnrctl start
$ lsnrctl status
$ lsnrctl stop
$ netstat -anp | grep 1521 | grep LISTEN

$ sqlplus "/as sysdba"
SQL> startup
SQL> shutdown normal|immediate|abort



$ vi ~/.bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome
export ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
export ORACLE_SID=TMSRACDB
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH




Installed information


DB Global Name
SQL> SELECT * FROM props$ WHERE name='GLOBAL_DB_NAME';
SQL> SELECT * FROM global_name;


SQL> ALTER DATABASE RENAME GLOBAL_NAME TO <>;

SID
SQL> select name from v$database;
SQL> SELECT instance FROM v$thread;




re-installation


# rm -Rf /usr/local/bin/oraenv
# rm -Rf /usr/local/bin/coraenv
# rm -Rf /etc/oratab

# chkconfig oracle off
# chkconfig --del oracle
# rm -Rf /etc/init.d/oracle
# rm -Rf $ORACLE_HOME

$ unset ORACLE_HOME
$ unset TNS_ADMIN


기타

** tnsname.ora
- $ORACLE_HOME/network/admin
- 로컬컴퓨터가 원격 서버로 접속할 방법을 서술

** listener.ora
- $ORACLE_HOME/network/admin
- 오라클서버에서 리스너를 기동시킬 때 (즉, lsnrctl start) 사용하게 되는 환경 파일

$ sqlplus -S scott/tiger < /data/script/test.sql
(-S : uses silent mode)