Wednesday, July 24, 2019

VIM Setting Example

setup vundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim


edit .vimrc

set nocompatible
syntax on
"enable syntax

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
colorscheme monokai
set visualbell

" enable line Number
set number

"show hiden charactor
set list

" turn relative line numbers on
set rnu
set paste
set cursorline

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-airline/vim-airline'
Plugin 'tpope/vim-surround'
Plugin 'scrooloose/nerdtree'
Plugin 'sickill/vim-monokai'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'Yggdroot/indentLine'

call vundle#end()

set autoindent
set smartindent

filetype plugin indent on


"disable arrows keys

nnoremap <up> <nop>
nnoremap <down> <nop>
nnoremap <left> <nop>
nnoremap <right> <nop>

inoremap <up> <nop>
inoremap <down> <nop>
inoremap <left> <nop>
inoremap <right> <nop>

" enable AirlineColorscheme bubblegum 
let g:airline_theme='bubblegum'

" Windows move shortcut
map <C-h> :call WinMove('h')<cr>
map <C-j> :call WinMove('j')<cr>
map <C-k> :call WinMove('k')<cr>
map <C-l> :call WinMove('l')<cr>

" Window movement shortcuts
" move to the window in the direction shown, or create a new window
function! WinMove(key)
    let t:curwin = winnr()
    exec "wincmd ".a:key
    if (t:curwin == winnr())
        if (match(a:key,'[jk]'))
            wincmd v
        else
            wincmd s
        endif
        exec "wincmd ".a:key
    endif

endfunction


Install ColorScheme Monokai
mkdir ~/.vim/colors
cd ~/.vim/colors
ln -s ./../bundle/vim-monokai/colors/monokai.vim monokai.vim

:PluginInstall

How to use vim in sqlplus

edit file $ORACLE_HOME/sqlplus/admin/glogin.sql

define_editor=vim

Wednesday, July 3, 2019

SSH Config file

vi ~/.ssh/config

Host *
        HostKeyAlgorithms +ssh-dss
        MACs hmac-sha1
        Ciphers aes256-ctr,aes128-cbc
        # KexAlgorithms diffie-hellman-group-exchange-sha256

        KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1


ssh option name check 

ssh -Q cipher       # List supported ciphers
ssh -Q mac          # List supported MACs
ssh -Q key          # List supported public key types
ssh -Q kex          # List supported key exchange algorithms

Monday, July 1, 2019

Install Python3.7 on Windows Subsystem for Linux (WSL)

​1. Install the python3.7 package using apt-get
sudo apt-get install python3.7

2. Add python3.6 & python3.7 to update-alternatives

​sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2

3. Update python3 to point to python3.7
sudo update-alternatives --config python3

4. Test the version of python
python3 -v

5. Solve Error
sudo apt-get remove python3-apt -y

Error Permission Pipenv on /home/$USER/.cache in WLS

add $USER to root group

change Permission /home/$USER/.cache to 775

How to change default WSL mount Point

​create /etc/wsl.conf file

[automount]
root = /
options = "metadata"

reboot WSL Services

How to restart Windows Subsystem for Linux (WSL)

​open services.msc

LxssManager -> restart

Setup Docker in Windows Subsystem for Linux (WSL)

​Docker Setup:

Download Docker for Windows​

​docker -> settings -> general -> "expose deamon on tcp://localhost:2375 without TLS"

On WSL:

$sudo apt update -y
$sudo apt upgrade -y

$sudo apt install docker.io
$sudo usermod -aG docker $USER

Add PATH:

check:
echo $PATH | grep /home/$USER

if not exist
add path:

vi  ~/.profile

export PATH="$PATH:$HOME/.local/bin"

​Setup Docker in WSL

$echo "export DOCKER_HOST=tcp://localhost:2375" >> ~/.bashrc && source ~/.bashrc

Docker 101

Build images:
​docker built -t tag/name .

List Images:
docker images

Check Process RUN:
docker ps

Check Process ALL:
docker ps -a

Docker run Daemon Mode :
docker run -d -p 80:5000 images/name

Docker run and delete when Stop Container:
docker run --rm -d -p 80:5000 images/name (daemon mode)
docker run --rm -it -p 80:5000 images/name (run and show terminal)

Connect to Container
docker exec -it docker_instance_id shell_in_container

Docker Save Images:
​docker save images_name > images_name.tar
docker save -o images_name.tar images_name


Docker Load Images:
docker load < test_save.tar
docker load -i test_save.tar

Docker Copy :
docker cp filename container_id:/path_to_file/file
docker cp container_id:/path_to_file/file src_file/file
​​On Python FLASK

Dockerfile Example:
​from python
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
ENV FLASK_APP=app.py
ENV FLASK_DEBUG=1
CMD flask run --host=0.0.0.0

ALCATEL 6900

write memory copy running certified reload from working no rollback-timeout