현재 mac과 linux 를 사용하고 있습니다. 최근에서 linux 운영체계를 더 자주사용하고 있습니다. 사용하면서 blog 글을 linux 에서 작성해서 mac과 공유하는 문제가 발생했습니다.
저는 Mac에서 ㅣObsidian 을 사용해서 google drive 와 파일싱크를 통해서 저장하고 있었습니다. 그런데, linux에서는 공식적으로 지원하는 google drive앱이 없기 때문에, 3rd party앱으로 이를 해결해야 합니다.

여러가지 앱을 사용해 봤지만, 현재는 rclone 을 사용해서 해결하고 있습니다.
우선 rclone config 명령어를 통해서 웹하드를 연결해야 합니다. (구글드라이브 연결도 간단함)

rclone 을 통해서 드라이버 연결

현재는 GOOGLE DRIVE 와 DROPBOX가 연결 해놓은 상태입니다. NEW를 통해서 새로운 웹하드에 연결을 할 수 있습니다.
rclone v1.61.1 에서 지원하는 목록입니다.

$ rclone config
Current remotes:

Name                 Type
====                 ====
dropbox              dropbox
gDrive               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n

Enter name for new remote.
name> d

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 1 / 1Fichier
   \ (fichier)
 2 / Akamai NetStorage
   \ (netstorage)
 3 / Alias for an existing remote
   \ (alias)
 4 / Amazon Drive
   \ (amazon cloud drive)
 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and Wasabi
   \ (s3)
 6 / Backblaze B2
   \ (b2)
 7 / Better checksums for other remotes
   \ (hasher)
 8 / Box
   \ (box)
 9 / Cache a remote
   \ (cache)
10 / Citrix Sharefile
   \ (sharefile)
11 / Combine several remotes into one
   \ (combine)
12 / Compress a remote
   \ (compress)
13 / Dropbox
   \ (dropbox)
14 / Encrypt/Decrypt a remote
   \ (crypt)
15 / Enterprise File Fabric
   \ (filefabric)
16 / FTP
   \ (ftp)
17 / Google Cloud Storage (this is not Google Drive)
   \ (google cloud storage)
18 / Google Drive
   \ (drive)
19 / Google Photos
   \ (google photos)
20 / HTTP
   \ (http)
21 / Hadoop distributed file system
   \ (hdfs)
22 / HiDrive
   \ (hidrive)
23 / In memory object storage system.
   \ (memory)
24 / Internet Archive
   \ (internetarchive)
25 / Jottacloud
   \ (jottacloud)
26 / Koofr, Digi Storage and other Koofr-compatible storage providers
   \ (koofr)
27 / Local Disk
   \ (local)
28 / Mail.ru Cloud
   \ (mailru)
29 / Mega
   \ (mega)
30 / Microsoft Azure Blob Storage
   \ (azureblob)
31 / Microsoft OneDrive
   \ (onedrive)
32 / OpenDrive
   \ (opendrive)
33 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ (swift)
34 / Oracle Cloud Infrastructure Object Storage
   \ (oracleobjectstorage)
35 / Pcloud
   \ (pcloud)
36 / Put.io
   \ (putio)
37 / QingCloud Object Storage
   \ (qingstor)
38 / SMB / CIFS
   \ (smb)
39 / SSH/SFTP
   \ (sftp)
40 / Sia Decentralized Cloud
   \ (sia)
41 / Storj Decentralized Cloud Storage
   \ (storj)
42 / Sugarsync
   \ (sugarsync)
43 / Transparently chunk/split large files
   \ (chunker)
44 / Union merges the contents of several upstream fs
   \ (union)
45 / Uptobox
   \ (uptobox)
46 / WebDAV
   \ (webdav)
47 / Yandex Disk
   \ (yandex)
48 / Zoho
   \ (zoho)
49 / premiumize.me
   \ (premiumizeme)
50 / seafile
   \ (seafile)
Storage> ^C⏎             

웹하드를 등록하는 부분은 간단한 부분이어서 따로 설명은 안 하려고합니다.

sync 하기

웹드라이브에서 파일과 LOCAL의 폴더를 동기화하고 싶을 때 사용합니다. 필요한 경우 파일 삭제를 포함하여 소스와 일치하도록 대상을 업데이트 합니다.

동기화시 삭제가 포함되므로 데이터 손실을 방지하기 위해 항상 --dry-run 또는 --interactive/-i 프랠그를 사용하여 동기하 작업을 먼저 테스트 하는 것이 좋습니다.

`-i`: interactive 모드를 사용하면 파일이 강제적으로 수정되는 것을 막고, 확인하면서 동기화할 수 있습니다.

파일을 원본에서 복사할 곳을 잘 설정하는 것이 중요합니다
$ rclone sync -i [원본 폴더] [목적지]

# google drive -----> local
$ mkdir -p ~/gdrive/[폴더명]
$ rclone sync -i mygdrive:/[폴더명] ~/gdrive/[폴더명]

# local ------> google drive
$ rclone sync -i ~/gdrive/[폴더명] mygdrive:/[폴더명]
  • --bwlimit=8.5M: 대역폭 속도를 8.5M으로 제한하여 Google에 부과하는 일일 최대업로드 한도에 도달하지 못하도록 합니다.
  • --progress: 복제/동기화 중인 파일이 완료될 때까지 남은 시간, 복제/동기화가 전송되는 속도를 보여주는 출력 합니다.

파일 조회하기

동기화 하기 전에 해당 웹하드에 어떤파일이 들어있는지 명령어를 통해서 조회 할수 있습니다. 굳이 웹을 통해서 조회하지 않아도 바로 조회할 수 있어 편합니다.

$ rclone ls mygdrive:
$ rclone lsd mygdrive:

mount 하기

저는 실시간으로 파일을 동기화해서 사용하고 싶기 때문에 위와 같이 파일을 sync 하는 것과는 다릅니다.

$ rclone mount gDrive:source_folder target_folder --allow-other --cache-db-purge --fast-list --poll-interval 10m

systemd 구성으로 자동 mount 하기

매번 명령어를 실행해서 동작하는 것을 systemd에 등록해서 자동 mount 하려고 합니다.

/etc/systemd/system/gdrive.service 파일을 생성합니다.

[Unit]
Description=rclone for gdrive_mount
AssertPathIsDirectory=/home/leaf/target_folder
After=networking.service

[Service]
Type=simple
ExecStart=rclone mount --config=/home/leaf/.config/rclone/rclone.conf gdrive_source_folder: /home/leaf/target_folder --allow-other --cache-db-purge --fast-list --poll-interval 10m
ExecStop=/bin/fusermount -u /home/leaf/target_folder
Restart=always
RestartSec=10

[Install]
WantedBy=default.target
$ systemctl enable gdrive.service
$ systemctl start gdrive.service
반응형

Imgur

Ansible

Ansible은 오픈 소스 소프트웨어 프로비저닝, 구성 관리, 애플리케이션 전개 도구이다. 수많은 유닉스 계열 시스템에서 실행되며 유닉스 계열 운영 체제 및 마이크로소프트 윈도우의 구성이 가능하다.
시스템 구성을 기술하기 위해 자체 선언형 언어를 포함하고 있다. 위키백과

  • 테스트 환경을 구축(다양한 OS)

  • python으로 개발 되었고 YAML 언어를 통해 정의할 수 있고, JSON 방식으로 통신

  • OPEN Source

기본개념

환경설정, 배포를 가능케 하는 언어. 리모트 서버에 접속해서 무언가를 실행시키는 정책을 기술한다. YAML 문법으로 정책이 기술되어 고급 단계에서 로드밸런서를 모니터링하는 복잡한 환경에서도 사용할 수 있도록 한다.

playbook은 하나 또는 하나 이상의 play를 두게 되고, play의 목적은 여러 호스트들을 잘 정의 된 ROLETASK를 매핑하는 역할을 합니다. TASKAnsible모듈의 호출을 의미한다.
ROLE을 더 편하게 관리하기 위해서 YAML파일로 정의해서 사용할 수 있다. 또한 host inventory 파일에 정의한 서버 그룹별로 각각 나누너 provision 할 수 있도록 할 수 있다.

장점

  • 빠른 SSH 통신, 빠른 Provision을 이용가능

  • agent daemon을 사용하지 않음

  • 자동 배포 환경이 구성 쉬움

  • 멱등성
    여러 번 적용해도 결과 변동 없음
    바뀌는 것이 없으면 당연히 배포되어도 변경 없음
    바뀌는 부분이 있으면 그 부분만 반영
    shell, command, file module은 보장 안됨

  • playbook

  • ad-hoc 지원

  • 병렬 Provisioning 지원

단점

  • 시스템 초기 설치 수행은 불가능

  • 시스템 모니터링은 지원 안함

  • 시스템 변경사항 초적하지 않음

할수있는 것

앤서블에는 크게 3가지 요소가 있다.
inventory, playbook, module이 그것이다.
이는 각각 (1) 어디서, (2) 무엇을, (3) 어떻게 수행할지를 정의한다. (엄밀히 말하면 모듈이 플레이북에서 사용되지만, 이해를 위해 구분해 설명한다)

inventory

remote server에 대한 meta 데이터를 기술하는 파일.
인벤터리는 앤서블에 의해 제어되어 Infrastructure as a Code의 대상이 될 서버들의 목록을 정의하는 파일 일반적으로 hosts.ini 파일에 정의해 사용하는 듯 하며, 위 예시에서 작성했던 hosts.ini 파일이 바로 그것이다.
인벤터리에는 여러 서버들의 접속 정보 (SSH 접근 IP, 포트, 리눅스 사용자) 등을 정의.
기본 파일은 /etc/ansible/hosts를 읽게 하거나, 따로 inventory파일을 만들고 옵션을 주어 동작하게 할 수 있다. 만약 고정 ip를 가지고 있고, ghost 파일 안에 들어가 있지 않는 서버가 있다면 설정 파일을 만들 수 있고 테스트 환경을 만들 때 유용하다.

대충 아래와 같은 파일로 구성이 된다.

centos1 ansible_host=172.16.49.133 ansible_user=root
centos2 ansible_host=172.16.49.134 ansible_user=root
zabbix ansible_host=172.16.49.135 ansible_user=root

[server]
centos1
centos2
zabbix

PLAYBOOK

설정을 관리가호 다수의 머신에 대한 배포 시스템에 대한 기본적인 단위. 복잡한 형태의 배포에 매우 적합하다. 설정을 정의할 수 있으며 특정머신의 집합을 오가며 다른 작업을 수행하도록 수동으로 작업 순서를 설정하는 것도 가능하다. 이 때의 작업은 동기 또는 비동기로 수행할 수 이다. /usr/bin/ansible명령을 통해서 AD-HOC 테스크를 실행하는 것에 반해 PLAYBOOK은 소스 컨트롤을 통해 보관하거나 사용자의 설정을 내보내거나 원격 시스템을 구성,보장디는데 더욱 적합합니다.

Module

이미 정의해 놓은 모듈들을 통해서 다중명령어를 보내줄 수 있다. 예를 들어 yum이라는 모듈을 통해서 설치작업을 요청할 수 있으며, shell모듈을 통해서 커맨드 입력을 보낼 수 있다.

ansible -l #모든 module 목록 조회

ad-hoc

adhoc이라는 의미는 임시적 수행을 말한다.
ansible의 playbook을 작성하는 것이 아니라 임시적으로 또는 특별하게 어떤 작업을 수행하기 위해서 사용할 수 있는 실행방법이라고 할 수 있다.

Ansible 시작하기

![](/Users/forteleaf/Library/Application Support/marktext/images/2019-09-06-16-16-11-image.png)

기본옵션 (Inventory)

hosts.ini파일을 아래와 같이 설정 된다. 파일 이름은 정해진 틀이 없으므로 편한데로 맞춰서 사용합니다.

centos1 ansible_host=172.16.49.133 ansible_user=root
centos2 ansible_host=172.16.49.134 ansible_user=root
zabbix ansible_host=172.16.49.135 ansible_user=root

[server]
centos1
centos2
zabbix

ssh-copy-id로 자동로그인을 설정해 놓으면 ansible_password와 같은 옵션을 따로 설정하지 않아도 된다.

설정파일 ( ansible.cfg / .ansible.cfg )

ansible.cfg파일을 지정해 줌으로서 옵션에 넣을 변수를 줄이고 편하게 사용할 수 있다

## ansible.cfg
[defaults]
inventofy=./hosts.ini
remote_user=root
private_key_file=~/.ssh/id_rsa

host_key_checking=false옵션을 추가하면, 접속시 key 확인하는 작업을 스킵합니다. 일일히 yes칠 상황을 제거해 줍니다

service 상태 조회

ansible all -m shell -a "service status sshd"

모듈 ( MODULE )

모듈들은 정말 다양한 기능들을 제공한다. 이런 기능은 없나? 생각하면 이미 개발되어 있는 상황이고 그게 안된다면, shell또는 command명령을 통해서 작업할 수 있다

shellcommand 모듈의 차이

Module : command

원격 노드에서 명령을 실행

명령 모듈은 명령 이름 뒤에 공백으로 구분 된 인수 목록을 사용합니다. 주어진 명령은 선택된 모든 노드에서 실행됩니다.
쉘을 통해 처리되지 않으므로 $HOME과 같은 변수 및 "<", ">", "|"및 "&"와 같은 조작은 작동하지 않습니다 (이 기능이 필요한 경우 쉘 모듈을 사용하십시오).

Module : shell

노드에서 명령을 실행

쉘 모듈은 명령 이름 뒤에 공백으로 구분 된 인수 목록을 사용합니다. 명령 모듈과 거의 동일하지만 원격 노드의 쉘 (/bin/sh)을 통해 명령을 실행합니다.

Module : template

nginx.ini와 같은 설정 파일을 role을 지정해서 서버마다 다른 설정 값을 넣어서 파일을 생성할 수 있는 기능입니다. 자주 사용되는 기능

PLAYBOOK

# public key 를 server들에 등록하는 playbook
---
- hosts: all    # inventory 의 모든 대상
  tasks:        # 수행할 작업
    - name: authorized to server    # 작업 이름
      authorized_key:               # 수행할 MODULE 명
        user: root                  # MODULE에 들어갈 environment
        state: present
        key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" 

yml(야믈)의 파일 구조를 갖고 있습니다. 규칙성에서 벗어나면 제대로 동작하지 않습니다. 이를 유의해 주시면서 작업 하시면 오히려 정규화 된 표현에 코드 리딩하기 편할 것 입니다.

authorized_key를 사용하기 위해서는 암호또한 자동으로 입력 해 주는 sshpass가 필요합니다.

유용한 유틸리티

문법체크

$ ansible-playbook --syntax-check [file]

호스트 나열

$ ansible-playbook --list-hosts [file]

테스크 나열

$ ansible-playbook --list-tasks[file]

#체크모드

$ ansible-playbook --check [file]

참조


반응형

많은 인터뷰에서 Linux 제작자 Linus Torvalds는 자신의 컴퓨터에서 Fedora를 선호한다고 밝혔습니다. 그러나 왜 그는 “인기있는 리눅스 배포판 데비안을 사용하지 않습니까?”에 대한 대답은 과거 데비안 리눅스에서의 설치 경험에 있다고 말했습니다.

Linus Torvalds는 지난 25 년 동안 리눅스를보다 효율적이고 사용자 친화적인 컴퓨팅 플랫폼으로 만들기 위해 끊임없이 노력하고 있습니다. 그의 창작물은 이제 다양한 사용자에게 서비스를 제공하는 많은 Linux 배포판 형태로 오픈 소스 애호가들에게 제공되고 있습니다.

Linux 및 오픈 소스 소프트웨어는 선택의 아이디어를 지원하며 이들의 원동력이 되었습니다. 그러나 시간이 지남에 따라 인터넷에는 데비안 및 우분투와 같은 기능을 기반으로 한 수많은 Linux 배포판들로 채워지게 되었습니다.

Linux 커널은 Google의 Android를 포함한 오픈 소스 운영 체제의 핵심입니다. Linux 창시자가 사용하는 운영 체제는 무엇일까요?

Linus는 자신이 소유 한 모든 장치에서 Fedora를 사용하기를 좋아한다는 것은 알려져있는 사실입니다. 하지만, 세계에서 가장 인기있는 오픈 소스 데스크탑 운영 체제인 Ubuntu 및 다른 사용자가 선호하는 데비안에 대한 그의 생각을 모를 수도 있습니다.

Linus Torvalds에게 데비안 :

Linus가 데비안을 설치하기 어려워 했다는 것은 재미있는 사실입니다. 실제로 그 일이 있은 후, 몇 년 후 2007년 인터뷰에서 그가 말했습니다.

“미안 하지만, 귀를 닫고 싶을지도 모릅니다. 저는 배포판 설치를 쉽게 해서 커널이 대부분인 내 삶을 이어나가고 싶습니다.”

Linus는 데비안을 "무의미한 연습"이라고 부릅니다. 배포의 중요한 점은 설치가 간단하고 쉬워야 한다는 것입니다.

우분투 리눅스에서 리누스 토발즈 :

또 다른 인터뷰에서 Linus는 Ubuntu Linux에 대해 이야기했습니다. 그는 데비안을 너무 기술적이라고 말하면서도, Windows 및 OS X 백그라운드에서 온 사용자에게 Linux를 친숙하게 만들어 준 Ubuntu에 감사했습니다. 여전히 그는 우분투보다 페도라를 선호합니다.

그가 말하길:

나는 몇년동안 우분투를 몇번 시도했는데, 대부분 우분투가 데비안을 사용할 수 있게 해 줬기 때문이었습니다.

지난 몇 년 동안 데비안은 설치를 더 쉽게하기 위해 노력해 왔습니다. 오늘날 데비안 설치 프로그램은 그래픽, 텍스트 또는 음성 합성 옵션을 제공하여 작업을 단순화했습니다.

반응형

'개발 > 리눅스' 카테고리의 다른 글

ansible - 자동화의 시작  (0) 2022.07.14
Gitlab-CE 업그레이드  (0) 2022.07.05
VIM | Surround.vim 사용하기  (0) 2020.07.09
LINUX | manjaro 설치후 할일  (0) 2020.05.29
LINUX | swap 용량 늘리기  (0) 2020.04.29

만자로 설치후 할일

Manjaro 저장소 변경

패키지 미러 서버를 변경해서 빠른 소스 업데이트 적용하자. 조금 시간이 걸리지만, 빠르게 다운로드 적용할 수 있는 점이 있다.

sudo pacman-mirrors --fastrrack && sudo pacman -Syyu

한글 자판 설치

nimf를 포크해서 하모니카 리눅스에서 보완해주고 있습니다.

nimf-git 패키지를 이용해서 설치하여야 합니다.

설치

# 설치를 위한 툴 설치
sudo pacman -S base base-devel yay git
sudo pacman -Syu
yay -S nimf

im-config 세팅

$ vi ~/.xprofile

아래 내용을 추가

export GTK_IM_MODULE=nimf
export QT4_IM_MODULE="nimf"
export QT_IM_MODULE=nimf
export XMODIFIERS="@im=nimf"
nimf

시스템 Reboot

nimf 설치하신 후, nimf-settings 를 실행하셔서 환경 변수 설정 옵션을 disable로 변경 합니다.

만약 다른 입력기를 사용하시려면 환경 변수 설정 옵션을 반드시 꺼주셔야 합니다.

반응형

centos7 swap 용량 늘리기

현재 스왑용량 확인

[root@ ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/nvme0n1p1                          partition       1952764 938080  -2

현재 swap 메모리 확인

[root ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7723        4773        1407         182        1542        2466
Swap:          1906         916         990

swap 파일생성

$ sudo fallocate -l 10GB /swapfile

REDHAT 계열

일반적인 메뉴얼 상황에서는

centos, redhat계열에서는 에서는 아래와 같은 명령어로 파일을 생성하라고 한다.

$ sudo dd if=/dev/zero of=/myswap count=8192 bs=1M

fallocate의 문제점은 파일 시스템 ioctl을 사용하여 할당을 빠르고 효율적으로 만드는 것인데, 물리적으로 공간을 할당하지 않지만, swapon syscall에는 실제 공간이 필요하다는 단점이 있습니다.

참조 : https://bugzilla.redhat.com/show_bug.cgi?id=1129205

권한 설정

$ chmod 600 /swapfile
$ ls -lh /swapfile
-rw------- 1 root root 8.0G 2020-04-29 09:20 /swapfile

swap 포맷으로 변경

[root@ /]# mkswap /swapfile
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=3a511621-1647-404f-9a4a-520361cbf6ba

swap 파일 시스템 등록

[root@ /]# swapon /swapfile
[root@ /]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/nvme0n1p1                          partition       1952764 938080  -2
/swapfile                               file    8388604 0       -3
[root@ /]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.5G        4.7G        170M        182M        2.7G        2.4G
Swap:          9.9G        916M        9.0G

SWAP 용량이 늘어난 것을 확인할 수 있습니다.

부팅시 등록

$ vi /etc/fstab

아래의 내용을 추가합니다.

/swapfile    none    swap    sw    0    0

swap 삭제

swap 연결 제거

$ swapoff /swapfile

swap 파일 삭제

$ rm /swapfile
반응형

'개발 > 리눅스' 카테고리의 다른 글

VIM | Surround.vim 사용하기  (0) 2020.07.09
LINUX | manjaro 설치후 할일  (0) 2020.05.29
Reverse Proxy 와 Load Balencer  (0) 2020.04.06
nginx | site-enabled, site-available.md  (0) 2020.02.11
freenas | ssh key 로그인  (0) 2020.01.06

remove ibus

Imgur
Fedora에서 기존에 사용하던 ibus를 제거하고 uim를 사용하려고 하는데, ibus를 삭제하는데에 큰 문제가 있다. 하나는 sudo dnf remove ibus를 이용해서 삭제를 하면 의존성 때문에 gnome에 있던 기본 어플들까지도 삭제가 되어버린다. 이를 해결하기 위해서는 의존성을 헤치지 않으면서 삭제를 진행해야 한다.

하지만, 이를 정확히 해결할 수 있는 방법은 지금 존재하지 않고, 이를 해결하기 위해서는 기존에 ibus-daemon를 상주한 상태로 uim를 실행시키는 방법이 제일이상적이라고 할 수 있다.

현재 gnome 3.32.2버전을 사용하고 있고, 아래와 같이 설정을 변경해 주었다.

$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'uim'>}"

uim설치

$ sudo dnf install uim

uim-byeoru를 따로 설치를 과거에는 진행했는데 지금은 기존패키지에 자동으로 설치가 되어있어서 uim-byeoru를 입력하더라고 무방하다. 근데, dnf 항목에는 보이지 않는다.

기본 입력소스 변경


입력소스 에서 기존에 있었던 ibus 설정을 지워주고 위와 같이 영문 키보드 하나만 남겼다. 실제로 이 설정이 실사용에 사용되지는 않습니다. uim설정을 사용하기 때문에 한글 설정에서 이 부분을 수정할 필요는 없습니다.

기존 ibus 단축키 설정 제거

Imgur

Fedora 30 에서는 아래와 같은 명령어를 사용해서 기본 입력기를 변경할 수 있다.

$ im-chooser

사실 이부분을 수정하지 않다고 가능하지만, ibus라는 설정 자체를 빼기 위해서 제거했다.

이제 ibus의 단축설정들을 제거해 준다. <shift> + <space>와 같은 설정이 새로 한영전환키와 중복될 수 있는 부분이 있기 때문에 제거를 하는것이 사용성과 편의성에 이롭다.

ibus 환경설정에서 아래와 같이 설정들을 제거해 준다.

Imgur
Imgur
기본에 설정되어 있는 부분을 제거 했습니다

uim 설정하기

$ im-chooser

명령어를 통해 UIM 환경설정을 통해 진행한다.

[전체적인 설정]항목에서 디폴트 입력기 설정을 진행한다.

사용되는 입력기에 "벼루"만 남기고 제거 합니다.

Imgur
다음은 한영 전환단축키 변경을 아래와 같이 설정합니다. 이부분은 간단하므로 생략

Imgur

이제 최상단에 적혀 있는 명령어를 실행하면 ibus 가 상주해 있는 상태에서도 uim를 사용할 수 있는 상태가 되었습니다.

이 부분에서 리부팅을 진행해 주세요. 부분부분 재부팅을 통해서 진행 해 주면 설정이 자리잡는데 도움이 됩니다.

반응형

실리콘 밸리의 개발자 대부분은 Linux, Window 보다 MacOS를 선호할까?

두 가지를 모두 사용했으며, Linux가 나를위한 더 나은 선택이라고 확실하게 말할 수 있습니다. 나는 OS선택에 있어서 다른 사람들에 의해서 강요되어 지고 있다고 생각합니다. OSX는 어떤면에서는 Linux보다 좋았지만, 그 혜택은 거의 사라졌습니다.

분명히 리눅스를 주 OS로 사용하는 것이 좋은 생각이라고 생각합니다.

실리콘에서는 개발자들이 마더보드에 16GB를 판매한 2,500달러의 맥북 레티나 프로와 인텔 아이리스 프로 그래픽스 + AMD 라데온 R9 M370X의 트로피를 받을 때까지 "만들 수 없다"는 믿음이 있다.

Mac 하드웨어가 (GPU)보다 더 뒤처지고 소프트웨어의 품질이 계속 떨어짐에 따라, 나는 MBP의 트로피 상태가 떨어지면서 리눅스가 인기를 얻을 것으로 기대한다.

성공의 열쇠는 리눅스에 맞춰져 있고 제조업체가 지원하는 컴퓨터를 사는 것이다. 이는 많은 사람들이 "그냥 일부 오래된 하드웨어"에 로딩할 때 겪는 하드웨어 호환성 문제를 없애는 것입니다.

저는 system76 노트북과 데스크톱을 사용하고 있으며 그들의 컴퓨터와 서비스에 매우 만족해 왔습니다. 노트북 중 하나인 Oryx Pro는 GSync, PCIe SSD, i7, 32GB RAM과 아름다운 IPS 디스플레이를 갖춘 GTX970m GPU를 가지고 있다. 또한 Kubuntu의 선호 소프트웨어에 대한소식지 목록을 유지하는 것입니다. 이외의 건설적인 의견을 존중합니다.
Linux를 개발 및 개인 컴퓨팅 전용으로 사용하는 이유는 다음과 같습니다.

뛰어난 GPU 및 CPU

내 가정용 PC와 노트북은 최상의 디스플레이와 GPU를 갖춘 최고급 기기들입니다. 나와 아이들은 2,000개의 게임 중 많은 게임을 스팀에서 하고, 나는 CUDA와 심오한 학습에도 관심이 있습니다. Mac에서는 이 것을 잘 할 수 없습니다. 강력한 GPU는 나에게 매우 중요하기 때문에 나는 32GB System76 i7 WildDogPro에 3440x1440 커브드 모니터에 GTX980Ti를 구매 했습니다.
아이리스 그래픽으로 데크 아웃한 MBP 레티나와 거의 비슷한 가격이였습니다.

서버와의 진정한 호환성

빌드 스크립트의 절반이 Linux Bash + GNU 도구에 있고, 절반이 Bash + BSD 도구를 사용하고 있습니다.
왜냐하면 개발자들이 MBP를 보유해야 한다고 주장하면서 "거의 Linux"라고 가정했기 때문에 반은 Bash + BSD 툴을 사용하고 있었습니다. 말해두지마,ᆫ 그것은 엄청난 착각이었습니다.
컴퓨터에서 코드를 작성하는 데 수 주일의 시간을 보내는데, "OSX가 다르다해도 상관 없다"고 말하는 사람들은 종종 "... OS X는 거의 리눅스에 가깝다"라고 말하면서 종종 모순됩니다. 그러나 그것은 중요한 문제가 아닙니다.

나를 예민하게 만들어 준다

최소한의 컨텍스트 전환으로, 나는 항상 거의 실물과 같은 툴 세트를 사용하고, 본능적으로 사물을 스크랍트를 작성하고, 서버 간에 원활하게 작읍합니다. 필자는 아직 스크립팅 기술로 저에게 깊은 인상을주는 맥 사용자를 아직 찾지 못했습니다.
나는 여러 클러스터에 있는 100대 이상의 리눅스 서버의 소프트웨어를 관리하곤 했는데, 그 작업에 리눅스에서 작업 하는 것 외에는 상사도 할 수 없습니다.

모든 것을 가능하게 한다

필자는 Mac을 사용하는 동료보다 Linux에 대한 문제점이 적다고 생각합니다.
/homebrew /fink /macPorts가 필요없고 sudo apt-get update & sudo apt-get upgrade를 사용합니다.
나는 몇몇 회원들이 "트로피"맥을 고집하는 팀을 관리했었습니다. 필자는 컴퓨터를 설치하기위한 스크립트와 절차를 작성했습니다. 맥은 꼬박 2 ~ 3 일의 시간이 필요했고, 리눅스에서는 약 1 시간 정도의 시간이 걸려 거의 완전 자동화되었습니다.

리눅스는 맥에서 못하는 일을 한다

요 전날 우리는 초고속 DPI 스크린 샷이 필요했습니다. 간단하게

$ xrandr -output DP-2.8 -s 3440x2880 -panning 3440x2880

그리고 나서 나는 크롬의 스케일 크기를 두 배로 늘리고 몇 분 안에 그것들을 얻기 위해 크스냅샷을 사용했다. Mac이나 Windows 기기를 가진 사람은 아무도 이것을 어떻게 해야 하는지 몰랐습니다.

"비즈니스 소프트웨어는 Linux에서 실행되지 않는다"라는 주장

은 대부분 설득력이 없다.
특히 MS Office가 곤경에 처한 SV에서는 더욱 그러하다. 필자는 Balsamiq 3, Slack, DropBox, Chrome, Hangoutouts, GoToMeeting, WebStorm, Skype, Gimp, Insync, Inkscape 등을 운영하고 있다.
아, 그리고 쉬는 시간에 스팀. 이 모든 것들은 매우 잘 운영되며, 나는 응용 프로그램이나 시스템 충돌은 거의 보지 못했다. 웹스톰(JetBrains IDE)은 Mac보다 Linux에서 더 잘 작동합니다. NodeJS, MongoDB, MySQL, SQLite 및 수십 개의 다른 개발자 도구와 동일합니다.

7 KDE/Plasma 인터페이스가 Windows와 OSX보다 우월하다고 생각한다.

모든 것을 사용해 봤습니다.
sysadmin과 스크립팅 기술이 제한된 수많은 개발자들을 상대하는 것은 답답합니다.
어떤 이들은 명령줄이 아닌 OSX GUI에서 생각하기 때문에 해결책을 생각하지 못합니다. 만약 내가 SV에서 회사를 차린다면, 리눅스 시스템을 우선으로 제공할 것입니다.

반응형

#쓸데없는짓

CentOS7 에 VIM8 설치하기

기본적으로 vim 7 버전이 설치되어 있지만, 사람은 최신 문물을 사용하고 싶은 것이다. 그래서 찾아보다가 잘 못 된 정보도 있고 해서 글을 남긴다.
없어진 repository 를 추가하는 일이 없었으면 한다.

Repository 추가

# curl -L https://copr.fedorainfracloud.org/coprs/unixcommunity/vim/repo/epel-7/unixcommunity-vim-epel-7.repo -o /etc/yum.repos.d/unixcommunity-vim-epel-7.repo

Update

# sudo yum update vim*

이렇게 하면 알아서 설치가 된다.

반응형

install XCP-ng Tools on CentOS

이 가이드는 영문으로 잘 나와 있습니다. 본문은 여기

Xenserver 를 설치해서 사용하다 기능에 몇가지 제한이 있다는 사실을 알고 기존에 있는 Xenserver를 Fork 해서 어느정도 공개로 제공하고 있는 Xcp-ng 프로젝트를 알게되고 변경 하였습니다.

그 와중에 XCP-ng Center 에서 Guest OS 의 상황을 파악할 수 있는 XCP-ng Tools 를 설치 할 수 있는 방법에서 조금 헤매서 글을 남깁니다.

Imgur

XenServer Center의 Search 메뉴에서 위와 같이 XCP-ng Tools not installed라는 메세지를 확인 할 수 있을 겁니다. 이 버튼을 눌러주면 자동으로 guest-tools.iso 파는 파일이 DVD DriveInsert 된 상태를 확인 할 수 있습니다.

부팅을 하고 로그인을 합니다.

# mount -o ro,exec /dev/disk/by-label/XCP-ng\\x20Tools /mnt

# blkid -t LABEL="XenServer Tools"

# /mnt/Linux/install.sh

# umount /mnt

Imgur

반응형

+ Recent posts