Loading...
2020. 5. 26. 10:55

[Linux] GRUB Command Line을 이용하여 리눅스 수동 부팅하기

어제, 계속 사용하던 Ubuntu 18.04 LTS를 20.04 LTS 버전으로 업데이트의 계획을 수행하고 있었습니다. 사용했던 IDE 도구, vim과 환경 변수 설정 등을 모두 정리하고, 살펴보니 그다지 많은 설정 값이 적용되어 있지 않았습니다. 사용했던 노트북을 처분하고 새로 PC를 구입한 것이 어느 덧 3개월 정도 되어갔는데, 그 때문에 20.04 릴리즈가 나오기 전까지 기존의 18.04를 설치하고, 간단한 셋팅만 하고 임시 방편으로 사용하기로 했던 것입니다. 어차피 거의 모든 셋팅을 다시해야 했기 때문에 과감하게 새로 설치를 하기로 마음 먹고, Ubuntu Official 홈페이지에서 Ubuntu Desktop 20.04 iso 이미지를 다운로드 받고, iodd를 사용하여 클린 설치를 하였습니다...

2018. 12. 31. 13:10

리눅스에서 Unix ODBC를 사용해보자

안녕하세요. 2018년의 연말이 다가왔습니다. 오늘은 2018년의 마지막 포스트로 우분투에서 Unix ODBC를 설정하는 방법에 대해 알아보도록 하겠습니다. What is ODBC?Unix ODBC를 설치하기 전에, ODBC가 무엇인지에 대해 간단히 알아보도록 하겠습니다. ODBC는 Open DataBase Connectivity의 약자로 우리 말로는 데이터베이스 미들웨어를 연결하기 위한 공개형 응용 프로그램 인터페이스라 합니다. 한마디로 말하자면 데이터베이스 애플리케이션과 연결해주는 공개형 인터페이스라는 것이죠.ODBC는 Microsoft에서 주니어 개발자가 데이터베이스에 쉽게 연동할 수 있도록 개발한 애플리케이션 인터페이스(API)입니다. 본래 우리가 새로운 응용 프로그램을 개발하기 위해 데이터베이스..

Netplan - 우분투(리눅스) 네트워크 설정

안녕하세요. 블로그에 글을 쓴지 어느 덧 3개월이 되어 가네요. 많은 정보들을 남기고 공유하고자 블로그 활동을 시작하게 되었지만 공교롭게도 모자른 시간 덕택에 이제는 이 활동도 점차 줄어가고 있네요. 하지만 블로그 활동의 중단 계획은 없으니, 앞으로도 계속 많은 정보를 공유하려고 노력하겠습니다.저는 데스크톱과 서버 모두 CentOS가 아닌 Ubuntu Server OS를 사용하고 있습니다. 물론 아예 CentOS를 배제하는 것은 아니지만 아무래도 PC 운영체제를 Ubuntu로 사용하다보니 CentOS에 비해서 더 편한 느낌이 있다고 해야 할까요.. 그래서 이번에 우분투 18.04 서버를 설치하게 되었는데, 네트워크 설정이 조금 바뀐 것을 알게 되었습니다. 우분투 네트워크 설정보통 리눅스에서 네트워크 환경..

2018. 1. 22. 20:08

Intel CPU Spectre 패치(Retpoline) 와 테스트

지난 Meltdown 취약점 패치를 통해서 System Call 함수 호출시 4배의 성능이 하락되는 것을 알 수 있었습니다. 하지만 이 취약점은 Intel CPU에서만 존재하는 취약점이며 Kernel Page Table Isolation (KPTI) 패치를 통해 취약점을 고칠 수 있었고, AMD 및 ARM 프로세서에서는 영향이 없었음을 알 수 있었습니다. Spectre 취약점은 이전 포스트에서도 설명한 적이 있었습니다. 간단하게 다시 한 번 설명드리자면, A 프로그램이 B 프로그램의 메모리 주소를 침범할 수 있는 취약점으로, 크게는 가상 머신의 OS가 Host OS의 주소 범위까지 침범할 수도 있는 매우 무서운 취약점입니다. 이 취약점은 Intel CPU 뿐만 아니라, AMD, ARM CPU에도 취약점이..

2018. 1. 5. 17:06

Intel CPU Meltdown 취약점 패치 2차 테스트와 마무리

1차 테스트에 이어서 2차 테스트를 진행해봤습니다. 2차 테스트는 1차에서 진행했던 File I/O 뿐만 아니라, 서버 애플리케이션으로 사용하는 웹 서버, DBMS, 그리고 생각보다 리소스를 많이 사용하는 오디오 인코딩과 비디오 인코딩 등의 테스트를 진행하였습니다. 테스트 진행 사항- SQLite I/O Test (only HDD)- FLAC Audio Encoding- Opus Codec Encoding- nginx Benchmark- GCC Compile Test- File I/O Test 테스트는 총 6가지로 진행하였으며 그 중 마지막 File system Test는 어제 진행했던 4000번의 파일 생성을 다시 테스트한 것입니다. SQLite의 DBMS 테스트는 저의 노트북 환경상 HDD에서만 진행..

2018. 1. 4. 17:32

Intel CPU 보안 취약점 패치로 인한 성능 감소와 1차 테스트

안녕하세요. 2018년 첫 포스팅이네요. 모두들 새해 복 많이 받으시기 바랍니다. 새해부터 뭔가 큰 일이 터진 듯합니다. 현재 인텔의 모든 프로세서에서 커널 메모리 취약점이 발견되어 현재 리눅스를 포함한 윈도 운영체제 Redstone 3 버전도 패치 조치가 내려진 상태입니다. 그런데, 패치를 한 뒤에 성능이 30% 감소한다는 이야기가 있는데요. 어떤 취약점이고, 왜 이런 일이 발생하는지 조금 알아보도록 하겠습니다. Meltdown, Spectre 이번 취약점의 이름은 위와 같은 두 개 이름의 취약점을 가지고 있습니다. 먼저 이 취약점은 구글의 보안기술팀인 Project zero 팀에 의해 발견되었습니다.. Meltdown 취약점은 Intel CPU에 적용된 OoOE(비순차적 명령어 처리) 기술의 버그를 ..

2017. 8. 28. 10:52

Linux에서 MQTT Broker, Mosquitto 설치

MQTT를 처음 사용해보려 하시나요? 그렇다면, 먼저 아래의 글을 읽어보시기 바랍니다. MQTT 프로토콜 개념과 이해 지난 포스트에서 MQTT에 대한 개념과 간단한 특징을 소개해 드렸습니다. 이제 우리는 MQTT Broker를 설치해서, 이를 구동해보고 서비스를 해보려 합니다. MQTT Broker에는 여러가지가 존재하지만, 그 중에서도 가장 보편적이고 무난한 mosquitto를 설치해보도록 하겠습니다. Mosquitto 설치 리눅스에서 Mosquitto를 사용하려면 리눅스의 레포지터리에 있는 Mosquitto 패키지가 있습니다. 이 패키지를 사용하여 쉽게 설치할 수 있습니다. $ sudo apt install mosquitto 터미널을 실행하여 위 명령어를 타이핑합니다. $ sudo systemctl ..

2017. 4. 8. 00:18

Linux로 시작해보는 간단한 소켓 프로그래밍

아직 소켓에 대한 개념을 모르시겠다구요? 아래의 버튼을 클릭하여 Socket 포스트를 미리 읽어보시기 바랍니다. 네트워크 프로그래밍의 기초 - Socket BSD Unix Socket 구성유닉스에서 소켓 프로그래밍을 할 때는 파일로 하여금 통신을 합니다. 그 이유는 유닉스의 리소스 구성은 파일로 이루어져 있기 때문입니다. 그래서, 유닉스 프로그래밍을 할 때 read, write 함수를 사용할 때도 파일 디스크립터를 사용하여 입력하고 출력합니다. 실제 Unix Programming에서 파일을 새로 열 때, open 함수를 사용합니다. open 함수는 int 형 값을 반환하며 이 반환 값은 File descripter Index입니다. 이미지 출처: (한국소프트웨어진흥원 저, Network Programmi..

2017. 2. 24. 13:03

Cerebro Search - OS X Spotlight 검색

간단한 프로그램을 하나 소개해보고자 합니다. OS X의 UI/UX를 너무 좋아하는 나머지 차마 Macbook 구입하는 것은 못하고, Ubuntu Linux에 Mac OS X 냄새를 풍기워 사용하고 있지만, 사실 저는 OS X 보다는 Linux를 더 좋아하는 개발자입니다. Spotlight SearchOS X에는 Spotlight 검색이 있습니다. Spotlight 검색은 검색 위젯바와 비슷한 것을 띄워 마치 Windows의 실행 창에서 모든 커맨드를 동작시키고, 게다가 웹이랑 연동해 원하는 검색을 띄워주기도 하는 OS X 의 유용한 유틸리티 도구 중 하나입니다. 이런 비슷한 기능의 프로그램에는 Linux에서 Albert이라고 하는 프로그램이 존재합니다. 하지만 Albert은 일반 응용 프로그램임에도 불구..

2017. 1. 3. 22:44

Ubuntu 16.10 버전에서 nimf 입력기 설치

리눅스를 주 운영체제로 사용하다보면, 여러 가지 상황이 발생합니다. 운영체제의 버전을 새로운 버전으로 올리다 보면, 새로운 패키지에 맞춰 프로그램을 설치해야할 때가 생깁니다. 예를 들면, 호환이 안되서라든지 등 인 것이죠. 우분투 리눅스를 써보신 분들이라면, 기존 버전에서 쓰던 프로그램이 새로운 버전 레포지터리에 있지 않아, 직접 빌드해서 사용하는가 하면, 다른 프로그램과 라이브러리 의존성 때문에 빌드를 포기하는 분들도 있습니다. 한글 입력기Windows 운영체제에서는 Microsoft에서 제공하는 전용 입력기를 사용합니다. 한글의 경우에는 IME 입력기라는 것을 사용하죠. 과거에는 MS Office 제품에 별도로 IME 타 버전까지 내장되어 있어서 호환성에도 많은 문제의 사례들이 있었죠. (지금은 없어..

2016. 5. 22. 15:46

UFW (The Uncomplicated Firewall, 우분투 리눅스 방화벽 데몬) 의 활용

Ubuntu Linux에는 ufw 라는 이름의 방화벽 프로그램이 내장되어 있다. 실질적으로 Ubuntu Linux Server 버전에서 사용하는 기본적인 방화벽 프로그램으로 iptables와 유사하지만 의외로 사용하기가 쉽다. 일반적인 Ubuntu Linux 배포판에는 UFW가 설정되어 있지 않다. 클라이언트 사용자의 입장이기도 하고, 서버처럼 제공하는 서비스의 입장으로써 공격 받는 입장 확률이 적다는게 이유일 가능성이 높다. ufw 데몬은 root 계정에서만 제어할 수 있다. 네트워크 상의 포트를 제어하거나 접근을 제한하는 데몬이기 때문이다. 그렇다면 iptables와는 어떤 차이가 있을까? 사실상 UFW도 iptables와 비슷한 방화벽 시스템이기 때문에 기능상의 차이는 없다. 하지만 명령어를 주는 ..

2015. 12. 24. 23:48

Let's Encrypt (무료 SSL 인증서) 설치와 활용

3개월 전, Mozilla에서 시작된 무료 SSL 인증서 발급 프로젝트가 있었는데, 그 프로젝트의 이름은 Let's Encrypt라고 하는 프로젝트였습니다. 사실 SSL을 사용한 HTTPS 보안 프로토콜의 등장은 패킷 스니핑으로 놀이터가 웹 환경을 해킹으로부터 무력화 시키는 가장 핵심적인 기술입니다. 하지만 이 SSL은 기술 특성상 제3자 서버의 인증을 받아야 하는데, 그 때문에 SSL 인증서 비용이 부과되어 주변 사이트들이 비용문제로 적용하지 않는 사이트들이 많습니다.(특히 국내권 사이트) 그런데, 이를 무료화 시키는 프로젝트가 바로 Let's Encrypt인데, 현재 공개 베타 서비스가 진행 중에 있으며 Python을 설치할 수 있는 운영체제라면 어디서든지 사용이 가능합니다. Let's Encrypt..

2015. 11. 27. 20:55

Openfire 서버 구성하기

OPENFIRE의 설치가 끝나고, 웹으로 접속이 되면 기본적인 DB 구성 등을 거쳐야 합니다. English를 선택하고, 진행하는 것으로 하겠습니다. 사용할 도메인과 포트번호를 설정합니다. 기본적으로 9090 포트번호를, 암호화를 지원하는 포트는 9091 포트번호를 사용합니다.여기서 암호화를 지원하는 포트란, HTTPS 프로토콜을 사용하며 SSL/TLS 인증서를 사용하여 패킷을 암호화하여 전송하는 프로토콜을 일컫습니다. 다음으로 암호화 기법이 있는데, 암호화 기법은 Bblowfish(블로피시)와 AES 암호화 알고리즘의 두 개의 암호화 알고리즘을 사용할 수 있습니다. * 둘 다 공개 암호화 알고리즘이고, 특히 Blowfish는 Java에서 주로 사용되는 암호화 알고리즘이다. Property Encrypt..

2015. 11. 27. 18:31

Openfire (XMPP 채팅 서버) 구축하기

XMPP 채팅 서버를 설계하기 위해 사용하는 대표적인 프레임워크인 Openfire는 Mac OS X, Windows, Linux를 모두 지원하는 장점을 가지고 있으며 플러그인 개발과 사용 등 Java를 사용하여 여러 부가 프로그램을 개발하고, JDBC를 이용하여 MySQL 등 별도의 DB를 구축하여 사용할 수 있다는 장점이 있습니다. 먼저 OPENFIRE를 다운로드 받습니다. Openfire Downloads 저는 Ubuntu Linux 14.04.3 LTS 버전에서 설치를 진행하도록 하겠습니다. $ wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.10.3_all.deb 먼저 wget 명령어를 사용허여 OPEN..

2015. 11. 2. 01:38

우분투에서 추천하는 미디어 플레이어 Bomi

우분투 데스크탑을 사용함녀서 여간 짜증이 났던 것은 바로 비디오 플레이어였다. 사실 이 비디오 플레이어가 예전에만 해도 토템 플레이어를 사용했었던 것 같은데, 어느새인가 바뀌어 있었다. 어쨌든 일단 써보긴 했지만 평은 정말 최악이었다. 자막 호환성부터 시작해서 너무 완성도가 떨어지고 심지어 그래픽 가속이나 코덱이 100% 호환/지원되지 않아 재생에도 조금씩 버퍼링이 있는 현상이 있는 등 정말 여간 짜증이 나지 않을 수 없었다. 그래서 여러 미디어 플레이어를 써본 결과 나에게 가장 적합하고 추천할 만한 미디어 플레이어는 Bomi라는 미디어 플레이어 였다. Bomi Player는 구 SMPlayer다. 현재는 bomi라는 이름을 사용하지만 사용해보니 자막 싱크로율도 꽤 잘맞고, 일단 UI가 Windows에서..

2015. 10. 4. 10:34

칼리 리눅스 2.0에서 패키지 설치하기 (Kali Linux 2.0 Repository)

칼리 리눅스 2.0을 한 번 써보았는데, 버그가 좀 많았던 것 제외하고, UI가 깔끔해지고 최적화가 많이 진행되어 나름 쓰기가 편하였습니다. 칼리 리눅스는 데비안 리눅스의 기반으로 한 모의 해킹 운영체제입니다. 그렇기 때문에 전용 레포지터리와 네트워크를 사용하여 인터넷에 접속해 패키지를 다운로드 받아 설치/업데이트를 진행하는데, 해당 서버 주소를 설정하지 않으면 칼리 리눅스에 해당하는 업데이트를 할 수 없습니다. 리눅스에서 레포지터리를 설정하는 방법은 다음과 같습니다. # cat /etc/apt/sources.lst sources.lst에는 해당 레포지터리에 대한 서버 주소가 적혀있씁니다. 서버 주소는 HTTP 프로토콜을 사용하여 접속해 업데이트와 설치 패키지를 제공받습니다. 칼리 리눅스 2.0에서의 레..

2015. 10. 1. 00:13

우분투 리눅스 nouveau 끄고 설치하기

MSI PE60-2QE 노트북을 새로 구입하고나서 Windows 10을 처음 설치하였습니다. 원래가 Windows 10에 최적화된 노트북이어서 Windows를 설치 후 불량 여부 판단확인 후에 리눅스를 설치를 하려고 했습니다. 그런데, 우분투 리눅스를 설치하려니 여러가지 문제점들이 많았는데요. 이 문제점 찾느라 1개월 정도 시간이 걸렸습니다. 사실 원래 NVIDIA의 리눅스 드라이버가 호환성이 딱히 좋지 않았습니다. 아시다시피 Optimus 기술을 사용하는 노트북 제품은 정식 드라이버가 없어서 2년 전까지만 해도 비공식 드라이버인 Bumblebee를 사용해여야 했었죠.. 그러나 이는 NVIDIA 그래픽 드라이버를 사용하는 데 문제였지만 X를 구동하는 데도 방해가 될 줄은 상상도 하지 못했습니다. nouv..

2015. 9. 4. 15:34

Kali Sana, Kali Linux 2.0

Kali Linux 2.0, KALI SANA 칼리 리눅스가 2.0 버전이 출시되었네요. 칼리 리눅스 1.0을 맛본지가 거의 2년 전이었는데, 벌써 2.0 버전이 나오다니, 아무튼 노트북 구입한 기념으로 칼리 리눅스를 덤으로 설치해봤습니다. 칼리 리눅스 2.0은 KALI SANA라는 이름을 가지고 있습니다. SANA라는 정확한 뜻은 알 수 없었지만 어쨌든 Kali SANA를 64비트로 설치해봤습니다. 칼리 리눅스 공식 홈페이지에서 공지하는 칼리 리눅스의 최소 사양은 위와 같이 10 GB의 하드디스크 공간, 최소 512MB의 RAM을 요구합니다. 그러나 필자가 생각하는 권장 사양은 적어도 아래와 같은 사양이 되어야 하지 않나 생각합니다.. H/W 32bit 64bit CPU Intel / AMD Dual ..