1. Install pakages

sudo apt-get install network-manager-strongswan

2. Settings - Network - VPN - (Add VPN) - IPsec/IKEv2(strongswan)

Gateway

Address: <HOST IP>

Certificate: <certificate for the host>

Client

Authentication: EAP

Username: <username>

Password: <passwd>

Options

Request an inner IP address

 

참조 https://docs.netgate.com/pfsense/en/latest/recipes/ipsec-mobile-ikev2-client-ubuntu.html

 

'Programming > Linux' 카테고리의 다른 글

Ubuntu 한글 입력  (0) 2022.12.31
PCI device rescan  (0) 2022.09.25
Piping ls to cp  (0) 2020.12.02
How to use GDB  (0) 2020.03.12
PhantomJS Installation on Ubuntu from source  (0) 2018.12.10

Ubuntu 한글 입력

 

1. Settings - Region & Language - Input Sources - (Add an input source) - Korean - Korean

2. Settings - Region & Language - Manage Installed Languages - Install

3. Reboot

4. Settings - Region & Language - Input Sources - (Add an input source) - Korean - Korean(Hangul)

5. Settings - Region & Language - Input Sources - Korean(Hangul) - - Hangul Toggle Key - Hangul - OK

6. Terminal

sudo vi /usr/share/X11/xkb/symbols/altwin
...
key <RALT> { type[Group1] = "TWO_LEVEL",
			symbols[Group1] = [Hangul] };
...

7. Reboot

 

참조 https://shanepark.tistory.com/231

'Programming > Linux' 카테고리의 다른 글

Ubuntu IKEV2 VPN 설정  (0) 2022.12.31
PCI device rescan  (0) 2022.09.25
Piping ls to cp  (0) 2020.12.02
How to use GDB  (0) 2020.03.12
PhantomJS Installation on Ubuntu from source  (0) 2018.12.10
echo 1 | sudo tee /sys/bus/pci/devices/<port>/remove
echo 1 | sudo tee /sys/bus/pci/rescan

 

'Programming > Linux' 카테고리의 다른 글

Ubuntu IKEV2 VPN 설정  (0) 2022.12.31
Ubuntu 한글 입력  (0) 2022.12.31
Piping ls to cp  (0) 2020.12.02
How to use GDB  (0) 2020.03.12
PhantomJS Installation on Ubuntu from source  (0) 2018.12.10

Linux cp 명령어 옵션중에 특정 파일/폴더를 제외하는 옵션이 없는 것 같다.

아래와 같이 ls 와 grep, cp를 piping 하면 특정 폴더를 제외하고 복사가 가능하다.

 

# ls | grep -v <file_to_exclude> | xargs -i cp {} <new_dir>

 

'Programming > Linux' 카테고리의 다른 글

Ubuntu 한글 입력  (0) 2022.12.31
PCI device rescan  (0) 2022.09.25
How to use GDB  (0) 2020.03.12
PhantomJS Installation on Ubuntu from source  (0) 2018.12.10
Linux screen  (0) 2018.09.27

1. Compilation for GDB

Compile with -g flag

 

2. Run GDB

 -  Run a program with gdb

$ gdb <program>

 - Attach a running program with gdb

$ gdb
(gdb)attach <pid>

 - Run a program and a core with gdb

$ gdb <program> <core_file>

 

3. GDB commands

 - quit / q: quit GDB

 - run / r: run from start

 - break / b <location>: set a break point

 - watch <variable>: set a watch point

 - step / s: run a step

 - next / n: run next

 - continue / c: continue to the next break point

 - info break / locals / args: print the information of breakpoints / local variables / arguments for stack frame function

 - print <variable / pointer / function>: print the value of variable / address of pointer / address of function

 - list: print 10 lines of current source code

* location = file_name:function_name | file_name:line_number | class::function_name

'Programming > Linux' 카테고리의 다른 글

PCI device rescan  (0) 2022.09.25
Piping ls to cp  (0) 2020.12.02
PhantomJS Installation on Ubuntu from source  (0) 2018.12.10
Linux screen  (0) 2018.09.27
Xshell + Xming  (0) 2018.09.10

Ubuntu 에서 Headless browser 인 PhantomJS를 설치하는 방법을 소개한다.


PhantomJS는 기본적으로 Multi platform 을 지원하여, Windows, Linux, FreeBSD 등 다양한 OS 상에서 구동 될 수 있다.

Architecture / OS 에 따라 기본적으로 제공되는 파일을 사용하여 설치 할 수 없는 경우

Github 로 부터 source code를 다운 받아 설치 할 수 있다.


PhantomJS에서 필요한 패키지(Qt, WebKit 등)를 자동으로 설치 하기 떄문에 Dependency가 없다고 하지만,

Ruby, gperf 등 일부 패키지를 설치 하지 않으면 install 도중 Error를 맞이하게 된다.


Prerequisites

1. Ruby Installation

Ruby install은 RVM(Ruby Version Manager)를 통해 할 수 있다. 따라서, Ruby install 을 위한 RVM install 이 필요하다. 

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

$ cd /tmp && \curl -sSL https://get.rvm.io -o rvm.sh

$ cat /tmp/rvm.sh | bash -s stable

*참조: https://www.rosehosting.com/blog/install-ruby-on-rails-on-ubuntu-16-04/

RVM이 설치 되면, Ruby를 설치 할 수 있다. 


RVM 실행

$ source /usr/local/rvm/scripts/rvm


RVM에서 설치 가능한 Ruby version 확인

$ rvm list known


Ruby 설치(stable 최신 버전 2.5.1, 2018.12.10 기준)

$ rvm install 2.5.1


2. Gperf Installation

$ sudo apt-get install gperf


Git source Fetch

$ git clone https://github.com/ariya/phantomjs


PhantomJS Installation from source

$ cd phantomjs

$ ./build.py 

(시간이 꽤 걸린다.)

'Programming > Linux' 카테고리의 다른 글

Piping ls to cp  (0) 2020.12.02
How to use GDB  (0) 2020.03.12
Linux screen  (0) 2018.09.27
Xshell + Xming  (0) 2018.09.10
Memtester  (0) 2018.07.15

Linux 명령어 중에 Shell 접속이 끊어지더라도, 프로세스를 죽이지 않기 위해 screen 을 사용할 수 있다.


screen 은 가상의 shell을 담당하여, 실제 shell의 접속 여부와 상관없이 프로세스를 계속적으로 진행하게 해준다.


초간단 사용법

1. 스크린 생성

$ screen

screen 명령어에 아무런 옵션이 없는 경우 임의의 이름을 가지는 screen을 생성한다.

이름을 지정하기 위해서는 screen -S <NAME> 과 같이 -S 옵션을 사용하면 된다.


2. Detach

screen에 접속한 상태에서 screen으로 명령을 전달하기 위해서는 ctrl+a 를 입력 한 뒤에 명령을 입력해야 한다.

screen에서 접속을 해제하는 detach 명령어는 d 이다


3. List 확인

Detach 한 screen에 재접속(Reattach) 하기 위해서는 우선 해당 screen의 이름을 알거나, Process ID를 알아야 한다.

Screen의 Process ID를 확인하기 위해서는 아래와 같이 -x 옵션을 사용한다.

$ screen -x

이 때, 활성화된 screen 이 1개밖에 없는 경우, 해당 screen으로 바로 재접속(Reattach) 된다.


4. Reattach

3에서 확인한 Process ID 혹은 screen 이름으로 Reattach 하는 명령은 -r 옵션을 사용한다.

$ screen -r <Process_ID | screen_name>


5. Kill

screen에 접속한 상태에서 해당 screen을 kill 하는 명령어는 k 이다.

Kill 명령의 경우 진짜로 죽일 것인지 한 번 더 확인한다.


6. Screen for running multiple processes

Screen command option 중 -dmS 옵션을 사용하면 각 Process를 동작하는 screen을 여러개 생성할 수 있다. 프로세스가 종료되면 screen 또한 종료된다.

Bash script 와 함께 활용하면 유용하다.

#!/bin/bash


for size in 2 4 8 16 32

do

    screen -dmS screen_${size} ./test.sh ${size}

done


'Programming > Linux' 카테고리의 다른 글

How to use GDB  (0) 2020.03.12
PhantomJS Installation on Ubuntu from source  (0) 2018.12.10
Xshell + Xming  (0) 2018.09.10
Memtester  (0) 2018.07.15
Ctags  (0) 2018.07.03

Netsarang의 Xshell, Xftp 는 개인/학교 사용자의 경우 무료로 사용할 수 있다.

무료 버전과 유료 버전의 차이 점은 동시에 열 수 있는 shell 의 갯수의 제한 정도라고 하는데,

Xshell 과 Xftp만 무료이기 때문에, 유료로 구매하지 않으면 Xmanager(X11 포워딩) 을 사용할 수 없다.


따라서, Xming을 사용하여 X11 포워딩을 설정하여 사용한다.

(Xming 또한 무료)


Xming은 SourceForge.net에서 다운 받을 수 있다.


Xshell 실행 후 

파일 - 열기 - 세션 등록정보 에서

SSH - 터널링 의 X11 포워딩을 아래와 같이 설정해 주면 된다.

* 출처: https://www.netsarang.com/tutorial/xshell/2779/Using_X11_forwarding


혹은 Xshell 기본 세션 정보에서 수정하면, 기본 설정으로 X11 Forwarding 을 localhost:0.0으로 수정할 수 있다.

기본 세션 정보는 일반적으로 C:\Users\<User_name>\Documents\Netsarang Computer\Xshell\6\Xshell\Sessions\default 에 위치한다.

파일을 열어 

ForwardToXmanager=1 을

ForwardToXmanager=0 으로 수정한다.


Xming 으로 X11 포워딩 시 Xming이 사전에 실행되어 있어야 한다.

윈도우 시작프로그램으로 등록하는 것도 한 방법!


'Programming > Linux' 카테고리의 다른 글

PhantomJS Installation on Ubuntu from source  (0) 2018.12.10
Linux screen  (0) 2018.09.27
Memtester  (0) 2018.07.15
Ctags  (0) 2018.07.03
scp  (0) 2018.05.29

Ubuntu 패키지 중에 Memory(RAM) 를 테스트하기 위한 패키지가 있다

Memtester 


성능 분석을 할 수는 없고, Bit flip 등 error 가 발생하는 지 여부를 확인 할 수 있다.


설치

$ sudo apt-get install memtester


사용 방법

memtester <size_in_MB> <#_of_loops>

-p 와 함께 physical address base를 지정할 수 있다.


참조: https://www.techwalla.com/articles/how-to-reinstall-usb-mouse-drivers-in-ubuntu-using-the-command-line

'Programming > Linux' 카테고리의 다른 글

Linux screen  (0) 2018.09.27
Xshell + Xming  (0) 2018.09.10
Ctags  (0) 2018.07.03
scp  (0) 2018.05.29
Systemd Service  (0) 2018.05.04

Linux 에서 여러 파일 간의 코드 연결을 보고자 할 때, Ctags를 활용 할 수 있다.


설치

$ sudo apt-get install ctags


태그 생성

$ ctags -R


명령어(Vim 사용 중)

 - 커서 + Ctrl + ] : 커서 위치의 tag로 이동(push to stack)

 - :ts : tag stack 확인

 - Ctrl + t : Pop stack

'Programming > Linux' 카테고리의 다른 글

Xshell + Xming  (0) 2018.09.10
Memtester  (0) 2018.07.15
scp  (0) 2018.05.29
Systemd Service  (0) 2018.05.04
Linux tar, gz, bz2  (0) 2018.04.25

+ Recent posts