'Linux'에 해당되는 글 32건

  1. 2015.10.17 리눅스에서 여러 파일의 내용 한꺼번에 수정하기
  2. 2015.10.05 Linux에서 Windows 공유폴더 사용(samba) 1
  3. 2015.08.07 CentOS에 Java & MySQL 설치 및 기본 셋팅
  4. 2015.07.08 운영중인 LVM에 용량 추가하기
  5. 2015.06.10 yum으로 rpm만 다운로드 하기
  6. 2015.06.05 CentOS에 ntfs usb 마운트
  7. 2015.06.04 Linux GPT 파티션
  8. 2015.05.11 Linux swap 메모리 추가
  9. 2015.05.07 Ubuntu service 및 daemon 관리, Update & Upgrade
  10. 2015.05.07 Ubuntu Networking 설정, IPv6 비활성화

리눅스에서 여러 파일의 내용 한꺼번에 수정하기

|



find 명령어로 조건에 해당하는 파일을 검색한 뒤

sed 명령어로 각 파일들에 대해 수정을 진행하면 된다.



ex) 현재 디렉터리의 모든 일반파일에 대해 ORG_STR -> NEW_STR


$ find . -type f -exec sed -i 's/ORG_STR/NEW_STR/g' {} \;



And


Linux에서 Windows 공유폴더 사용(samba)

|


Windows의 공유폴더를 Linux에서 마운트하여 사용하면 여러모로 편리하다.

Windows-Linux 간 파일 이동이 편하다.


나의 경우엔 로컬 Windows에서 작업한 결과물을 저장과 동시에 VMware의 Linux에서 확인할 때 자주 사용한다.

Windows의 작업 폴더를 /var/www/html 에 마운트 시키면 되는 것이다.




1. Windows 설정


Windows에서 공유할 폴더에서 공유를 설정한다.

특히 고급공유 - 권한 에 들어가 로그인할 계정을 선택해야 하는데

이 때 사용되는 계정은 비밀번호를 사용중이어야 한다.

(no password 옵션이 있긴 하던데 나는 어차피 계정에 비밀번호를 항상 걸어놓는다.)




2. Linux 설정


Linux에서 Windows 공유폴더를 사용하려면 특정 패키지들이 설치되어 있어야 한다.

# yum install -y samba samba-client cifs-utils


아래 명령어로 Windows의 공유폴더 상황 확인

# smbclient -L WINDOWS_SERVER_IP -U USERNAME -W WORKGROUP


아래 명령어로 마운트

# mount -t cifs //WINDOWS_SERVE_IP/FOLDER_NAME -o username=USERNAME@WORKGROUP MountPoint


-o username=kanziw,uid=kanziw,gid=kanziw 등 옵션을 다양하게 줄 수도 있다.





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

CentOS에 Java & MySQL 설치 및 기본 셋팅  (0) 2015.08.07
yum으로 rpm만 다운로드 하기  (0) 2015.06.10
CentOS에 ntfs usb 마운트  (0) 2015.06.05
Linux GPT 파티션  (0) 2015.06.04
Docker in CentOS 7 minimal  (0) 2015.04.09
And


CentOS에 Java & MySQL 설치 및 기본 셋팅

|


Java


# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz"

# tar xf jdk-8u51-linux-x64.tar.gz -C /usr/local/

# chown -R root. /usr/local/jdk1.8.0_51/


// 맨 아래 추가

# vi ~/.bash_profile

export JAVA_HOME=/usr/local/jdk1.8.0_51

export PATH=$PATH:$JAVA_HOME/bin


# source ~/.bash_profile




Mysql


# yum install -y mysql-server MySQL-python


// 파일 수정 및 추가

# vi /etc/my.cnf

controller # vi /etc/my.cnf

bind-address=192.168.56.0

default-storage-engine=innodb

innodb_file_per_table

collation-server=utf8_general_ci

init-connect='SET NAMES utf8'

character-set-server=utf8


# service mysqld start

# chkconfig mysqld on

# mysql_install_db

# mysql_secure_installation



// 유저 생성

# mysql -u root -p

mysql> grant all privileges on DBNAME.* to 'USERNAME'@'localhost' identified by 'PASSWORD' with grant option;

mysql> flush privileges;


// 비밀번호 찾기

# service mysqld stop

# mysqld_safe --skip-grant-tables &

# mysql

mysql> use mysql;

mysql> select host, user, password from user;

mysql> update user set password=password('NEW_PASSWOD') where user='USERNAME';

mysql> Bye

# /etc/rc.d/init.d/mysqld restart




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

Linux에서 Windows 공유폴더 사용(samba)  (1) 2015.10.05
yum으로 rpm만 다운로드 하기  (0) 2015.06.10
CentOS에 ntfs usb 마운트  (0) 2015.06.05
Linux GPT 파티션  (0) 2015.06.04
Docker in CentOS 7 minimal  (0) 2015.04.09
And


운영중인 LVM에 용량 추가하기

|


출처 : http://blueray21.tistory.com/31



LVM의 장점이라고 한다면 서비스 도중에도 자유롭게 용량을 줄이기도, 늘리기도 할 수 있다는 것이다.

이번에 최상위 디렉터리의 크기를 늘릴 일이 있어 LVM으로 최상위가 되어있는 리눅스 시스템에

새로 하드디스크를 추가하여 최상위 파티션의 크기를 늘려보았다.




1. 하드디스크 추가 및 포맷


1) 작업 전 사용 가능 용량


-- 6.3G 가 사용가능하다

# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       47G   39G  6.3G  86% /

tmpfs                 935M     0  935M   0% /dev/shm

/dev/sda1             477M   25M  427M   6% /boot




2) Linux가 꺼진 상태에서 하드디스크를 추가한 뒤 재시작


-- 새로 추가된 하드디스크 확인

# ll /dev/sd*

brw-rw---- 1 root disk 8,  0 Jul  8 00:04 /dev/sda

brw-rw---- 1 root disk 8,  1 Jul  8 00:04 /dev/sda1

brw-rw---- 1 root disk 8,  2 Jul  8 00:04 /dev/sda2

brw-rw---- 1 root disk 8, 16 Jul  8 00:04 /dev/sdb




3) 하드디스크 파티셔닝 및 포맷


# fdisk /dev/sdb

...

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-13054, default 1): (Enter)

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054):  (Enter)

Using default value 13054


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.





2. LVM에 파티션 추가



1) 현재 사용 가능한 물리적 볼륨 확인


# pvscan

  PV /dev/sda2   VG VolGroup   lvm2 [49.51 GiB / 0    free]

  Total: 1 [49.51 GiB] / in use: 1 [49.51 GiB] / in no VG: 0 [0   ]




2) 방금 추가한 파티션을 물리적 볼륨으로 추가한 뒤 확인


# pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created


# pvscan

  PV /dev/sda2   VG VolGroup   lvm2 [49.51 GiB / 0    free]

  PV /dev/sdb1                 lvm2 [100.00 GiB]

  Total: 2 [149.51 GiB] / in use: 1 [49.51 GiB] / in no VG: 1 [100.00 GiB]




3) /dev/sdb1을 기존의 논리적 볼륨에 추가


# vgextend VolGroup /dev/sdb1

  Volume group "VolGroup" successfully extended




4) 사용 가능한 PE 수 확인


# pvdisplay /dev/sdb1

  --- Physical volume ---

  PV Name               /dev/sdb1

  VG Name               VolGroup

  PV Size               100.00 GiB / not usable 2.66 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              25599

  Free PE               0

  Allocated PE          25599

  PV UUID               ymCJ0u-7O2l-U2o0-dTnO-4eGP-17ez-7zzL8f




5) 사용 가능한 PE를 LVM 파티션에 추가 뒤 파티션 resize


# lvextend /dev/VolGroup/lv_root -l +25599

  Size of logical volume VolGroup/lv_root changed from 47.57 GiB (12178 extents) to 147.57 GiB (37777 extents).

  Logical volume lv_root successfully resized


# resize2fs /dev/VolGroup/lv_root

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required

old desc_blocks = 3, new_desc_blocks = 10

Performing an on-line resize of /dev/VolGroup/lv_root to 38683648 (4k) blocks.

The filesystem on /dev/VolGroup/lv_root is now 38683648 blocks long.




6) 용량 확인


-- 사용 가능한 용량이 늘어난 것을 확인할 수 있다.

# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                      146G   39G  100G  28% /

tmpfs                 935M     0  935M   0% /dev/shm

/dev/sda1             477M   25M  427M   6% /boot




And


yum으로 rpm만 다운로드 하기

|


출처 : http://resetme.tistory.com/57



간혹 yum이 되지 않는(외부 네트워크가 되지 않는) 환경에서 rpm을 설치해야 할 일이 있다.

허나 설치할 rpm만 준비해서 가져갔다간 의존성 패키지들 때문에 난감할 수 있다.

이 때 의존성 패키지까지 모두 설치 해주는 yum을 이용하여 모든 의존성 패키지까지 다운로드하면 좋겠다 싶어 검색을 해보니

yum에서 다운로드만 할 수 있게끔 해주는 도구가 있는 것을 알게 되었다.



1. 설치


# yum install -y yum-downloadonly




2. 사용 방법


# yum install 설치할패키지명 --downloadonly --downloaddir=다운로드할_디렉터리


다운로드 디렉터리를 따로 만들어 지정해주지 않으면

/var/cache/yum/base/packages 혹은 /var/cache/yum/updates/packages 로 저장된다.




3. 한계


yum 명령어로 설치를 진행할 때 다운로드 후 설치가 진행 된다.

여기서 다운로드만 하고 멈추는 원리인데 만약 기존의 Linux에 이미 설치되어 있는 패키지, 혹은 설치되어 있는 의존성 패키지들은 다운로드가 되지 않는다.

즉, 완벽한 진행을 위해선 minimal로 설치 된 Linux에서 진행해야 한다.




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

Linux에서 Windows 공유폴더 사용(samba)  (1) 2015.10.05
CentOS에 Java & MySQL 설치 및 기본 셋팅  (0) 2015.08.07
CentOS에 ntfs usb 마운트  (0) 2015.06.05
Linux GPT 파티션  (0) 2015.06.04
Docker in CentOS 7 minimal  (0) 2015.04.09
And


CentOS에 ntfs usb 마운트

|


출처 : http://thisisyours.tistory.com/4



1. 설치


1) 준비


-- 기본 repository에 없는 패키지를 설치하기 위한 작업

# yum -y install yum-priorities

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

(http://wiki.centos.org/AdditionalResources/Repositories/RPMForge 에서 다른 버전도 다운받을 수 있다.)

# rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm



2) 필요 패키지 설치


# yum -y install fuse fuse-ntfs-3g dkms dkms-fuse




2. 마운트


-- -t 옵션으로 마운트 형식 설정해준 다음 마운트

#mount -t ntfs-3g /dev/sdc1 /mnt/usb




And


Linux GPT 파티션

|


출처

http://mslee89.tistory.com/23

http://net2free.tistory.com/228



리눅스를 설치하다 보면 'sda에는 gpt 디스크 라벨이 있어야 합니다' 혹은 'sda must have a GPT disk label' 이란 에러를 볼 수 있다.

간단히 말하면 하드디스크의 용량이 너무 커서 발생하는 에러이다.

이 때엔 Ctrl + Alt + F2 를 눌러 콘솔모드로 진입하여 아래 명령어 진행


# parted /dev/sda

parted) mklabel gpt

... yes


이렇게 진행 하면 하드디스크의 모든 내용이 사라지게 되며 하드디스크가 GPT 라벨로 생성된다.

(나의 경우는 윈도우 설치 및 셋팅 후 리눅스 멀티부팅 하려는 찰나에 이러한 에러를 맞게 되어 윈도우를 재설치해야 했다...)


다시 Ctrl + Alt + F5 를 눌러 Back 후 다시 진행 하면 된다고 한다.

(나는 윈도우를 설치하러 갔다.)


자세한 리눅스 GPT 설명 및 설정은 http://net2free.tistory.com/228 참조




And


Linux swap 메모리 추가

|


Oracle XE를 리눅스에 설치하여 실습하려는데 SWAP 메모리 공간이 부족해서 설치가 안되었다.

그래서 SWAP 공간을 늘려주는 방법을 구글링을 통해 실행하였다.

 

 

출처 : http://faq.hostway.co.kr/?mid=Linux_ETC&page=8&document_srl=1443

 

 

swap영여을 확보하기 위해서는 2가지 방법이 있다.


- Swap 파일 생성
- Swap 파티션 구성

 

그 중 이 글은 위의 방법을 이용하는 글이다.

 

 

1. SWAP 파일 생성

 

1) 메모리 용량 확인
# swapon –s, free

 

 

2) swap 메모리로 사용할 파일 생성 (1G 생성)

# dd if=/dev/zero of=/home/swapfile bs=1024 count=1000000

(/home/swapfile 로 만들었다.)

 

 

3) swap 파일로 포맷

mkswap /home/swapfile

 

 

4) swap 파일을 swap 공간으로 활성화

swapon /home/swapfile

 

 

5) 부팅 시 활성화 되도록 rc.local에 등록

# vi /etc/rc.d/rc.local
      9 swapon /home/swapfile

 

혹은

재부팅 후에도 적용하려면 /etc/fstab에 아래의 값을 추가해준다.

# vi /etc/fstab

/swapfile swap swap defaults 1 1

(출처 : http://egloos.zum.com/zicman/v/3032298)

 

 

2. SWAP 공간 삭제

 

더이상 필요 없을 시엔 삭제하면 된다.

 

1) swap 비활성화

# swapoff /home/swapfile

 

 

2) 파일 삭제

#rm /home/swapfile

 

 

3) rc.local 정보 삭제

혹은 /etc/fstab 의 정보 삭제

 

 

 

And


Ubuntu service 및 daemon 관리, Update & Upgrade

|


- 2015.02.24


출처 : http://www.server-world.info/en/note?os=Ubuntu_14.04&p=initial_conf&f=4
          http://www.server-world.info/en/note?os=Ubuntu_14.04&p=initial_conf&f=5

 

 

1. 부팅 service 관리


부팅 시 실행되는 목록 확인


# initctl list
mountnfs-bootclean.sh start/running
rsyslog start/running, process 829
tty4 start/running, process 985
udev start/running, process 416
upstart-udev-bridge start/running, process 411
mountall-net stop/waiting
passwd stop/waiting
....
....

 


start/running 이라고 되어 있는 것이 부팅될 때 실행되는 것이며, process *** 이 process의 PID 이다.


각각의 데몬들은 /etc/init 디렉터리 안에서 관리할 수 있다.


만약 ssh의 데몬을 정지하고 싶다면 해당 데몬의 conf 파일에서 runlevel 앞에 주석을 주면 된다.

# vi /etc/init/ssh.conf
  7 #start on runlevel [2345]

 

 

 

 

2. 부팅 시 시작되는 service 조회


# grep "start on" /etc/init/*


해당 start on 들에 대한 자세한 설명은 아래 man 페이지 참조

# man upstart-events

 

 

 

 

3. sysv-rc-conf


sysv-rc-conf 툴을 이용 SysVinit에 대한 데몬들을 쉽게 관리할 수 있다.

 


[설치]


# aptitude -y install sysv-rc-conf

 


[service 목록 확인]


# sysv-rc-conf --list
acpid
apparmor     S:on
....
networking
ntp          1:off      2:on    3:on    4:on    5:on
ondemand     2:on       3:on    4:on    5:on
pppd-dns     1:on       2:on    3:on    4:on    5:on
....

 

 


[실습]


ntp 자동 실행 설정

# sysv-rc-conf ntp on


ntp 자동 실행 해제

# sysv-rc-conf ntp on

 

 

 

 

4. Update & Upgrade


# aptitude update
# aptitude -y upgrade

 

 

[Tip] - Update vs Upgrade


아래의 설명으로 대체
(http://askubuntu.com/questions/94102/what-is-the-difference-between-apt-get-update-and-upgrade)


apt-get update updates the list of available packages and their versions, but it does not install or upgrade any packages.
apt-get upgrade actually installs newer versions of the packages you have. After updating the lists, the package manager knows about available updates for the software you have installed. This is why you first want to update.

 

 

 

And


Ubuntu Networking 설정, IPv6 비활성화

|


- 2015.02.24

 


1. Network 설정


# vi /etc/network/interfaces
  9 auto eth0
 10 iface eth0 inet static
 11 address 192.168.1.40
 12 #network 192.168.1.0                // 적지 않아도 무관
 13 netmask 255.255.255.0
 14 #broadcast 192.168.1.255         // 적지 않아도 무관
 15 gateway 192.168.1.254
 16 dns-nameservers 168.126.63.1 168.126.63.2 8.8.8.8


eth0 재시작
    # ifdown eth0 && ifup eth0

 

 

 

 

2. ipv6 비활성화


ipv6 비활성화 전의 상황

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:5d:64:e6:44
             inet addr:192.168.1.40  Bcast:192.168.1.255  Mask:255.255.255.0
             inet6 addr: fe80::215:5dff:fe64:e644/64 Scope:Link
             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             RX packets:1347 errors:0 dropped:0 overruns:0 frame:0
             TX packets:944 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:1000
             RX bytes:153312 (153.3 KB)  TX bytes:135864 (135.8 KB)

 

비활성화

# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1

 


ipv6이 비활성화 된 것을 확인할 수 있다.

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:5d:64:e6:44
             inet addr:192.168.1.40  Bcast:192.168.1.255  Mask:255.255.255.0
             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             RX packets:1394 errors:0 dropped:0 overruns:0 frame:0
             TX packets:967 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:1000
             RX bytes:157778 (157.7 KB)  TX bytes:139346 (139.3 KB)

 

 

 

And


prev | 1 | 2 | 3 | 4 | next