• 리눅스의 시간대(TZ)를 한국(KST)로 변경하기

    리눅스와 유닉스는 주로 미국과 유럽의 개발자들이 개발하는 운영체제다. 그래서 언어(character set), locale과 Time 및 Time Zone 역시 유럽과 미국을 기준으로 만들어 배포된다. 그렇다 보니 리눅스를 다운로드 받아 설치하고 나면 설치과정에서 지역과 타임존을 한국을 선택해도 묘하게 지역과 시간이 한국과 맞지 않는 문제가 발생하곤 한다. 이번에도 그런 경험을 할 수 있었다. 테스트 용으로 사용하고 있는 오라클 클라우드의 Rocky 리눅스를 dnf 명령으로 업데이트 한 뒤 갑자기 타임존이 KST에서 UTC로 바뀌 …

  • vi 필수 사용법 – vi 쉽게 배우기

    vi 는 무엇인가? vi는 1970년대에 개발되어 사용하기 시작한 Unix 계열 운영체제에 기본 유틸리티로 포함된 오픈소스 문서편집기다. 문서편집기라고 하지만 자체적인 문서파일의 포맷은 없고 그냥 text (ascii) 편집기일 뿐이다. 즉 Windows에서의 notepad 역할을 Unix와 Linux에서 수행하는 프로그램이 바로 vi다. vi 라는 명칭은 요즘의 GUI 개념과 비교하면 전혀 어울리지 않는 "visual editor"에서 따온 것이라고 한다. 요즘의 Linux에서는 vi와 호환되는 vim 이라는 문서편집기가 설치되 …

  • PC에서 카카오톡 2개 동시에 사용하기

    스마트폰에 설치해 사용하는 카카오톡은 이동통신 전화번호를 기반으로 서비스를 제공하는 앱이다. 그래서 이동통신전화번호, 정확하게는 SMS 문자 메시지를 수신할 수 있으며 안드로이드 및 IOS 설치가 가능한 스마트폰에서만 사용할 수 있다. 하지만 PC버전의 앱을 제공하고 다음과의 합병을 통해 인터넷으로 그 서비스를 확장하면서 경계가 모호해진 부분이 없지는 않다. 물론 "카카오 계정"은 전화번호 없이 이메일 인증만으로도 만들 수 있지만 그럼에도 불구하고 변화할 수 없는 부분은 바로 "이동통신 전화번호"가 있어야만 카카오톡 서비스를 사용 …

  • vscode에서 KEY 인증 SSH 접속 시 bad permission 에러

    리눅스 서버에 올려져 있는 소스코드 또는 설정파일을 편집할 때 비주얼 스튜디오 코드 (일명: VSCode)를 주로 사용하고 있다. VSCode에 Remote SSH 플러그인을 설치하면 호스트의 정보를 등록해두고 쉽게 어디서나 접속하여 소스코드를 편집하고 저장할 수 있다. 게다가 별도의 Putty 등 SSH 클라이언트를 사용하지 않고도 터미널 명령 창을 실행할 수 있어 더욱 편리하다. 또한 Git과 GitHub 연동기능을 사용하면 VSCode에서 소스코드의 버전관리 기능까지 모두 사용할 수 있어 더욱 편리한 개발환경을 구현할 수 있 …

  • 리눅스 Shell 명령어 로그가 남지 않는 문제 해결하기

    티스토리 블로그를 직접 구축한 리눅스의 워드프레스로 이사한 뒤 안정화와 백업 등 관리적인 부분에 신경이 집중되어 있어 인지하지 못했었는데 블로그를 구축하여 운영하고 있는 웹서버와 DB서버 2대에 이유는 알 수 없지만 Shell History가 남지 않고 있었다. Shell History 란? 쉘 히스토리(Shell History)란 리눅스와 유닉스 운영체제의 쉘 프롬프트 상에서 실행한 명령어를 로그 파일에 기록하여 사후에 어떤 명령어들을 사용했는지 알 수 있도록 지원해주는 기능을 의미한다. 보안관점에서는 책임추적성을 확보하기 위한 …

  • 멀티부팅 USB 메모리 만들기 – Ventoy

    Windows 또는 MacOS, Linux 등의 운영체제를 새로 설치할 때 반드시 필요한 것이 운영체제 설치 파일이 포함되어 있는 부팅 가능한 USB다. 그리고 여러 운영체제를 설치하기 위해 각각의 USB 메모리를 사용하지 않고 하나의 USB 메모리로 여러 운영체제를 설치할 수 있게 해주는 멀티부팅 USB 메모리 제작 프로그램이 바로 Ventoy 다. 멀티부팅 USB 메모리 제작 프로그램 Ventoy 다운로드 받기 Ventoy를 다운로드 받기 위해서는 Ventoy의 홈페이지에 방문하여 다운로드 받은 것이 가장 안전하다. 주소는 요 …

  • Windows 11의 다중 클립보드 사용하기

    클립보드란 무엇인가? 클립보드(Clipboard)는 집게가 달린 서류철을 의미하지만 윈도우나 리눅스 또는 맥OS에서는 "텍스트, 이미지, 파일 등을 복사하거나 잘라낸 다음 다른 문서편집기나 이미지 편집기 또는 다른 폴더에 붙여넣기 전에 임시로 저장해주는 가상의 공간을 말한다. 다중 클립보드란 클립보드 저장소에 여러 개의 컨텐츠를 저장할 수 있는 클립보드를 말한다. 그런데 예전의 윈도우나 맥OS 등 운영체제에서 기본으로 제공해주는 클립보드에는 한번에 하나의 객체(문서, 텍슽트, 이미지 등)만 저장할 수 있었다. 하지만 컴퓨터의 메모 …

  • [리눅스 기초] 쉘 스크립트의 사칙연산과 문자열 자르기

    쉘 스크립트에서도 자바(Java)나 C언어처럼 문자열 자르기와 사칙연산을 비롯한 연산이 모두 가능하다. 아니 어쩌면 더 쉽게 느껴질 수도 있다. 하지만 이런 연산을 설명하기 전에 먼저 쉘 스크립트에서는 변수를 어떻게 사용하는지 이해해야 한다. 쉘 스크립트에서의 변수 일반적인 Java나 C와 같은 프로그래밍 언어에서는 변수의 선언과 타입(type)이 무척 중요하다. 선언하지 않고 사용하거나 잘못 참조하거나 잘못 연산하게 되면 엉뚱한 값이 출력되거나 컴파일 시 에러를 팍팍~뿌려댄다. 하지만 쉘스크립트에서 변수는 미리 선언하지 …

  • [리눅스 기초] 쉘 스크립트란 무엇인가?

    예전의 포스트에서 운영체제의 쉘(shell)이 도대체 무엇인지에 대해 설명했다. [리눅스 기초] 쉘의 이해(Linux Shell) 쉘을 이해하는데 성공했다면 다음 단계는 쉘 스크립트(Shell Script)에 대해 공부하는 것이 일반적인 Unix/Linux 운영체제를 공부하는 순서라고 할 수 있다. 쉘 스크립트(Shell Script)란 ? 쉘 스크립트를 이해하려면 먼저 스크립트(Script)가 무엇인지 이해해야 한다. 스크립트란 일반적으로 인터프리트(interpret:대화) 방식으로 동작하는 컴파일하지 않는 프로그램이라고 이해하 …

  • [리눅스 기초] 쉘의 이해 (Linux Shell)

    유닉스나 리눅스를 공부하는 많은 초심자들이 처음으로 부닥치는 어려움이 바로 Shell(쉘) 이다. 쉘의 이해가 부족하면 유닉스나 리눅스 서버에서 주로 업무를 하는 엔지니어가 되고자 하나 초심자 수준를 벗어날 수 없다. 그만큼 쉘을 정확하게 이해한다는 것은 유닉스나 리눅스의 운영체제를 얼마나 이해하고 있는지에 대한 수준을 가늠하는 하나의 지표로 써도 될만큼 중요하다. Linux / Unix 운영체제에서 쉘(Shell)의 정의 쉘(Shell)은 운영체제에서 사용자가 입력하는 명령을 읽고 해석하여 대신 실행해주는 프로그램이다. 여기서 …