전체 글 203

리눅스의 프로세스와 쓰레드

아래 내용에서 잘못된 점은 꼭 알려주세요 [프로세스와 쓰레드] 먼저 프로세스와 쓰레드의 의미는 다음과 같습니다. 프로세스(Process)는 프로그램 하나가 실행될 때 쓰이는 단위입니다. OS로부터 메모리 공간을 할당받고, 스케쥴링 될 수 있습니다. 쓰레드(Thread)는 프로세스 안의 작은 작업 단위입니다. 따라서 프로세스는 작업을 위해 최소 하나 이상의 쓰레드가 있어야 합니다. 쓰레드는 여러개가 존재할 수 있고, 프로세스의 메모리 자원을 공유할 수 있으며, 때문에 하나의 자원에 여러 쓰레드가 달려들 때 일어날 수 있는 동기화 문제를 신경써야 합니다. 자기 자신만의 스택을 가질 수 있습니다. 다시 말해 프로세스는 그저 프로그램이 메모리에 로드되어 있고, 실행(스케쥴링)될 수 있다는 그 자체로 봅니다. 여..

MariaDB, phpmyadmin 설치하기

오드로이드 XU4 우분투 16.04 LTS 에서 진행됐습니다 MariaDB 는 170122 현재 10.1이 최신인데, 10.0으로 제공되고 있습니다. armhf 용으로 최신 버전을 제공하는 다른 Repository는 찾지 못했습니다. MariaDB 공식 홈페이지 가면 amd64랑 i386용은 있는데 armhf 용으론 제공해주지 않는 것 같네요 (혹시나 아시는 분은 댓글 부탁드려요) 그래도 지금 10.0이랑 10.1이 동시에 지원되고 있으니까, 그냥 apt-get 으로 설치하시면 됩니다. sudo apt-get install mariadb-server 그리고 한글 지원을 위해 설정 파일을 수정해줍니다. sudo vi /etc/mysql/conf.d/mysql.cnf [mysql] 하나만 있을텐데, 지우고 ..

ODROID + OMV ??

우분투 16.04 LTS 를 올리고, 무료 도메인도 얻고, 무료 SSL 인증서도 얻어 개인 블로그와 NAS 사이트 여는 걸 해본 적 있는데.. NAS가 주 용도라 Web기반 GUI를 제공하는 OMV(http://www.openmediavault.org/)를 써볼까 싶어 OMV로 이동하려고 했습니다 하지만, 우분투로 다시 돌아가려고 합니다.. OMV의 장단점과 OMV를 사용하지 않고 우분투로 개인 NAS를 구축하려는 이유 장점 1. 편리성OMV는 정말 편합니다. 사용자 생성, 권한 부여 및 NAS 기능을 위한 SAMBA, FTP 서버를 여는 게 너무너무 편해요. 마우스 클릭 몇 번이면 됩니다. 그리고 다양한 플러그인을 통해 Nginx, MySQL, Plex Media Server, LetsEncrypt 등..

Node.js 와 Android 사이 RSA, AES 암호화 예제

프로젝트를 하나 진행하는데.. 소켓 데이터 암호화가 필요한 시점이 왔었다. Node.js 에 npm 모듈로 socket.io 를 올린 서버와, socket.io 라이브러리를 사용하는 안드로이드 어플리케이션. 둘 사이에 JSON 데이터를 socket.io를 통해 주고 받는다. 이 데이터가 암호화되지 않은 평문이라면, 아마 와이어샤크 등으로 쉽게 모든 개인 정보가 보여졌을 것이다.처음엔 공개 키 암호화 방식으로 RSA 암호화만을 사용하려고 했었다. 아주 강력한 암호화 방식. RSA Key Pair(공개 키, 비밀 키 한 쌍)을 생성하고, 공개 키로 암호화한 건 비밀 키로만 복호화할 수 있는 방식이다. 하지만, RSA 암호화 방식은 적은 양의 데이터(평문 데이터 245byte 이하)만 암호화가 가능하다고 해,..

우분투 16.04 LTS 에서 이클립스 데스크탑 아이콘 먹통 고치기

안드로이드 악성코드 분석에 관심이 생겨 윈도에서 분석 해보다가,윈도에서 쓰이는 분석 툴(dex2jar, apktool, JD-GUI 등등)들이 전부 리눅스 환경에서도 이상없이 작동하는 것 뿐 아니라,어떤 툴 (droidbox)은 리눅스 환경에서만 작동한다는 걸 알고..기존에 사용 중인 우분투 16.04 LTS 로 이사했다 이번에 윈도우 10 1주년 업데이트(레드스톤 1) 에서 우분투 Bash 가 윈도우에 거의 네이티브하게 올라간다는 소식도 있지만,GUI 툴들은 아무래도 사용이 힘들 것이고.. 어차피 우분투 16.04 와 윈도 10을 듀얼부팅하고 있었으니 간단하게 이사를 했다 근데 소스 코드 분석을 위해 이클립스 네온을 설치했는데,얘를 실행시키려고 보니까 자동으로 생긴 Desktop entry 로는 죽어도..

PHP 와 Nginx 최신 버전 설치

오드로이드 XU4 16.04 LTS 환경에서 진행됐습니다. 170122 - PHP 7.1 로 수정 - nginx 저장소 추가 - 내용 수정 - 현재 최신 php 7.1.1 nginx 1.10.2 1. PHP 명령어를 통해 최신 php를 제공하는 저장소를 추가한다.# add-apt-repository ppa:ondrej/php그리고# apt-get update # apt-get install php7.1-fpm을 통해 설치하면 된다. MySQL(MariaDB)과 연동하려면# apt-get install php7.1-mysql를 추가 설치한다. 설치 후 그냥 써도 되지만 timezone을 설정해줘야 한다두 파일 모두 같은 곳을 찾아 바꿔주면 된다# vi /etc/php/7.1/fpm/php.ini # vi ..

오드로이드 XU4 자작 NAS 설정

160626 (최초) - 좋은 패키지나 활용 방법이 있을 때마다 지속적으로 수정할 예정 170122 - 내용 보충 NAS 0. usbmount (USB 보조기억장치 자동으로 마운트시켜주는 툴) 설치# apt-get install -y usbmount // # reboot 재부팅을 해줘야 usbmount가 일을 해서 /media/usb0, /media/usb1, ... 마운트가 되어 있을 겁니다.마운트 여부 확인은 df 명령어 1. samba 패키지 설치# apt-get install -y samba1-1. 삼바 계정 추가# smbpasswd -a {계정이름}1-2. 서버 설정# vi /etc/samba/smb.conf파일 가장 아랫줄에 다음 내용 작성 [{서버이름}] comment = {삼바 접속 시 메..

오드로이드 XU4 기본 설정

160626 조만간 ODROID XU4 용 Ubuntu 16.04 LTS Server 가 지원될 예정이라고 함!160720 - Ubuntu 16.04 LTS 로 업데이트 - 커널도 이미 3.10.96이고, root 파티션도 확장되어 있어 내 용도에는 odroid-utility 가 굳이 필요 없었음170122 - 최초 패키지 업데이트시 프롬프트 관련 추가 - tzselect 관련 업데이트 1. OS 설치 (여기선 Ubuntu 16.04 LTS Minimal) http://odroid.in/?directory=.%2Fubuntu_16.04lts%2F // 여기부턴 오드로이드에 SSH 접속 후 진행2. root 패스워드 변경# passwd // # reboot 4. 패키지 업데이트 # apt-get updat..

Git 이란?

Git 은 소스 코드 관리 시스템 중 하나이다. 리눅스 토발즈가 포함된 개발 팀에서 리눅스 커널 개발 도중 더 나은 커널 개발 및 관리를 위해 만들어졌다. 분산 버전 관리 시스템(Distributed Version Control System, DVCS)이기도 하며, 이는 각 개발자가 중앙 서버에 접속하지 않고도 각자 코드 작업을 할 수 있다는 뜻이다. Git의 작업 폴더는 모두 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태의 저장소(Repository)이다. 네트워크에 접속하거나, 중앙 서버에 의존하지 않는다. 이 말은 앞서 말한 분산 버전 관리 시스템이란 말과 같다. 즉, 각 개발자는 자신의 컴퓨터에 모든 파일을 다 받아서 작업을 진행한다. 만약 자신이 git에 올라온 리눅스 커널..

Programming/Git 2016.04.04

Node.js 와 npm 최신버전 설치 및 업데이트하기

170124 - 최신 버전으로 내용 업데이트 (Node.js v7.4.0, npm 4.0.5) 우분투 12.04 이상, 데비안 7 이상에서만 가능한 방법입니다.Node.js, npm 은 x86과 arm 시스템 모두 동일합니다. 오드로이드 XU4 등 arm 기반 보드에서도 아래 명령어를 통해 설치하시면 됩니다. 1. Node.js 최신버전 설치 curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs Node.js 업데이트 sudo npm cache clean -f sudo npm install -g n sudo n stable 2. npm 최신버전 설치 sudo curl -L https://np..