#WITHYOU
Lum7671's Weblog
#WITHYOU
Ubuntu Note

Ubuntu 에서 기억하고 싶은 내용

기본 editor 를 vim 으로 설정

% sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    15        manual mode

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode
%

UFW (Uncomplicated Firewall)

1. 링크

init.d, update-rc.d

배경 :

  • nginx를 사용해서 Apache2가 뜨지 않도록 함.
  • pagespeed 를 사용하기 위해서 Apache2가 설치 돼있어야 함.

1. runlevel 확인

% runlevel
N 5
  • N : 이전 runlevel
  • 5 : 현재 runlevel

2. apache2 데몬 띄우지 않기

2.1 “KXX…” symbolic link 만들기.

% ls -ald /etc/rc5.d/K01apache2
lrwxrwxrwx 1 root root 17  8월 20  2016 /etc/rc5.d/K01apache2 -> ../init.d/apache2

2.2 수정 내용 시스템에 적용하기.

% sudo update-rc.d apache2 defaults

2.3 혹은, daemon disable

% sudo update-rc.d apache2 disable
[sudo] password for x:
update-rc.d: error: apache2 Default-Start contains no runlevels,
aborting.
% sudo update-rc.d apache2 remove

3. 수정 내용 확인

% head /etc/init.d/apache2
#!/bin/sh
### BEGIN INIT INFO
# Provides:          apache2
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:
# Default-Stop:      0 1 2 3 4 5 6
# X-Interactive:     true
# Short-Description: Apache2 web server
# Description:       Start the web server
  • Default-Stop 에 runlevel 5가 포함 되있는 것을 볼 수 있다.

4. 참고

% sudo systemctl disable apache2
apache2.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable apache2
update-rc.d: error: apache2 Default-Start contains no runlevels,
aborting.
  • /lib/systemd/systemd-sysv-install
% sudo /lib/systemd/systemd-sysv-install disable apache2
update-rc.d: error: apache2 Default-Start contains no runlevels, aborting.

Linux Tips

기억하고 싶은 Linux 팁

Here document Keybase 와 shell의 “here document” 기능을 사용한 예: % keybase pgp sign -c << EOF hello EOF -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 hello -----BEGIN PGP SIGNATURE----- wsFcBAEBCAAQBQJbzu4wCRDbzYs3KlGl4QAAvvUQAFqpyLCc8DeS5jNNLGr2hdqL 55zKqntXq/4J++JzlcASzkde5fdh34IA8ALi3ZBMrdI36pxpGShmL7+aVTR941WH EnHv/emEhIEkLPve+VJVx0Rc8ylwRJ4wi4rP4bKoBD29J4wmU26PaaCqZNpIdTWu VbjASz5KDrBJjZkPlTV3hpoJUl0zAoHPBmtkPfx+KXDI88oRiA8Y8h7FAxlwicwy WMM4KLmXlGNHSBGMPRFOUjgAKo5YnXjAsKgrDiTW8hubsYXWgO5NUCDa9lWsNoW+ bVrynqgGYfTgovy66Y4b7uzU8wzVKiDhRSR5B1MUOiquAjD0veRQdl9RMmZ4Hpz5 z/SdPKk/PYNhg84wQdgQRmtwYUau8utXmqXrqsnyBzzp4fYomFWxcITPr7uki8ks AsvGJv0cw6zUyMUpPjyO7l2qsrDPvZiQe+Nqe5rueoZ3YWjHWYCUy/IyIziUGhv+ xv6InINIazqEqgsNUwVF0fexF0tEkla/ggXRjTQ7Ht0uYlngV6DmJ0QXNsOs3f2y E6XIR2Z3iQwo1XPCtYbmXNzZ4n4nBB2vpcBN3o6L/kyU7ITcBgfCylZSkACh9A96 aNaEilAX7Xty31128XlAET8E+loFmRLZnozL426Y1t62yTzpsww1a5YpMPgaR91/ ClWaFiPcpFuSYRB38cnV =5W1g -----END PGP SIGNATURE----- % ssh, password 자동입력 % ssh-keygen -t rsa -b 2048 % ssh-copy-id id@server 출처 : How to automate SSH login with password? 용어, Shebang (Unix) Read More


MacOS Tips

MacOS에서 기억하고 싶은 것

brew, tor proxy 사용하기 % HOMEBREW_FORCE_BREWED_CURL=/usr/local/opt/curl/bin/curl;ALL_PROXY=socks5://127.0.0.1:9050 brew cask install filezilla 원하는 curl 지정 추가. 참고: Homebrew behind proxy ? brew cask 를 upgrade 하기 % brew cask outdated | xargs brew cask reinstall 참고: osx - Upgrade all the casks installed via Homebrew Cask - Stack Overflow cron 설정 문제 crontab -e 로 설정을 하고 ‘wq’로 저장하면 아래와 같은 메세지가 나오면서 저장 되지 않는 문제가 있다. % crontab -e crontab: no crontab for userid - using an...

Read More
Docker Memo

Docker Memo

Youtube 강좌 https://www.youtube.com/playlist?list=PLfI752FpVCS84hxOeCyI4SBPUwt4Itd0T 온라인 책 가장 빨리 만나는 Docker 두서없는 메모 docker run hello-world hello-world를 찾아서 설치하고 실행한다. 보통은 ‘출처/제품’ 으로 출처를 지정하나 생략하면 공삭적인 출처에서 설치를 하는 것 같음. (의견/확인 필요) docker pull : 이미지를 받는다. docker image 이미지 리스트 docker rmi $(docker image -aq) 모든 이미지 삭제 docker container ls —all(-a) 실행한 컨테이너까지 보여줌 image 는 class container 는 instance value 같은 느낌 한 개의 image 는 여러 개의 container를 만들 수 있다. docker stop $(docker container ls -aq) 모든 컨테이너 중지 docker rm $(docker container ls -aq) 모든 컨테이너 삭제 docker ps (-a) 실행중인(했던) 목록 docker info 정보 CI/CD : Continuous integration and continuous deployment Dockerfile docker build -t hellowworldtest . docker image hellowworldtest...

Read More
Firefox 사용팁

Firefox를 사용하면서 기억하고 싶은 메모

주소(검색)줄에서 자동완성 목록에서 필요없는 것 지우기. 방향키를 사용해서 해당 목록으로 이동 “Shift” + “Delete” 키를 눌러서 목록에서 삭제 참고: Awesome Bar - Search your Firefox bookmarks, history and tabs from the address bar | Firefox Help...

Read More
경력에 대한 생각

프로그래머의 경력에 대한 생각

장인이 있는 창착이나 공예와 같은 분야에서 경력이 쌓일수록 기술이 다듬어지고 빨라지고 기술 노하우도 늘어서 초급 기술자보다 고급 기술자와 격차가 눈에 띄게 많이 난다. 하지만, 컴퓨터 프로그래머로 고급 기술자가 되는 길은 명확하지 못한 것 같다. “넓고 얕게” 또는 “좁고 깊게” 보통 내 경력에 대해 얘기할 때, “넓고 얕게 알고 있다”라고 하는데 경력을 쌓는 방법으로는 이것도 한 방법이고, 그 반대인 좁고 깊게 아는 방법도 경력을 쌓는 방법이라고 생각이 된다. 분야 92학번 나이에 한국에서 프로그래머로 살아가는 것은 미래에 대한 알 수 없는 불안으로 계속해서 걱정을 하며 살았던 것 같다. 선배가 있으면 선배를...

Read More
Aquamacs

Aquamacs 관련 메모

customizations.el 위치 : $HOME/Library/Preferences/Aquamacs\ Emacs/customizations.el PATH 설정 (setenv "PATH" (concat "/Users/1001028/bin" ":" "/usr/local/bin" ":" (getenv "PATH") ) ) PATH 확인 M-x getenv => PATH LANG=ko_KR.UTF-8 (setenv "LANG" (concat "ko_KR.UTF-8"...

Read More
Bookmarks

저장하고 싶은 site

Ubuntu How to Delete Old Unused Kernels in Debian andUbuntu : byobu script 책 텍스트 데이터 처리툴 awk 강좌 1.0 release : gitbook, github, github 게시판 Utils Free Password Manager Compatible with KeePass: KeeWeb : Free cross-platform password manager compatible with KeePass 개발 LemonJar - iOS Console : The most awesome iOS console log viewer. Ever. 유의적 버전 2.0.0 | Semantic Versioning gitignore.io - Create Useful .gitignore Files For Your Project Manpages : This makes a total of 195795 available manpages (including...

Read More
자동차 메모

기억하고 싶은 자동차 메모

베터리 상식 volt 차량과 배터리의 규격에 따라 조금 다르기는 하지만, 정격 충전 전압은 대략 13.6 - 14.2V DC 입니다. 13.6V가 안 나오면, 알터네이터(발전기) 혹은 전압 레규레이터(정압기)의 문제가 있음을 의미 합니다. 차량을 정상적으로 어느 정도 장거리 운행한 후 엔진을 정지시키고, 차량에서 사용되는 모든 엑세서리나 부속 장비의 전원을 완전 차단 후, 배터리 단자의 전압을 측정합니다. 정격 무부하 전압은 대략 12.6V DC 정도가 될 것입니다. 참고 : 차량용 밧데리 체크방법...

Read More
Python 와 Emacs

Emacs 에서 Python 사용하기.

ipython shell 깨지는 문제 (setq python-shell-interpreter "ipython" python-shell-interpreter-args "--simple-prompt -i") 참고 : Weird shell output when using IPython 5...

Read More
Git 팁

Git 에서 기억 하고 싶은 팁

관련 링크 Learn X in Y Minutes: Scenic Programming Language Tours github/gitignore: A collection of useful .gitignore templates rebase task001 => rebase_branch 로 rebase 하기 % git checkout task001 % git rebase rebase_branch First, rewinding head to replay your work on top of it... Applying: added staged command ... % git checkout rebase_branch % git merge task001 commit 후 되돌리기 # 1번 상태 % git checkout HEAD~1 README.md % git reset 12ffb81 README.md # commit 되돌리기 #...

Read More
iOS, JavaScript 와 통신

JavaScriptCore, UIWebView 를 사용해서 iOS 와 JavaScript 의 서로 통신 방법

1. JavaScript의 console.log 를 NSLog 로 찍어 보기. ViewController.m : 44라인 JSContext *ctx = [_webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; ctx[@"console"][@"log"] = ^(JSValue * msg) { NSLog(@"%@ log message: %@", [JSContext currentContext], msg); }; test.html : 19, 31라인 console.log('=== Java Script Start...

Read More
iOS Memo

기억하고 싶은 iOS 메모

참고 On-Demand Resources Guide UITableView Performance URL : A Closer Look at Table View Cells Cells and Table View Performance The proper use of table view cells, whether off-the-shelf or custom cell objects, is a major factor in the performance of table views. Ensure that your application does the following three things: Reuse cells. Object allocation has a performance cost, especially if the allocation has to happen repeatedly over a short period—say, when the user scrolls a table view. If you reuse cells...

Read More
iOS, UILabel 에서 글자 간격 조정하기.

NSAttributedString 의 NSKernAttributeName 설정

1. 소스 @interface ViewController () @property (assign, nonatomic) BOOL toggle; @end @implementation ViewController #define LABEL_TEXT @"MAGENTA" #define SMALL_FLOAT 0.0f #define LARGE_FLOAT 20.0f - (IBAction)clickedTestButton:(id)sender { _toggle = (_toggle)?NO:YES; Read More


Java 팁

기억하고 싶은 자바 팁

HttpPost, json-simple(JSONObject) 에서 한글 인코딩이 ‘???’ 로 나올 때, Spring 개발 환경에서 FCM 을 구현 하던 중 한글 Push Message 가 ‘???’ 로 나오는 문제가 있었는데… 해결 후 메모를 남긴다. 이 문제는 단순히 JSONObject와 StringEntity 간 변환 문제였다. URL : Json-Simple String tmpJson = jsonObject.toString(); StringEntity stringEntity = new StringEntity(tmpJson, "UTF-8"); httpPost.setEntity(stringEntity Read More


https, letsencrypt.org 와 nginx

letsencrypt를 이용해 https 사이트 만들기

인증서 갱신 (renew, certonly) crontab % sudo crontab -l # 2월, 4월, 6월, 8월, 10월, 12월 매 6일 새벽 4시 17분에 let's encript 갱신 17 4 6 2,4,6,8,10,12 * /opt/local/sbin/letsencrypt_renew.sh 참고 : /etc/crontab /opt/local/sbin/letsencrypt_renew.sh % cat /opt/local/sbin/letsencrypt_renew.sh #!/bin/sh # NginX Stop service nginx stop # or whatever your webserver is # LetsEncrypt Update /opt/local/letsencrypt/letsencrypt-auto certonly -w /var/www/html -d oh.mypi.co --force-renewal --no-self-upgrade --standalone LE_STATUS Read More


Xcode, LLDB Memo

lldb 메모

break point, 몇 가지 방법 (lldb) breakpoint set --name func001 --name func002 (lldb) break set --method method001 (lldb) br set --selector obj001_selector001: (lldb) b set --name "-[class001 method001:]" (lldb) breakpoint set --file test.swift --line 26 (lldb) breakpoint set --selector viewWillAppear breakpoint 는 break, br, b 로 줄여서 쓸 수 있다. ‘-r’ : 정규식표현식 break point, 추가 설명 Read More


MacOS에서 Python3를 python으로 사용하기.

virtualenv를 이용해서 MacOS에서 Python3를 python으로 실행 가능하도록 하는 방법.

MacOS에서 Python3를 python 으로 사용하는 방법. 1. 필요 소프트웨어 설치 % pip install virtualenv % pip install virtualenvwrapper 2. 환경 설정 $ mkdir ~/.virtualenvs # .zshrc export WORKON_HOME=~/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 3. python3 를 python 기본으로… % mkvirtualenv --python=/usr/local/bin/python3 myenv 4. 확인 % python --version Python 3.6.2 % deactivate # 기본 python 으로 되돌림 % python --version Python 2.7.10 % workon myenv # python3 을 python 으로... %...

Read More
macOS, ZFS를 사용해서 RAM 디스크 만들기

ZFS로 RAM 디스크를 만들어서 앱을 조금이라도 빠르게 동작하도록 한다.

Change Logs 2016-11-20 15:33 : $DEVDISK 변수를 이용해서 RAM 디스크 만듬. 2016-11-15 20:35 : 최초 작성. 용도는 주로 $HOME/Library/Caches 디렉터리에서 브라우저용 캐시와 같은 속도를 높이고 싶은 파일들을 RAM Disk로 옮겨서 빨리 실행되도록 한다. 특히, 필자와 같이 HDD를 주 Disk로 사용하는 경우 RAM Disk가 보다 효과적일 것 같다. 관련 링크: A short ramdisk & ZFS anecdote (Ramblings from Richard’s Ranch) OpenZFS on OS X mkRamDisk.sh RAM 디스크를 생성하고 Disk에 backup 된 내용을 복사한다. % cat ~/bin/mkRamDisk.sh #!/usr/bin/env sh Read More


Nginx Memo

기억하고 싶은 Nginx 메모

Add ngx_pagespeed module to Ubuntu 17.10 Nginx install from Ubuntu Source Package 참고: Compile Nginx with ngx_pagespeed Module on Ubuntu 16.04 - LinuxBabe.Com Get Nginx Source Package % mkdir ~/nginx && cd ~/nginx % sudo apt install dpkg-dev % sudo apt source nginx % ls nginx-1.12.1 nginx_1.12.1-0ubuntu2.dsc nginx_1.12.1-0ubuntu2.debian.tar.xz nginx_1.12.1.orig.tar.gz Modify rules file %...

Read More
Python 에서 Lambda

Python3 에서 Lambda 사용하기.

Lambda 와 and, or trick >>> s = "this is\na\ttest" # Case #1 >>> collapse = False >>> processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s) >>> print( Read More


Ruby Memo

기억하고 싶은 Ruby 메모

RVM 전환 및 기본 ruby 설정 현재 ruby 설정 확인 % rvm list ruby-2.4.1 [ x86_64 ] =* ruby-head [ x86_64 ] # => - current # =* - current && default # * - default 일시적으로 사용할 ruby 지정 % rvm use ruby-head 기본적으로 사용할 ruby 지정 (부팅 후 기본) rvm --default use ruby-head...

Read More
Snort, To install Snorby with Nginx

Snort를 설치하고 Snorby를 Nginx에 설치한다.

참고 문서 PDF, Snort 2.9.8.x on Ubuntu 12 LTS and 14 LTS and 15 Snort 설치 Barnyard2 설치 PulledPork 설치 Snorby 설치 (Apache2 에서) 특이 사항 거의 모두 참고 문서를 통해서 어려움 없이 설치가 가능하다. 설명이 자세하고 친절해서 설치의 어려움이 없다. 하지만, ‘Asia/Seoul’ locale과 Nginx에서 Snorby를 설치하기 위한 내용을 추가한다. 서버 정보 % uname -a Linux ubuntu 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux % cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=15.10 DISTRIB_CODENAME=wily DISTRIB_DESCRIPTION="Ubuntu 15.10" Read More


Synology NAS

Synology NAS 메모

DSM 6.1 - Seagate IronWolf 씨게이트 아이언울프 헬스 매니지먼트 (IronWolf Health Management, IHM) 하드로 씨게이트 아이언울프를 사야 할 이유??? ㅎㅎ 링크 : DiskStation Manager 6.1 씨게이트와 시놀로지, 지능형 드라이브 진단 소프트웨어 출시 ::: 베타뉴스 씨게이트가 제공하는 최첨단 데이터 복구 기술은 물론, 주요 변수를 지속적으로 모니터링하고, 문제를 차단, 신속한 문제 해결 등 시놀로지 DSM에 장착된 드라이브를 관리한다. 온도나 습도처럼 NAS 운용 환경과 연관된 추가 정보를 수집해 발생할 수 있는 문제를 미리 예방할 수 있다. 아이언울프 헬스 매니지먼트는 드라이브 사용 환경과...

Read More
template

테스트 % ls ::uml:: format=”png” alt=”Sample sequence diagram” participant User User -> A: DoWork activate A #FFBBBB A -> A: Internal call activate A #DarkSalmon A -> B: << createRequest >> activate B B —> A: RequestCreated deactivate B deactivate A A -> User: Done deactivate A ::end-uml::...

Read More
Test Creole

Creole 테스트

<> title: Créole tags: creole, python, pelican_open date: 2013-12-12 <> = Title 1 == Title 2 Some nice text with strong and //emphasis//. A nice list ** With sub-elements Python <> print("Hello World") <> An ordered list A second item...

Read More
tmux

기억하고 싶은 tmux 메모

tmux 참고: Learn X in Y minutes, Where X=tmux 시작 % tmux -lu new -s pug 임시 종료 Ctrl-b Ctrl-d 이어서 다시 시작 % tmux attach 완전 종료 % tmux kill-server Commands start-server (alias: start) new-session [-c start-directory] [-F format] [-n window-name] [-s session-name] [-t group-name] [-x width] [-y height] [shell-command] (alias: new) list-clients (alias: lsc) attach-session [-c working-directory] [-t target-session] (alias: attach) detach-client [-s target-session] [-t target-client] (alias: detach) has-session [-t target-session] (alias: has) kill-server kill-session [-t target-session]...

Read More
Tomcat7, Deploy with Maven3

Maven3를 이용해서 Tomcat7에 배포하는 방법 설명

설정파일 위주로 간략하게 설명을 한다. 참고: http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/ Mac의 Homebrew 로 Tomcat7 설치 % brew install homebrew/versions/tomcat7 설치된 위치는 “/usr/local/Cellar/tomcat7/7.0.69” 입니다. CATALINA_BASE=/usr/local/Cellar/tomcat7/7.0.69/libexec CATALINA_HOME=/usr/local/Cellar/tomcat7/7.0.69 $CATALINA_HOME/conf/tomcat-users.xml ...

Read More
웹과 브라우져

기억하고 싶은 웹 브라우져 메모

403 에러에 대하여 developer.apple.com 의 403 에러, Cookie 문제 Safari 는 정상적으로 로딩이 되었다. Firefox 를 재시작해도 변함 없이 403 에러가 났다. 해결: developer.apple.com 오류 페이지에서 Cookie를 모두 삭제했다. 해결: 잘못된 Cookie가 403 에러 문제를 일으킬 수 있다. 해결: Cookie 를 모두 지우고 403 에러가 없어졌다....

Read More
Xcode Memo

기억하고 싶은 Xcode 메모

UCP to UTF-8, Automator 를 활용 Xcode 에서 NSLog결과 한글이 UCP 로 아래와 같이 나온다. message = "\Uc874\Uc7ac\Ud558\Uc9c0 \Uc54a\Ub294 \Ud68c\Uc6d0\Uc785\Ub2c8\Ub2e4."; 이것을 UTF-8로 변환해서 보도록 Automator 를 사용해서 팝업으로 띄우도록 만들었다. 아래쪽의 Automator 를 ~/Library/Services 쪽에 설치를 한다. % cd ~/Library/Services;ls ucp2utf8.workflow/ Xcode 에서 UCP 문자를 선택하고 오른쪽 버튼으로 메뉴에서 Service 의 ucp2utf8 을 선택한다. 팝업에 UTF-8 한글로 변환되서 보여진다. MacOS 메뉴에서 Services 설정을 연다. MacOsMenu001_png Read More


zsh tips

zsh 에서 기억하고 싶은 것들…

expr % expr 10 \* 3 30 % expr length 1234567 7 # expr substr [string] [pos] [length] % expr substr 1234567 3 2 34 # expr index [string] [chars] % expr index 1234567 34 3 noglob 파일 이름 치환 기능을 비활성화한다. % echo * file1 file2 file3 file4 % ls * file1 file2 file3 file4 % * zsh:...

Read More
  • 1
  • 2