집 네트워크 망에서의 용량 큰 파일의 복사 및 이동은 컴퓨터간의 심각한 부하를 일으킴과 동시에 속도도 느리다.
하지만 실제 Real PC끼리 말고 Real PC -> VM 으로의 데이터 이동은 네트워크를 이용할 필요가 없다.
내가 옮길 데이터들을 ISO 이미지로 구워 VM 안의 DVD-ROM 으로 마운트 시키면 되는 것이다.
내가 사용한 프로그램은 imgBrun 이라는 프로그램이다.
다운로드 site : http://www.imgburn.com/index.php?act=download
미러링 사이트 중 아무거나 골라 다운로드하면 된다. 속도가 매우 느리다..
한글판으로 사용하려면 한글 언어팩을 다운 받아 C:\Program Files (x86)\ImgBurn\Languages 에 넣으면 된다.
일부 메뉴가 한글로 덜 번역되어 오류가 뜨지만 무시하고 사용하면 된다고 한다. (from http://rdsong.com/809)
메뉴가 여러가지 있는데 내가 선택한 메뉴는 Creat image file from files/folders 이다. (4번째 메뉴)
(주의해야 할 점은 CD 에 불붙어 있는 아이콘은 CD로 굽는 메뉴라는 것)
Creat image file from files/folders 를 누르면 왼쪽 중간에 내가 넣고자 하는 파일 및 폴더를 Source 에 넣은 후
맨 아래 폴더그림 -> iso 그림 버튼을 누르고 OK 만 계속 누르면 끝이다.
네트워크로 파일 복사할 때보다 약 10배정도 빠른 속도를 보여줬다.
(네트워크 : 10m/s, ISO img : 100m/s)
꼭 VM으로의 파일 이동 목적이 아니더라도 앞으로 두고두고 유용히 쓸 수 있는 프로그램인듯 하다.
'Windows > Tips' 카테고리의 다른 글
| 구형 HDD를 SSD로 교체하기 (by Symantec System Recovery 2013 Trial Version)_2014-10-20 수정 (0) | 2015.03.27 |
|---|
- 2014.11.18
1. useradd -D
하나의 명령어이며, 유저 생성에 대한 기본 설정
useradd에 대한 기본 설정 출력
# cat /etc/default/useradd
GROUP=100 // -g : /etc/group d에 user 번호가 100이다. 즉 user 생성 시 자신의 이름으로 그룹 생성하라는 설정번호
HOME=/home // -b
INACTIVE=-1 // -f : 계정 만료 시 어떻게 할 것인가?
-1 : 기능정지 / 0 : 사용정지
EXPIRE= // -e YYYYMMDD
SHELL=/bin/bash // -s
SKEL=/etc/skel // 옵션 x, vi로만 편집
CREATE_MAIL_SPOOL=yes
[문제1]
shell : tsch -> 문서를 이용한 변경
$home : /test -> 명령어를 이용한 변경
skel : /skelsam -> 문서를 이용한 변경
user : user7
변경을 한 후 useradd user7 입력 후 user7이 정상적으로 로그인되는지 확인
vi /etc/default/useradd 를 통해 바꾼다.
useradd -D -b /test 로 바꾼다.
없는 디렉터리 생성한다.
계정생성하고 passwd 바꾸고 실행하면 됨
[문제2]
파일 /backup/grub.conf 를 디렉터리 /usertest/test/public 에 grub로 복사후 열기
5번째줄 하단에 리눅스 IP의 출력내용을 삽입
(eth로 시작하는것만 삽입하고 lo로 시작하는 것은 제외)
skel로 사용할 디렉토리 /test/ut/ 에 파일 conf로 저장후 열기
디렉터리 /usertest/ 에 사용자 user8 생성
이때 파일 conf가 .conf로 자동생성되도록 해보세요.
절대 기본정보 쓰지않고 옵션만을 통해서 작업하세요
# mkdir -p /usertest/test/public
# cp /backup/grub.conf /usertest/test/public/grub
# vi /usertest/test/public/grub
:5r! ifconfig eth0
-> lo 로 시작하는 부분 삭제
!mkdir -p /test/ut/
:w /test/ut/.conf
# cp /etc/skel/.* /test/ut/
# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /test/ut/
# useradd -d /usertest/user8 -m -k /test/ut user8
# passwd user8
[문제3]
문서를 이용한 기본 skel 변경 : /test/ut
사용자 : user9
명령어 : useradd user9
# vi /etc/default/useradd
/etc/skel -> /test/ut
# useradd user9
# passwd user9
2. usermod
user modify
usermod [option] [argument] ... [account_name]
# tail -5 /etc/passwd
testtt:x:513:513::/usertest/testtt:/bin/bash
user6:x:514:514::/linux/user6:/bin/bash
user7:x:515:515::/test/user7:/bin/tcsh
user8:x:516:516::/usertest/user8:/bin/bash
user9:x:517:517::/home/user9:/bin/bash
-u -g -c -d -s
*
-l : user 이름 변경, -p : passwd 변경이지만 사용하지 않는 것이 편함.
만들고 난 후기 때문에 skel 은 변경 불가능
[문제1]
user3 의 home directory를 gangnam -> user3 로 변경
# usermod -d /linux/user3 user3
# ll /linux
합계 8
drwx------ 4 user3 user3 4096 2014-11-17 14:13 gangnam
drwx------ 4 user6 user6 4096 2014-11-18 12:52 user6
# mv /linux/gangnam/ /linux/user3/
하지만 user3 로그인 시 /linux/user3/ 이 아닌 / 에서 로그인이 된다.
passwd 는 동사무소와 같다. 동사무소에 신고한 뒤에 실제로 이사를 해야한다.
# mv /linux/gangnam/ /linux/user3/
# ll /linux
합계 8
drwx------ 4 user3 user3 4096 2014-11-17 14:13 user3
drwx------ 4 user6 user6 4096 2014-11-18 12:52 user6
[문제2]
Q : user2 : testuser -> usertest
A : # usermod -c usertest user2
Q : user7 : tcsh -> bash
A : # usermod -s /bin/bash user7
Q : user9 : comment -> lastuser
A : # usermod -c lastuser user9
[문제3]
samadal 포함 모든 사용자를 /export/home/ 으로 변경하세요
변경후 정상로그인되는지 확인
# mkdir -p /export/home/
# mv /linux/user3 /export/home/
# mv /usertest/ /export/home/
# mv /export/home/usertest/* /export/home/
# mv /linux/user6/ /export/home/
# mv /test/user7/ /export/home/
# mv /home/samadal/ /export/home/
# mv /home/us* /export/home/
각자의 home directory 경로를 /export/home/ 으로 변경
치환 명령어 사용하면 편하다. ex) %s//home//export/home
# vi /etc/passwd
'Study > CentOS' 카테고리의 다른 글
| [11] 허가권, 소유권, chmod, chown, chgrp (0) | 2015.03.28 |
|---|---|
| [10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
| [08] passwd, shadow, group, gshadow, useradd, passwd, skel (0) | 2015.03.27 |
| [07] vi(2), 유용한 vi 명령어 메모 (0) | 2015.03.27 |
| [06] 명령어 find, shutdown, vi(1) & FTP 방화벽 설정 관련(집) (0) | 2015.03.27 |
[ hw06 ]
---------------------------------------------------------------------
#1
#include <stdio.h>
int main()
{
int a[10];
int i;
for(i=0;i<10;i++)
{
printf("%d번째 정수를 입력하시오 : ", i+1);
scanf("%d", &a[i]);
}
for(i=0;i<9;i++)
{
if (a[i] > a[i+1]) // 따로 tmp 인수를 만들지 않고 기존의 인수를 활용하려고 하였다.
a[i+1] = a[i];
}
printf("가장 큰 정수값은 %d입니다.\n", a[9]);
return 0;
}
---------------------------------------------------------------------
#2
#include <stdio.h>
#define size_a 10
float max(float *p);
float min(float *p);
float avg(float *p);
int main()
{
float a[size_a];
int i;
float *p;
p = a;
for(i=0;i<size_a;i++)
{
printf("%d번째 체중 : ", i+1);
scanf("%f", &a[i]);
}
printf("최고체중 : %0.1f 최저체중 : %0.1f 평균체중 : %0.1f\n", max(p), min(p), avg(p));
return 0;
}
float max(float *p){
int i;
float max;
for(i=0;i<size_a-1;i++)
{
if (*(p+i) > *(p+i+1))
max = *(p+i);
}
return max;
}
float min(float *p){
int i;
float min;
for(i=0;i<size_a-1;i++)
{
if (*(p+i) > *(p+i+1))
min = *(p+i+1);
}
return min;
}
float avg(float *p){
int i;
float avg = 0;
for(i=0;i<size_a;i++)
avg += *(p+i);
return avg/10;
}
---------------------------------------------------------------------
#3
#include <stdio.h>
double dp(double x, int n);
int main(){
double x;
int n;
printf("x^n 을 계산하는 프로그램입니다. x와 n을 입력하시오. (x, n) :");
scanf("%lf, %d", &x, &n);
printf("%lf의 %d제곱 = %lf", x, n, dp(x, n));
return 0;
}
double dp(double x, int n){
if (n==1)
return x;
else
return x*dp(x, n-1); // 재귀함수 사용
}
---------------------------------------------------------------------
#4 // 구글 검색해서 힌트 얻음
#include <stdio.h>
int gcd(int a, int b);
int main(){
int a, b;
printf("최대공약수를 구할 두 수를 입력하세요(a, b) : ");
scanf("%d, %d", &a, &b);
printf("%d와 %d의 최대공약수는 %d 입니다.\n", a, b, gcd(a, b));
return 0;
}
int gcd(int a, int b){ // 정수론 시간에 배운 내용이었는데,, 이렇게 활용되는구나
if (b==0)
return a;
gcd(b, a%b);
}
---------------------------------------------------------------------
#5
#include <stdio.h>
#include <stdlib.h>
int main(){
int *score;
int sn, i, a, b, c, d, f;
a = b = c = d = f = 0;
printf("학생 수 : ");
scanf("%d", &sn);
score = (int *)malloc(sizeof(int)*sn);
for(i=0;i<sn;i++){
printf("%d번째 학생의 점수를 입력하세요 : ", i+1);
scanf("%d", &score[i]);
if (score[i] >= 90)
a++;
else if (score[i] >= 80)
b++;
else if (score[i] >= 70)
c++;
else if (score[i] >= 60)
d++;
else
f++;
}
printf("\n90점 이상 : ");
for(i=0;i<a;i++){
printf("*");
}
printf("\n80점 이상 : ");
for(i=0;i<b;i++){
printf("*");
}
printf("\n70점 이상 : ");
for(i=0;i<c;i++){
printf("*");
}
printf("\n60점 이상 : ");
for(i=0;i<d;i++){
printf("*");
}
printf("\n60점 미만 : ");
for(i=0;i<f;i++){
printf("*");
}
printf("\n");
free(score);
return 0;
}
---------------------------------------------------------------------
#6
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int num, seed;
int i = 1;
seed = time(NULL);
srand(seed);
num = rand() % 100;
while(1)
{
printf("어떤 숫자일지 맞춰보세요 : ");
scanf("%d", &seed);
if (num == seed){
printf("%d번만에 맞추셨네요~ 짝짝짝\n", i);
break;
}
else if (num > seed ){
printf("더 작은 수를 입력하셨네요~\n");
i++;
}
else{
printf("더 큰 수를 입력하셨네요~\n");
i++;
}
}
return 0;
}
---------------------------------------------------------------------



