타오나스 구매해서 minidlna 구성을 하려고 합니다. 공유기에서 자체 설치가 가능하기 때문에 설치할 수 있습니다.

jailfreebsd 11.3 버전을 생성하고, minidlna 을 설정 한다.

기본 포트는 8200 입니다.

$ pkg update -y && pkg upgrade -y
$ pkg install minidlna

minidlna가 설치가 완래 되면 아래의 conf 파일을 설정하자.

/usr/local/etc/minidlna.conf

# /usr/local/etc/minidlna.conf
#media_dir=/opt 
media_dir=/media 월하는 마운트 한 폴더로 설정
db_dir=/var/db/minidlna
log_dir=/var/log

/etc/rc.conf

# /etc/rc.conf
minidlna_enable="YES"

명령어

파일 재스캔

$ minidlna -R

서비스 시작

$ service minidlna start
반응형

와일드카드 *.도메인 SSL 설정
단점은 3개월마다 갱신을 수동으로 진행해야 한다

PACKAGE 설치

  • RHEL/CentOS 7:
   $ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • RHEL/CentOS 8:
   $ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

certbot 설치

$ sudo yum instal certbot 

인증서만 설치하기

Certbot 은 인증서까지 자동으로 등록해 주는 기능을 가지고 있다. 하지만, 한 서버에 다양한 도메인 주소를 통해서 접속해 들어온다면 자동 설치를 피하고 인증서 파일만 생성해서 직접 등록하는 방식을 사용해야 할 경우도 있다.

certonly 옵션을 사용하면, 인증서 파일만 생성 된다.

모든 서브도메인 등록(wildcard SSL)

*.도메인.com 을 모두 SSL 인증파일로 등록을 하기 위해서는 아래와 같이 수동으로 등록을 해야 하며, 도메인의 TXT 항목에 추가 정보를 입력해야 한다.
이를 통해서 간단한 인증서 파일을 생성할 수 있다.

$ certbot certonly --manual --preferred-challenges=dns --email email@domain.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.domain.com -d domain.com
[root@cobuy-1086 /home/apache-tomcat-8.0.53]# certbot certonly --manual --preferred-challenges=dns --email email@example.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.domain.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.domain.com with the following value:

vw_KsZ02nFdfisajYxxRK_aIjiags20Gz3R9QpeJH0c

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

여기서 STOP !!!!!!!!!!!!!!!!! 하고
여기서 자신의 도메인의 _acme-challenge.[도메인]에 TXT의 값을 추가한다.

시간이 조금 많이 걸릴 수 있다.

그리고 설치를 계속 한다.

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domain.com-0001/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domain.com-0001/privkey.pem
   Your cert will expire on 2020-12-17. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

리뉴얼

다음 면령어로 자동갱신을 실행 할 수 있다. crontab에 설정을 통해서 2개월마다 설정하는 것을 추천한다.

$ certbot renew
반응형

RUST_소개

1. RUST란

  • https://www.rust-lang.org
  • 모질라 재단에서 2010년 7월 7일 처음 발표
  • 현재는 러스트 재단으로 독립해서 개발되고 있음

RUST 언어의 특징

  • 안전한 메모리 관리
  • 철저한 예외나 에러 관리
  • 특이한 enum 시스템
  • 트레이트
  • 하이지닉 매크로
  • 비동기 프로그래밍
  • 제네릭

Rust Playground

설치방법

  • Window
  • Linux subsystem for linux
  • Linux and MacOS

Rust 디스어셈블리

반응형

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

RUST 학습 2주차  (0) 2022.10.24
RUST 학습 1주차  (0) 2022.10.17
rust 유용한 명령어  (0) 2022.10.07

rust 유용한 명령어

업데이트와 제거

업데이트

$ rustup update

제거

$ rustup self uninstall

Cargo

프로그램 체크

빌드 보다 적은 시간을 사용하면서, 문법이나 실행이 되는지 확인할 수 있다.

$ cargo check

빌드

$ cargo build

rustfmt

  • Rust 팀에서 개발, 관ㄹㅣ하고 있는 공식 포맷터(Formatter)
  • 공식 스타일 가이드라인을 참고해서 자동으로 코드 스타일을 수정
cargo fmt

clippy

  • Rust 팀에서 개발, 간리하고 있는 코드 린터 (Linter)
  • 현재 코드의 문제점을 파악하고, 자동으로 수정할 수 있다.
cargo clippy

변수

패키지 문서 만들기

현재 의존 패키지들이 참조하는 문서들을 빌드해서 브라우저 문서로 만들어 줍니다.

$ cargo doc --open
        Finished dev [unoptimized + debuginfo] target(s) in 0.02s
        Opening /Users/forteleaf/works/rust/hello_cargo/target/doc/hello_cargo/index.html
반응형

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

RUST 학습 2주차  (0) 2022.10.24
RUST 학습 1주차  (0) 2022.10.17
RUST 소개  (0) 2022.10.09

리눅스 서버를 다루다보니, 터미널을 매일사용하고 있습니다. 저는 기본으로 fish, tmux. alacritty 을 이용해서 작업을 하고 있습니다. 제가 사용하는 것들의 주요 특징들은 가볍고 빠릅니다.
iterm2는 전혀 성에 차지 않습니다. wasp와 같은 터미널 프로그램은 쓸만합니다. 하지만, 기본기로 돌아가면 alacritty 사용을 권하고 싶습니다. (rust 로 작성되어 있다는 점도 무시할 수 없습니다.)

현재 사용중인 stack

오늘부터 도전!

자주가는 reddit.comr/unixpron에는 커스텀화 된 화면들을 공유하고 자신들의 설정을 공유하는 곳입니다. 리눅스 사용자들을 위한 곳입니다. 리눅스도 같이 사용하고 있는 저에게는 지루한 랩탑을 좋은 놀이깜으로 만들어주는 곳입니다. (리눅스에 대해서도 학습하면서...)
아래 적용하려고 하는 도구들도 이 곳에서는 많이 사용하는 것들입니다.

여기서 최신 도구들을 몇개 사용해 보려고 합니다. 선정이유는 다들 rust로 작성되어 있는 점입니다. rust를 사랑하는 개발자로서 이 세팅은 반드시(!) 좋을 것 같습니다.

아래 TOOLS 를 사용하려고 하고, 장점에 대해서 설명하려고 합니다.

  • nushell
  • startship
  • zellij

nushell

rust로 작성된 최신 데이터 지향 쉘입니다. 기본적인 구성만으로 자동완성 및 기타 유용한 기능을 사용하기 위해 여러 설정을 할 필요가 없습니다.

아직 사용하기에는 여러문제들이 보임.

설치

$ brew install nushell
.......
$ nu
✘  ~  nu
No environment config file found at /Users/forteleaf/Library/Application Support/nushell/env.nu
Would you like to create one with defaults (Y/n):

Config file created at: /Users/forteleaf/Library/Application Support/nushell/env.nu
No config file found at /Users/forteleaf/Library/Application Support/nushell/config.nu
Would you like to create one with defaults (Y/n):

Config file created at: /Users/forteleaf/Library/Application Support/nushell/config.nu
     __  ,
 .--()°'.' Welcome to Nushell,
'|, . ,'   based on the nu language,
 !_-(_\    where all data is structured!

Please join our Discord community at https://discord.gg/NtAbbGn
Our GitHub repository is at https://github.com/nushell/nushell
Our Documentation is located at http://nushell.sh
Tweet us at @nu_shell

Nushell has been around for:
3yr 4month 3wk 1day 23hr 37min 48sec 769ms 498µs

You can disable this banner using the config nu command
to modify the config.nu file and setting show_banner to false.

let-env config {
    show_banner: false
    ...
}

장점

  1. Linux, macOS, Window 에서 작동
  2. nu pipeline은 구조화 된 데이터를 사용.
    안전하게 선택, 필터링, 정렬을 사용
  3. 강력한 플러그인

단점

  1. command 학습이 필요함.
    shell이름을 확인하려고 했는데....

    `echo $SHELL`
    Error: nu::parser::variable_not_found (link)
    
    × Variable not found.
    ╭─[entry #12:1:1]
    1 │ echo $SHELL
    ·      ───┬──
    ·         ╰── variable not found
    ╰────

nushell는 데이터 표현을 테이블 저장합니다. 마치 DB의 쿼리를 이용해서 물러오는 것 같습니다. 기본 zsh, fish, bash 등에 익숙해 있다면 생소한`cui
화면 처럼 보이기도 합니다.

/Users/forteleaf/vagrant〉ls                                                                                                                             09/28/2022 11:43:33 PM
╭───┬──────────┬──────┬───────┬──────────────╮
│ # │   name   │ type │ size  │   modified   │
├───┼──────────┼──────┼───────┼──────────────┤
│ 0 │ kubeset  │ dir  │ 320 B │ 2 months ago │
│ 1 │ window10 │ dir  │ 128 B │ 2 months ago │
╰───┴──────────┴──────┴───────┴──────────────╯
  1. 미완성적인 부분
    기존에 것들과 차이가 나고 PATH등 설정을 새로 해야함

starship

  • 호환성 우선
  • RUST 를 이용한 최고의 퍼포먼스와 안정성
  • 세심한 CUSTOM

Starship은 간단한 yaml 파일에 매우 다양한 구성 옵션을 제공 합니다. 그러나 nushell과 마찬가지로 처음에는 구성이 필요하지 않습니다. 모든 기본값이 이미 설정되어 있습니다! 바로 사용할 수 있는 멋진 구성 사전 설정을 제공합니다.

Starship은 다른 여러 도구 및 기술과 자동으로 통합됩니다. 패키지 버전을 표시하고(예: Poetry 프로젝트에 있을 때) AWS 리전, kubernetes 컨텍스트 및 네임스페이스를 표시할 수 있습니다. 간단히 말해서 모든 것과 작동합니다. 여기에서 전체 통합 목록을 살펴보십시오.


현재는 pastel Powerline으로 설정해서 사용하고 있습니다.

rust 로 작성되어 있어서 빠르다고 생각했지만, 별 차이를 느낄 수 없었습니다.

zellij

tmux와 매우 유사한 기능을 가지고 있습니다. 이쁜 라인이 생겨서 화면을 구분할 수 있는 큰 장점이 있습니다. 그런데 이로 인해서 볼 수 있는 text가 조금은 줄어듭니다. 한줄 정도 차이지만, 신경이 쓰입니다.

설치

$ brew install # Zellij
or
# zsh
bash <(curl -L zellij.dev/launch)

# fish
bash (curl -L zellij.dev/launch | psub)

장점

  • 기존에 사용하던 tmux의 단축키가 호환
  • 이쁨
  • layout 저장 (tmuxinator를 사용하고 있어서 ....)
  • pane 이동 기능이 직관적이고 편리

단점

  • tmuxinator 를 사용하고 있는데 이와 같은게 안 보임
  • ctrl+p 로 과거 실행했던 메뉴를 찾는데, 단축키가 설정되어 있음(pane 설정용)
    별도의 세팅을 해야되는 아쉬움
  • synchronize-pane 기능이 없다. 2021년에 기능이 추가 됨

기존에 사용하던 tmux의 단축키의 익숙함 때문에 zellij 에 적응이 안됩니다. 그리고, 기본 repository 에서 tmux 를 실행할 수 있는데, 굳이 zellij 를 설치해서 사용할 필요가 있을까 싶습니다.

반응형

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

arch ctrl <-> caps lock swap  (0) 2023.01.02
freebsd | minidlna 구축  (0) 2022.10.13
ansible - 자동화의 시작  (0) 2022.07.14
Gitlab-CE 업그레이드  (0) 2022.07.05
LINUX | Linus Torvalds 가 우분투, 데비안을 싫어하는 이유  (0) 2020.07.13

+ Recent posts