1. swap 용량 늘이기

① swap 용량 확인

#cat /proc/meminfo | grep SwapTotal

② swap 파일을 저장할 디렉토리 생성

#mkdir /swap

 

③ swapfile 생성

- 2GB(2048) swapfile 생성

#dd if=/dev/zero of=/swap/swapfile bs=1024 count=2097152

(count=2048 x 1024=2097152)

- swap 영역 지정

#mkswap /swap/swapfile

④ swap 디렉토리로 이동 후 swapfile 활성화

#cd /swap

#swapon swapfile

 

⑤ 늘어난 swap 용량 확인

#cat /proc/meminfo | grep SwapTotal

⑥ /etc/fstab에 swap 내용 추가 후 저장

 

2. swap 용량 제거

① swap 비활성화

#swapoff swapfile

 

② swap 디렉토리 및 swapfile 삭제

#rm -rvf /swap/swapfile

 

③ /etc/fstab에 추가한 내용 주석처리 or 제거

'Linux' 카테고리의 다른 글

리눅스에서 Tomcat 설치 해보기  (0) 2020.11.29
리눅스에서 USB를 차단하는 방법  (0) 2019.12.10
FTP  (0) 2019.11.25
NFS  (0) 2019.11.22
리눅스에서 gcc 설치  (0) 2019.11.08

FTP

 

1. FTP 정의

FTP

FTP(File Transfer Protocol)란 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜로 원격지의 서버(컴퓨터)에 파일을 올리거나 클라이언트로 파일을 가져올 때 사용한다.

 

FTP 서버의 동작구조

 

2. FTP 서버 설치

#yum install vsftpd

 

설치 완료 후 생성되는 파일 목록

vsftpd.conf // vfsftpd의 메인 설정 파일

user_list // ftp접속을 제한할 사용자 리스트

ftpusers // PAM에서 사용하는 ftp접속제한자 리스트

 

3. FTP 서버 설정

#vi /etc/vsftpd/vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES // 익명 사용자 접속 허용 여부
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES // 로컬 계정 사용자들의 접속 허용 여부, NO로 설정되어 있을 때 로컬 계정으로 접속을 시도하면 "530 This FTP server is anonymous only."라는 메시지를 출력하고 접속이 거부된다.
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES // 쓰기 권한 허용 여부
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022 // 로컬 계정 사용자들의 umask값을 설정하는 지시자이다. 대부분의 ftp 서버에서 기본 umask값은 022인데 vsftpd에서는 umask 기본값은 077이다. umask값이 077로 설정되어 있을 경우 새로 생성되는 파일의 퍼미션은 600, 새로 생성되는 디렉터리의 퍼미션은 700이 된다.

#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
# When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
#anon_upload_enable=YES // 익명의 사용자에게 파일 업로드를 허용할 것인지, 거부할 것인지를 설정
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES // 익명의 사용자에게 디렉토리 생성 권한을 허용할 것인지, 거부할 것인지를 설정
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES // ftp 서버에 접속한 사용자가 특정 디렉터리로 이동했을 때 개별 디렉터리의 메시지를 보여주도록 허용할 것인지, 거부할 것인지를 설정
#
# Activate logging of uploads/downloads.
xferlog_enable=YES // ftp접속 후에 파일 업로드와 다른 로드에 대한 로그를 남길 것인지, 남기지 않을 것인지를 설정

설정 시 디스크의 용량을 고려해야 하며 파일 업로드/다운로드 로그는 굉장히 많은 용량을 차지한다.
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES // 익명의 사용자가 FTP로 접속해서 업로드한 파일의 소유권을 자동으로 변경할 수 있는 기능
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/xferlog // ftp로그 파일 위치를 설정
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.

xferlog_std_format=YES // 로그파일에 남길 포맷을 기본으로 남길 것인지, 기본으로 남기지 않을 것인지를 설정
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600 // ftp연결에서 idle타임에 대한 타임아웃 값을 설정, 만약 600으로 설정되어 있다면 ftp 접속 후에 아무런 작업이 없으면 강제 로그아웃을 진행한다.
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120 // 데이터 전송 시 적용되는 타임아웃 값을 설정
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure // 익명의 사용자가 접속하는데 사용할 사용자 설정
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES // async ABOR명령 가능 여부 설정
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode. The vsftpd.conf(5) man page explains
# the behaviour when these options are disabled.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES // ASCII 모드로 업로드 가능 여부 설정(기본값 NO)

#ascii_download_enable=YES // ASCII 모드로 다운로드 가능 여부 설정(기본값 NO)
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service. // FTP 접속시 사용자에게 보여질 환영 메시지 설정
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails // 익명으로 접속 시에 사용하는 계정은 anonymous이고 패스워드는 email 형식으로 입력하게 되는데 email형식으로 입력하는 패스워드에서 email 주소를 /etc/vsftpd.banned_emails파일에 등록해서 패스워드를 제한하는 기능으로 서비스 거부 공격(DOS)을 방어하는 용도로도 사용한다.
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
#chroot_local_user=YES // 특정 사용자가 아닌 전체 사용자를 대상으로 사용자의 홈 디렉터리의 상위 디렉터리로 벗어나지 못하도록 설정하는 기능으로 "chroot_list_enable=YES", "chroot_local_user=YES"로 설정되어 있을 경우 chroot_list파일에 등록된 사용자들만 이 기능에서 적용받지 않게 된다.


#chroot_list_enable=YES // 전체 사용자가 아닌 특정 사용자들에 대하여 자신의 홈디렉터리를 루트디렉토리로 인식하도록 하는 기능으로 이 기능은 사용자의 홈디렉토리의 상위 디렉토리로 벗어나지 못하도록 하는 설정이다.  "chroot_list_enable=YES"로 설정한다음 /etc/vsftpd/chroot_list파일에 이 기능을 적용할 사용자계정명을 등록해놓으면 된다.

chroot_list파일에 등록된 사용자들에 한하여 자기 자신의 홈 디렉토리의 상위 디렉토리 이동이 제한된다. 이 파일에 사용자 계정을 등록할 때에는 한 행에 한 사용자 계정씩 등록해야 한다.
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list // chroot_list의 파일 위치 설정
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES // ftp접속 시에는 기본적으로 ls -R옵션을 허용하지 않으며 ls_recurse_enable 기능을 YES로 설정하면 -R옵션이 허용되어 ftp접속 후에 디렉터리 목록을 확인할 때 서브 디렉터리들의 목록까지 확인할 수 있다.
#

# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=NO // vsftpd를 xinetd이 아닌 standalone으로 서비스할 경우 listen=NO를 YES로 변경하고 listen_port에 서비스할 포트번호(기본 21번)를 지정해주면 된다.

listen_port=21
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
# Make sure, that one of the listen options is commented!!
listen_ipv6=YES

pam_service_name=vsftpd // PAM설정 파일명 지정
userlist_enable=YES // /etc/vsftpd/user_list파일 활성화 여부
tcp_wrappers=YES // vsftpd로 서비스 동작 시 tcp_wrapper의 접근제어 허용 여부

force_dot_files=YES // "."으로 시작하는 숨김 파일을 볼 수 있게 설정
hide_ids=YES // 특수한 목적으로 파일 및 디렉터리의 소유자를 숨길 경우 사용
use_localtime=YES //
max_clients=30 // ftp에 접속하는 클라이언트 수를 제한하는 기능으로 max_clients=30으로 설정하면 ftp접속을 최대 30명까지 허용한다.
max_per_ip=3 // ftp동시 접속자 수를 제한하는 기능으로 max_per_ip=3으로 설정하면 한IP에서 동시에 3번까지만 접속이 가능하다. 
anon_max_rate=100000 // 익명 사용자 전송속도 제한, 기본단위 bps
local_max_rate=500000 // 유저 전송속도 제한, 기본단위 bps
deny_file={*.mp3,*.wmv} // mp3, wmv 등의 확장자를 가진 파일의 업로드를 제한하는 기능
hide_file={*.mp3,.hidden,hide*,h?} // 특정 파일의 패턴을 숨길 때 사용하는 기능으로 hide_file={*.mp3,.hidden,hide*,h?} 으로 설정하면 mp3파일, hide로 시작하는 파일, h?(h로 시작하는 두 글자 이름) 파일을 숨길수 있다.



4. FTP 용 사용자 계정 생성

#useradd ftpuser

#passwd ftpuser

 

5. 방화벽 설정

FTP 서버 시작 후 포트 확인

#service vsftpd start

방화벽 설정 및 iptables 시작

#vi /etc/sysconfig/iptables

#service iptables restart

#iptables --list

 

추가된 정책 확인

6. 클라이언트에서 FTP 공유 디렉터리 접속

Windows 환경

- 파일탐색기 창을 열어서 FTP 접속

ftp:://[ftp서버주소IP]

- FTP 계정으로 로그인

- FTP 접속 확인

Linux 환경

- FTP 접속 도구 설치

#yum install ftp

 

- FTP 접속

#ftp [FTP 서버 주소 IP]

- FTP 계정으로 로그인

- FTP 접속 확인

 

'Linux' 카테고리의 다른 글

리눅스에서 USB를 차단하는 방법  (0) 2019.12.10
리눅스에서 swap 사이즈 용량을 늘이는 방법  (0) 2019.12.10
NFS  (0) 2019.11.22
리눅스에서 gcc 설치  (0) 2019.11.08
리눅스 모니터링 유틸리티 정리  (0) 2019.04.18

NFS

1. NFS 정의

NFS

NFS(Network File System)는 썬 마이크로시스템즈가 개발한 프로토콜로 컴퓨터 사용자가 원격지 컴퓨터에 있는 파일을 마치 로컬 파일인 것처럼 사용할 수 있게 해주며 RPC(Remote Procedure Call)를 이용해 통신한다.

 

RPC

RPC(Remote Procedure Call)란 네트워크상의 다른 컴퓨터에 있는 프로그램에 서비스를 요청하는 데 사용되는 프로토콜이다.

 

2. NFS 주요 서비스 및 프로그램

서비스

- nfs : NFS 메인 서비스로 RPC 콜이 있으면 작동한다.

- nfslock : NFS클라이언트가 서버의 파일을 잠글 때 필요한 데몬

- rpcbind : RPC요청에 의해 포트를 결정하기 위한 데몬(예전 portmap 역할)

 

프로그램

- rpc.mountd : NFS클라이언트로부터 마운트 요청을 받았을 때 검증 및 마운트를 진행하는 데몬

- rpc.nfsd : NFS 서비스 데몬

- rpc.lockd : 파일 잠금을 통해 여러 사용자가 동시에 한 파일을 수정하는 것을 방지

- rpc.statd : rpc.lockd와 함께 작동하면서 NFS서버가 비정상적으로 종료되었거나 리부팅 했을 경우 복구한다.

- rpc.rquotad : 사용자 쿼터 정보를 제공하는 데몬

- rcp.idmapd : NFSv4의 이름을 제공하는 데몬

 

3. NFS 서버 설치

#yum install nfs-utils

 

추가로 설치되는 패키지
libnfsidmap

 

4. NFS 서버 설정

#vi /etc/exports

- [공유할 디렉토리] / [허용할 클라이언트 IP] / [옵션]

ex) /data 192.168.10.99(rw,sync,no_root_squash)

/data 192.168.10.*(rw,sync,no_root_squash)

옵션 설명
ro 읽기만 허용
rw 읽기/쓰기 허용
sync 요청시 쓰기 작업을 동기화
noaccess 공유된 디렉토리의 특정 하위 디렉토리의 접근제한
root_squash 클라이언트 root를 nobody로 매핑
no_root_squash 클라이언트 root를 root로 매핑
all_squash 모든 사용자를 nobody로 매핑
no_all_squash root를 제외하고 서버와 클라이언트의 사용자로 매핑

#exportfs -v

- /etc/exports 파일에 설정한 공유 목록 확인

! TIP

클라이언트에서 nfs서버에 공유된 디렉토리 정보를 확인하는 방법

#showmount -e [NFS서버 IP]

showmount 명령어를 입력했는데 다음과 같은 오류가 발생했을 경우

방화벽에서 udp 111, 20048번 포트를 열어주면 문제가 해결됨

#iptables -A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
#iptables -A INPUT -p udp -m state --state NEW -m udp --dport 20048 -j ACCEPT

 

#vi /etc/sysconfig/nfs

- RPC 데몬 기본포트 변경(필요시 진행하며 /etc/sysconfig/nfs 파일이 없을 경우 생성)

#
# Note: For new values to take effect the nfs-config service
# has to be restarted with the following command:
# systemctl restart nfs-config
#
# Optional arguments passed to in-kernel lockd
#LOCKDARG=
# TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803 // rpc.lockd 데몬 TCP 포트
# UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769 // rpc.lockd 데몬 UDP 포트
#
# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
RPCNFSDARGS=""
# Number of nfs server processes to be started.
# The default is 8.
#RPCNFSDCOUNT=16
#
# Set V4 grace period in seconds
#NFSD_V4_GRACE=90
#
# Set V4 lease period in seconds
#NFSD_V4_LEASE=90
#
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
RPCMOUNTDOPTS=""
# Port rpc.mountd should listen on.
#MOUNTD_PORT=892 // rpc.mountd 데몬 포트
#
# Optional arguments passed to rpc.statd. See rpc.statd(8)
STATDARG=""
# Port rpc.statd should listen on.
#STATD_PORT=662 // rpc.statd 데몬 포트
# Outgoing port statd should used. The default is port
# is random
#STATD_OUTGOING_PORT=2020
# Specify callout program
#STATD_HA_CALLOUT="/usr/local/bin/foo"

#
#
# Optional arguments passed to sm-notify. See sm-notify(8)
SMNOTIFYARGS=""
#
# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
RPCIDMAPDARGS=""
#
# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
# Note: The rpc-gssd service will not start unless the
# file /etc/krb5.keytab exists. If an alternate
# keytab is needed, that separate keytab file
# location may be defined in the rpc-gssd.service's
# systemd unit file under the ConditionPathExists
# parameter
RPCGSSDARGS=""
#
# Enable usage of gssproxy. See gssproxy-mech(8).
GSS_USE_PROXY="yes"
#
# Optional arguments passed to blkmapd. See blkmapd(8)
BLKMAPDARGS="":


 

5. NFS 공유 디렉토리 생성

공유 디렉토리 생성 및 권한 변경

#mkdir /data

#chmod 777 /data

 

6. 방화벽 설정

NFS서버 시작

#service rpcbind start

#service nfslock start

#service rpcidmapd start

#service nfs start

 

NFS 와 관련된 포트확인

#rpcinfo -p

 

방화벽 설정 및 iptables 시작

#vi /etc/sysconfig/iptables

#service iptables restart

#iptables --list

 

추가된 정책 확인

 

7. 클라이언트에서 NFS 공유 디렉토리 접속

Windows 환경

- NFS 기능 사용

제어판 -> 프로그램 -> 프로그램 및 기능에서 NFS용 서비스 항목에 체크

- 네트워크 드라이브 연결

파일탐색기 -> 네트워크 마우스우클릭 -> 네트워크 드라이브 연결(N)... -> 계정 및 패스워드 입력

- 접속성공

Linux 환경

- NFS 클라이언트 패키지 설치

#yum install nfs-utils

 

- 마운트 포인트 생성 및 권한 변경

#mkdir /nfsmount

#chmod 777 /nsfmount

 

- 마운트 명령어 실행

#mount -t nfs NFS서버의 IP:/data /nfsmount/

- 부팅시 자동으로 마운트 되게 하려면 /etc/fstab 에 다음과 같은 내용 추가

 

'Linux' 카테고리의 다른 글

리눅스에서 swap 사이즈 용량을 늘이는 방법  (0) 2019.12.10
FTP  (0) 2019.11.25
리눅스에서 gcc 설치  (0) 2019.11.08
리눅스 모니터링 유틸리티 정리  (0) 2019.04.18
마운트 시 오류 'mount error(112): Host is down'  (0) 2019.01.25

리눅스에서 gcc 설치

gcc란?

- GNU 컴파일러 모음(GNU Compiler Collection)은 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러를 말한다. 처음에는 C 컴파일러였으며 'GNU C Omplier'의 약어였다. 하지만 기능이 추가되면서 C++ 같은 다른 언어도 지원하게 되었고, 'GNU Compiler Collection'으로 이름을 변경하였다. 공식적으로 지원하는 언어는 C, C++, Objective-C, Fortran, Ada, Go이다. Java는 GCC 7.1 버전부터 지원이 중단되었음.

 

CentOS 7에서 배포하는 GCC 버전은 최신 버전의 GCC가 아닌 4.8.5 이므로 GCC의 버전을 상위 버전으로 올리고 싶을 경우 원하는 버전의 GCC를 다운로드하여 직접 설치를 진행해야 된다.

 

1. gcc 버전 확인

#gcc -v

2. gcc 다운로드

https://gcc.gnu.org/releases.html로 접속, 설치하려는 버전 확인 후 다운로드

 

GCC Releases - GNU Project - Free Software Foundation (FSF)

Important: because these are source releases, they will be of little use to you if you do not already have a C compiler on your machine. If you don't already have a compiler, you need pre-compiled binaries. Our binaries page has references to pre-compiled

gcc.gnu.org

3. gcc 설치

① 압축해제 후 작업 디렉터리로 이동

#tar -zxvf gcc.4.9.4.tar.gz

#cd gcc-4.9.4

 

② GCC 빌드 환경 구성

#./configure --disable-multilib --enable-languages=c,c++

 

! TIP

configure 시 다음과 같은 에러가 발생할 경우 gmp-devel, mpfr-devel, libmpc-devel 설치 진행

#yum install gmp-devel mpfr-devel libmpc-devel

③ 소스코드 컴파일

#make -j 4

#make install

 

④ 설치된 버전 확인

#gcc -v

 

'Linux' 카테고리의 다른 글

FTP  (0) 2019.11.25
NFS  (0) 2019.11.22
리눅스 모니터링 유틸리티 정리  (0) 2019.04.18
마운트 시 오류 'mount error(112): Host is down'  (0) 2019.01.25
error db5 error(11) from dbenv- open resource temporarily unavailable  (0) 2019.01.22

1. 종합 성능 모니터링 도구

top : TUI 시스템 모니터링 도구

htop : 향상된 top

glances : 더욱 향상된 top

vmstat : 시스템 전반적인 사용량 확인

Dstat : 시스템의 다양한 상태 확인

sar : 시스템 정보 수집, 리포트, 저장

 

 

2. 프로세스 모니터링 도구

pstree : 프로세스 트리 출력

ps : 프로세스 상세정보

pidstat : 과부하 프로세스 조회

strace : 프로세스 시스템 콜 및 시그널 추적

lsof : 열린 파일 및 소켓 조회

 

3. 메모리 모니터링 도구

free : 메모리 사량 조회

/proc/memoryinfo

slabtop

 

4. 네트워크 모니터링

iptraf-ng : 트래픽 모니터링

ethtool : 네트워크 인터페이스 확인 및 설정

netstat : 네트워크 인터페이스 통계 및 기타 정보 확인

 

5. 전력 모니터링

PowerTOP

cpupower

 

6. 블록 디바이스 모니터링

df : 디바이스 사용량 확인

iotop

iostat : 각 디바이스 별 IO조회

 

7. 파일 시스템 모니터링

lsblk

findmnt : 트리 형태 마운트 된 내역 출력

ext4 파일 시스템 정보 확인 : tune2fs -l

xfs 파일 시스템 정보 확인 : xfs_info

 

8. 하드웨어 정보 확인

lspci : PCI 디바이스 확인

lsusb : USB 장치 확인

lscpu : CPU 정보 확인

tmon : 온도 확인 및 냉각 장치 조절

'Linux' 카테고리의 다른 글

NFS  (0) 2019.11.22
리눅스에서 gcc 설치  (0) 2019.11.08
마운트 시 오류 'mount error(112): Host is down'  (0) 2019.01.25
error db5 error(11) from dbenv- open resource temporarily unavailable  (0) 2019.01.22
ffmpeg 실행시 오류  (0) 2019.01.22

 

1. macOS dmg 파일 다운로드

 

2. 다운로드한 macOS dmg 파일을 iso 파일로 변환

- Windows에서 macOS dmg 파일을 변환하려면 dmg2img 도구가 필요합니다.

 

① Windows 버전에 맞는 dmg2img 파일 다운로드

② 다운로드한 macOS dmg 파일을 dmg2img 폴더로 복사

③ 명령프롬프트(cmd)를 관리자 권한으로 실행

④ dmg2img 폴더로 이동 후 dmg파일을 iso 파일로 변환하는 명령어 입력

C:\Users\user\Desktop\vmware macOS install\dmg2img-1.6.7-win32>dmg2img.exe MacOS[filename].dmg  MacOS[ISOname].iso

⑤ 변환된 iso 파일 확인

 

3. VMware Workstation Unlocker 설치

- VMware Workstation Unlocker는 Windows의 VMware Workstation에서 누락된 기능을 수정/ 개선합니다.

 

① VMware Workstation Unlocker 다운로드

② VMware Workstation 버전에 맞는 Unlocker 다운로드 후 압축 풀기

③ VMware Workstation Unlocker 폴더에 있는 Windows용 install.bat 스크립트 실행

! Tip

VMware Workstation와 호환 가능한 Unlocker 버전

VMware Workstation 10 -> Unlocker 1.3.0

VMware Workstation 12/11 -> Unlocker 2.0.7

 

4. VMware Workstation 실행 후 MacOS 설치

① VMware Workstation 실행

② MacOS 가상 머신 생성(중간과정 생략)

③ 생성된 MacOS 가상머신 CD/DVD 롬에 MacOS.iso 파일 이미지 삽입

! 이미지 삽입 중 다음과 같은 에러 발생할 경우

시스템 재부팅 후 BIOS 화면에서 Virtualization 기능이 활성화되어있는지 확인하고 Virtualization 기능이 꺼져있을 경우 활성화시켜주면 문제가 해결됨

 

④ MacOS 설치(중간과정 생략)

⑤ MacOS 설치 완료

1. 오류메시지

mount error(112): Host is down

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) 

 

samba서버와 client host 간의 SMB 프로토콜 버전이 다를경우 오류가 발생하며 SMB 프로토콜 버전에 맞게 vers=1.0, 2.0.. 옵션을 추가해서 마운트를 한뒤 문제가 해결되었음

 

ex)

#mount -t cifs -o vers=<version> //<server_name>/<share> /<mountpoint>

#vi /etc/fstab

//<server_name>/<share> /<mountpoint> cifs vers=<version>,username=<user>,password=<password> 0 0

(vers=xx 입력시 띄어쓰기와 ,에 주의할것!!)

1. 오류메시지

error: db5 error(11) from dbenv->open: Resource temporarily unavailable

error: cannot open Packages index using db5 - Resource temporarily unavailable (11)

error: cannot open Packages database in /var/lib/rpm

CRITICAL:yum.main:

 

/var/lib/rpm 디렉토리 안에 있는 파일들이 손상되어서 생기는 오류로 정상적인 파일로 교체 후 문제해결가능

파일 교체 후 다음과 같은 명령어를 입력해서 정상적으로 동작되는지 확인

#yum clean all

#yum repolist

 

/var/lib/rpm 디렉토리 및 파일을 복사한 후 권한 확인

rpm 디렉토리

 

rpm 디렉토리 하위 파일

 

ffmpeg 실행시 오류

터미널창에서 ffmpeg 입력하면 정상적으로 실행되지 않고 아무런 메시지가 없거나 libavdevice.so.56 를 찾을수 없다는 메시지가 뜨는 경우가 있음

 

정상적인 실행

 

 

해결방법

libavdevice.so.56와 ffmpeg를 제거 후 다시 설치를 해준다.

- yum remove libavdevice.so.56 ffmpeg

- yum install libavdevice.so.56 ffmpeg

 

Windows에서 웹페이지 접속 시 Adobe Flash Player가 이전 버전입니다.라는 오류가 발생할 경우

 

오류 이미지

 

 

 

인터넷에 연결되어 있을경우(온라인)

1. Adobe Flash Player 버전을 확인 후 업데이트 상태 확인 클릭

- Chrome을 실행 후 chrome://components/로 접속

 

 

 

2. Adobe Flash Player 최신 버전 설치

 

 

 

 

인터넷이 연결되어 있지 않을 경우(오프라인)

1. Adobe Flash Player 버전 확인

- Chrome을 실행 후 chrome://components/로 접속

 

 

 

2. Adobe Flash Player 최신버전 다운

- Adobe 홈페이지에 접속 후 우측 상단에 검색 창에 어도비 플래시 플레이어 디버그 검색

 

 

 

- Adobe Flash Player - 디버그 다운로드 접속

 

 

 

 

- 해당하는 웹브라우저의 Flash Player 콘텐츠 디버거 다운

 

 


to Top