미소를뿌리는감자의 코딩

sftp로 ec2 서버 열기 - ubuntu 18.04 image 본문

정글 일지

sftp로 ec2 서버 열기 - ubuntu 18.04 image

미뿌감 2024. 11. 12. 16:03
728x90

1. 개요

이번에 pintOS로 운영체제를 만드는 것을 하면서, ubuntu 18.04 환경을 필요로 하였다.

처음에 ec2에서 docker로 올려서 실행하였었는데, vsc에서 열면, 서버가 힘들어하는 것이 느껴졌다.

또한, 더블클릭을 했을 때, 해당 함수로 이동하는 과정이 불가하였다.

 

이에, ubuntu 18.04이미지를 가지고 있는 서버를 사용해서 다시 환경을 구축하고자 하였다.

 

2. 본문

 

해당 이미지를 선택해서 서버를 열어주었다. x86_64 인 것을 확인하자.

이전에 ARM 을 이용해서 깔았다가 32bit를 지원하지 않아서 다시 노가다를 진행하였다.

 

sudo apt update
sudo apt install git -y
sudo apt install -y gcc make qemu-system-x86 python3

이렇게 x86 환경을 구축해 주었다.

 

이후, git clone을 진행하였다.

 

다음으로는 vsc 에서 sftp extension을 이용해서 서버에 접근하는 방법에 대해서 기술하고자 한다.

https://poalim.tistory.com/19

 

[sftp] vscode 에서 서버 연결하기

vscode 의 "sftp" 확장 프로그램을 쓰면 서버의 소스를 로컬에서 vscode로 편집할 수 있습니다. 저는 가상머신의 리눅스 환경에서 프로젝트를 진행하다가 vim 보다는 아무래도 vscode 가 익숙하여 로컬 v

poalim.tistory.com

 

이 글을 바탕으로 연결을 진행하였다.

 

sftp config와 같은 경우엔 아래와 같이 설정해 주었다.

{
    "name": "os",
    "host": "43.201.00.000",
    "protocol": "sftp",
    "port": 22,
    "username": "ubuntu",
    "remotePath":"/home/ubuntu/PintOS",
    "uploadOnSave": true,
    "privateKeyPath" : "/Users/potato/Desktop/ㅁㅁㅁ.pem"
}

 

추가적으로, vsc에서 #include를 인식하지 못하는 문제가 발생했었다.

c_cpp_properties.json을 설정을 해두어, 인식 가능하도록 하였다.

이때, directory선언을 ec2기준으로 했었지만, 그것이 아니라 stfp 디렉토리 기준으로 해야 한다.

따라서, os/include와 같이 includePath를 해주어야 한다.

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/os/include",
                "/os/include/lib",
                "/os/include/lib/kernel",
                "/os/threads",
                "/os/devices",
                "/os/filesys",
                "/os/userprog",
                "/os/tests",
                "/os/utils",
                "/os/vm",
                "/usr/include",
                "/usr/local/include"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

 

 

3. 결과

make check로 서버가 잘 돌아가는 지 확인하였다.

'20 of 27 tests failed'로 잘 돌아가는 것을 확인할 수 있다.

728x90