OS

728x90
반응형

 

 

 

 

 

 

 


 

 

 

들어가며

Linux는 버전에 대한 영향을 받는 OS 이다 보니, 이전에 설치한 버전을 확인해야 하는 경우가 빈번히 발생을 하는데요. 이때 알아두면 좋을 명령어 및 방법을 정리하였습니다. 

 

 

 

 

 

 

 

 

01. uname -a

$ uname -a 옵션의 경우 모든 정보를 출력하는데요. --help 옵션으로 확인시 -a 옵션을 제외한 내용들이 순차적으로 출력이 됩니다. 

 

 

 

 

Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

 

 

커널이름 -s : Linux

호스트이름 -n : localhost.localdomain

커널릴리즈 -r : 3.10.0-957.el7.x86_64

커널 버전 -v : #1 SMP Thu Nov 8 23:39:32 UTC 2018

하드웨어 -m : x86_64

프로세스 타입 -p : x86_64

하드웨어 플랫폼 -i : x86_64

운영체제 -o : x86_64 GNU/Linux

 

의 순서로 출력이 됩니다. 

 

 

 

 

 

 

 

 

02. os-release 파일을 이용한 버전확인

다음은 os-release 파일을 이용해서도 버전 정보를 확인 할 수 있는데요. 

 

아래 두가지 명령어로 확인이 가능합니다.

$ cat /etc/os-release

$ grep . /etc/os-release

 

CentOS 화면 / cat /etc/os-release
Ubuntu 화면 /  cat /etc/os-release

 

grep . /etc/os-release

 

 

 

 

 

 

 

 

03. hostnamectl 을 이용한 버전확인

hostnamectl 명령어를 이용해서도 버전을 확인할 수 있습니다. 

hostnamectl 명령어는 호스트에 대한 정보 및 호스트 이름을 변경할 때 사용하는 명령어 인데요. 

상태를 확인 할때도 사용하게 됩니다. 

 

$ hostnamectl status

status 옵션은 생략가능한 기본 옵션이여서, 호스트 정보를 확인 할 때 사용도 되지만, OS 및 버전정보도 같이 보여주기 때문에 해당명령어를 이용해서도 버전정보를 확인 가능합니다. 

 

 

 

 

 

 

 

04. lsb_release -a

lsb_release 명령어는 리눅스의 배포판 버전을 확인하는 명령어 입니다. 

아래와 같은 명령어로 확인이 가능합니다. 

$ lsb_release -a

 

 

 

 

 

 

 

 

 

05. lsb_release 가 설치 안되 있을 경우.

간혼, lsb_release 명령어가 설치가 안되어 있을 경우가 있습니다. 해당 명령어를 입력할 경우 아래와 같이 명령어를 찾을 수 없다는 메시지가 출력되는 경우인데요. 

 

 

 

 

해당 경우 yum 명령어를 이용해서 lsb 를 설치해주시면 됩니다. 

$ yum install redhat-lsb

 

 

 

 

 

 

 

 

 

 

참조

https://rhrhth23.tistory.com/145

 

 

 

 

 

 

END


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90
반응형

들어가며

Hyper-V를 사용할 일이 생겨서 예전에 설치된 Hyper-V를 실행하려고 했는데.. 포맷했다는걸 잊어버렸네요. 

다시한번 Hyper-V 를 설치하려고 하던 중 PowerShell 로도 설치가 가능하거 같아서 정리했습니다.

더불어 Windows 10 MSIX packaging 도 빠른 설치가 가능한거 같아서 같이 정리했습니다. 

 

 

 

Hyper-V 설치 요구사항

  • Windows 10 Enterprise, Pro 또는 Education
  • 두 번째 수준 주소 변환(SLAT)을 사용하는 64비트 프로세서.
  • VM 모니터 모드 확장(Intel CPU의 VT-c)에 대한 CPU 지원.
  • 최소 4GB의 메모리.

 

 

 

PowerShell 을 사용하여 Hyper-V 설치

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

 

PowerShell 을 실행 후~ 위 명령을 복사 붙여넣기 후 실행해 줍니다.

그러면 아래와 같이 Hyper-v 설치 화면이 진행됩니다.

 

 

 

 

 

설치가 모두 완료가 되면, 컴퓨터 재시작 메시지가 보여지면서, 

Y 를 눌러 PC를 재시작 해주시면 설치가 완료됩니다.

 

재시작 이후, 별도의 창은 실행되지 않습니다.

 

 

 

MSIX란?

MSIX는 모든 Windows 앱에 최신 패키징 환경을 제공하는 Windows 앱 패키징 형식입니다. MSIX 패키지 형식은 Win32, WPF 및 Windows Forms 앱에 새로운 최신 패키지 및 배포 기능을 사용할 수 있도록 하며, 기존 앱 패키지 및/또는 설치 파일의 기능도 유지합니다.

MSIX를 사용하면 엔터프라이즈를 최신 상태를 유지하고, 애플리케이션도 항상 최신 상태로 유지할 수 있습니다. 이를 통해 IT 전문가와 개발자는 사용자 중심의 솔루션을 제공할 수 있으며, 다시 패키징할 필요성이 줄어들어 애플리케이션의 소유 비용을 절감할 수 있습니다.

 

https://docs.microsoft.com/ko-kr/windows/msix/overview

 

MSIX란? - MSIX

이 문서에서는 모든 Windows 앱에 대한 최신 패키징 환경인 MSIX 패키징 형식의 기본 사항을 소개합니다.

docs.microsoft.com

 

 

 

Windows 10 MSIX Packaging 설치

 

 

 

 Hyper-v 관리자에서 빨리 만들기를 선택하면, 아래와 같이 가상 컴퓨터 만들기 창이 생성이 되는데요.

상단에 Windows 10 MSIX packaging 을 설치할 수 있습니다. 

Ubuntu Linux 도 설치가 가능한거 같네요.

 

 

 

 

가상 컴퓨터 만들기 버튼을 선택하면, 아래와 같이 이미지를 다운로드 하고, 설치까지 진행을 합니다.

특별히 어려운 점 없이 진행이 가능합니다. 

 

 

 

 

 

 

 

설치가 완료가 되면, 해당 서버를 실행해주면 Windows 셋팅 화면이 나오며, 온라인 계정이 없으신 분은 로컬계정으로 생성이 가능합니다. 

추가적인 내용이 있다면! 이미지 다운로드시 언어팩이 설치가 되지는 않아서 영문 윈도우 화면으로 설정을 진행하셔야 합니다. 

 

 

 

 

 

 

 

 

 

END


 

728x90
728x90
반응형

한번 설치하게 되면, 계속해서 사용하고 있기 때문에, 간혹 Redis의 설치 위치를 까먹는 경우가 있어서

기본적인 위치만 정리해서 남겨놓으려고 합니다.

 

서비스파일은 

/etc/init.d

경로에 위치하고 있으며, 기본적으로 설치하셨다면 redis_6379 파일에 기본적인 서비스 정보가 기입되어 있습니다. 

해당  경로에 있는 redis_6379 파일을 vim 명령어로 열어보면, 기본적으로 어떤 구성으로 되어 있는지 확인 할 수 있습니다.

아래 내용은 생략하고, 

서버 : /usr/local/bin/redis-server

클라이언트 : /usr/local/bin/redis-cli

등등 기본적인 파일 위치를 확인 할 수 있습니다. 

 

 

버전확인

root@localhost:/:] /usr/local/bin/redis-cli --version

 

728x90
728x90
반응형

CentOS 7부터는 이전에 사용하던 SysV(init system) 대신하여, systemd 을 system & service manager 로 사용합니다.
systemctl는 systemd 를 컨트롤하는 cli 명령어입니다.

 

 

 

 

1. Service 등록

[root@ ] #cd /etc/systemd/system/multi-user.target.wants

먼저 위의 경로로 이동해 줍니다. 

 

CentOS6 까지는 /etc/rc.d/init.d 디렉토리에 서비스 관련 파일들이 있었습니다. 
CentOS7부터는 서비스들이 대부분 Unit으로 분리되었고, 이 Unit들은 [서비스이름].service 파일명으로 생성하며,  systemctl 명령어로 제어하도록 변경되었습니다.

 

 

아래와 같이 testserver.service 이름의 파일을 생성해 줍니다.

[root@ ] #vi testserver.service
[Unit]
Description=Test Server
After=network.target

[Service]
ExecStart=/usr/share/dotnet/dotnet /opt/test-server/TestServer/TestServer.dll
WorkingDirectory=/opt/test-server/TestServer
KillSignal=SIGINT
SyslogIdentifier=testserver

[Install]
WantedBy=multi-user.target

WorkingDirectory 가 다를 경우, 각 프로그램에서 제아하는 폴더의 경로 때문에, 파일 생성 및 읽기가 비정상적으로 동작할 수 있습니다. 

dotnet 으로 구성한 서버였는데, BaseDirectory를 가져오는 부분이 WorkingDirectory 로 인해 잘못 Load 하는 경우가 있었습니다. 

 

 

2. 서비스 시작

[root@ ] #systemctl stop testserver.service

[root@ ] #systemctl start testserver.service


[root@ ] #systemctl enable testserver.service

[root@ ] #systemctl disable testserver.service

등록을 마쳤다면, 위와 같이 systemctl 명령어를 이용해서 service를 제어할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

출처

https://keviny.tistory.com/1

728x90
728x90
반응형

 

 

Hyper-V 가상 컴퓨터 생성

1. 가상 컴퓨터 생성하기

2. 이름 및 위치 지정

3. 세대 지정

4. 메모리 할당

5. 네트워킹 구성

6. 가상 하드디스크 연결

7. 설치 옵션

 

 


 

1. 가상 컴퓨터 생성하기

Hyper-V 관리자를 실행시키고, 우측에 있는 새로 만들기 메뉴를 클릭합니다. 

해당 메뉴를 클릭하게 되면, 서브 메뉴가 보여지는데요. 이때 가상 컴퓨터 메뉴를 클릭해줍니다. 

 

 

 

 

가상 컴퓨터 메뉴를 클릭하면, 새 가상 컴퓨터 마법사가 보여지며, 간단하게 읽어 보시고, 다음 메뉴를 클릭해 줍니다. 

 


 

2. 이름 및 위치 지정

해당 가상 컴퓨터를 구분할 이름을 지정하여 줍니다. 그리고 가상 컴퓨터를 저장할 위치 또한 지정하여 줍니다. 

재사용성을 고려하신다면, 메인 디스크가 아닌, 서브 디스크에 설치하는 것이 좋습니다. 

 


 

3. 세대 지정

이름 및 위치를 지정하고 나면 세대 지정 메뉴가 보여집니다. 

해당 부분은 조금 혼동이 되실 수 있는데요. 아래 링크를 확인 하셔서 세대에 대한 차이를 이해하셔도 되며, 

간단하게는 1세대의 경우는 하위 Hyper-V 버전을 지원하며, Windows Server 2008 이하의 버전 OS를 설치 하실 경우에는 1세대를 설정하셔야 하며, 

2세대의 경우는 Windows Server 2012 부터 지원합니다. 

 

 

https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

 

Should I create a generation 1 or 2 virtual machine in Hyper-V?

Gives considerations such as supported boot methods and other feature differences to help you choose which generation meets your needs.

docs.microsoft.com

 


 

4. 메모리 할당

사용하시는 PC의 메모리를 확인 후 여유분을 입력해주시면 됩니다. 저는 테스트 상태이기 때문에 2GB 메모리를 설정하였으며, 동적으로 메모리를 사용하도록 체크 하였습니다. 

 


 

5. 네트워킹 구성

네트워킹 구성은 따로 블로깅을 준비하겠습니다. 해당 부분은 연결되지 않는 상태로 놓고 진행하셔도 무관합니다. 

 


 

6. 가상 하드 디스크 연결

이제 가상 컴퓨터에 대한 구성이 완료되었다면, 해당 컴퓨터를 설치할 가상 하드 디스크가 존재 해야 합니다. 

기존 가상 하드 디스크가 존재할 경우 두번째 선택 박스를 선택하면 됩니다. 

처음 설치할 경우 가상 하드 디스크 만들기 를 선택하시면 됩니다. 

 


 

7. 설치 옵션

이제는 기본적인 구성은 완료되었으며, 설치를 하기 위한 CD 및 iso 파일에 대한 링크만 연결해주면 됩니다.

 

다음을 클릭할 경우 아래와 같이 디스크를 만드는 알림창이 나오며, 기본적인 구성은 완료가 된 것입니다. 

 

 

 

 

 

 

 

 

 

728x90
728x90
반응형

 

 

FTP 서버 구축 순서

1. vsftpd 패키지설치

2. 서버 설정 (conf 파일 및 허용리스트 작성)

3. 방화벽 설정 & selinux해제

4. 데몬재시작

5. 추가사항

6. 재시작 에러시 대처

 

 


 

1. vsftpd 패키지 설치

grep 명령어를 이용해서 vsftpd 가 설치 되어 있는지 확인 합니다. 

[root@localhost /]# ps -ax | grep vsftpd
 79682 pts/2    R+     0:00 grep --color=auto vsftpd

 

이후 yum 명령어를 이용해서 vsftpd 패키지를 설치 합니다. 

[root@localhost /]# yum -y install vsftpd

 


 

2. 서버설정

conf 파일을 이용해서, ftp 관련한 설정을 해줍니다. 해당 경로는 아래를 참고해주세요.

[root@localhost etc]# vi /etc/vsftpd/vsftpd.conf
[root@localhost etc]#

 

해당 conf 파일에서 저는 아래 3개의 설정을 변경했습니다. 

익명 허용 여부와, 허용 리스트를 관리해주는 부분입니다. 

anonymous_enable=YES

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

 

ESC 키를 누르고 :set nu 를 입력하면, 아래와 같이 줄 수가 표시됩니다. 

 

 

 

허용리스트 파일을 아래와 같이 conf 파일에 설정 해 주었기 때문에, 해당 경로에 허용할 아이디 리스트를 입력하여 줍니다. 

 

chroot_listchroot_list_file=/etc/vsftpd/chroot_list

 

[root@localhost etc]# vi /etc/vsftpd/chroot_list
[root@localhost etc]#

 


 

3. 방화벽 설정

기본적으로 FTP는 21번 포트를 사용합니다. 리눅스의 경우 웬만한 방화벽은 막혀 있다고 보시면 됩니다. 

그래서 firewall-cmd 명령어를 이용해서 방화벽을 해제해 줍니다. 

저는 그냥 21번 기본 포트를 사용하였으며, 원하시는 포트로 변경해도 됩니다. 

[root@localhost etc]# firewall-cmd --permanent --add-service=ftp
success
[root@localhost etc]# firewall-cmd --permanent --add-port=21/tcp
success
[root@localhost etc]# firewall-cmd --reload
success
[root@localhost etc]#

 

 

SELINUX 해제

 

SELinux 는 Linux의 보안을 강화해 주는 보안 강화 커널이고 zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소입니다. 

SELinux 는 저도 공부가 더필요한 영역이라, 자세한 설정은 여기서 다루지 않겠습니다. 

일단 SELINUX를 해제하는 방식으로 보안의 영역을 최소화 하겠습니다. 

 

[root@localhost etc]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

SELINUX=enforcing 을 disabled로 변경하여 준다.

 


 

4. 데몬 재시작

[root@localhost etc]# systemctl enable vsftpd

[root@localhost etc]# systemctl restart vsftpd

 

 


5. 추가 사항

간혹 root 계정을 이용해서 FTP 에 접속하는 경우 503 에러를 발생하는 경우가 있는데요. 이는 root 계정이 접속 거부 리스트에 등록되어 있는 경우 입니다. 

 

root 거부리스트 계정 제거

아래 각각 명령어를 이용해서 보여지는 리스트에서 root 계정을 제거해 줍니다. 

[root@localhost ~]# vi /etc/vsftpd/ftpusers


[root@localhost ~]# vi /etc/vsftpd/user_list

# Users that are not allowed to login via ftp
root -> 제거
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

 

 


 

6. 재시작 에러시 대처

재시작할 경우 아래와 같은 오류가 발생하는 경우가 있습니다. 

이는 IPv4 / IPv6 와 관련된 에러내용이며, 둘다 YES 로 되어 있는 경우 발생하는 오류입니다.

vsftpd.conf 파일을 이용해서 listen=YES, listen_ipv6=YES 두 영역을 찾아서 하나를 NO로 변경해줍니다. 

보통 IPv6를 사용안하시기 때문에, 저의 경우 listen_ipv6를 NO 로 변경하였습니다. 

 

[root@localhost ~]# systemctl start vsftpd
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

[root@localhost ~]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 화 2020-02-25 14:20:28 KST; 12s ago
  Process: 1475 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=2)

 2월 25 14:20:28 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
 2월 25 14:20:28 localhost.localdomain vsftpd[1475]: 500 OOPS: can only support ipv4 and ipv6 currently
 2월 25 14:20:28 localhost.localdomain systemd[1]: vsftpd.service: control process exited, code=exited status=2
 2월 25 14:20:28 localhost.localdomain systemd[1]: Failed to start Vsftpd ftp daemon.
 2월 25 14:20:28 localhost.localdomain systemd[1]: Unit vsftpd.service entered failed state.
 2월 25 14:20:28 localhost.localdomain systemd[1]: vsftpd.service failed.

 

    112 # When "listen" directive is enabled, vsftpd runs in standalone mode and
    113 # listens on IPv4 sockets. This directive cannot be used in conjunction
    114 # with the listen_ipv6 directive.
    115 listen=YES
    116 #
    117 # This directive enables listening on IPv6 sockets. By default, listening
    118 # on the IPv6 "any" address (::) will accept connections from both IPv6
    119 # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
    120 # sockets. If you want that (perhaps because you want to listen on specific
    121 # addresses) then you must run two copies of vsftpd with two configuration
    122 # files.
    123 # Make sure, that one of the listen options is commented !!
    124 listen_ipv6=NO
728x90

+ Recent posts