반응형
작성일: 2024년 4월 18일

 

 

example.com에 대해서 새로 변경된 DNS Record 정보를 가져오게 하려면

기존에 내 Local Host의 DNS Cache에 저장된 DNS Record를 삭제해야 한다.

 

macOS를 사용하는 경우라면, 아래와 같이 명령을 수행하면 DNS Cache를 삭제할 수 있다. (또는 DNS 초기화, Flush, Reset)

 

$ sudo dscacheutil -flushcache

$ sudo killall -HUP mDNSResponder

 

 

## DNS Cache를 flush하기 전에는 CURL 같은 Application이 
## 예전에 조회해서 얻었던 Old IP address를 사용한다.
$ curl -v my-example.kr:8080
  Trying 12.15.20.38:8080...
  ... 중간 생략 ...


## DNS Cache를 flush
$ sudo dscacheutil -flushcache

$ sudo killall -HUP mDNSResponder

## DNS Cache를 flush한 후에는 CURL 같은 Application이
## 새 DNS Record를 조회하고, 새로 얻은 IP Address를 사용한다.
$ curl -v my-example.kr:8080
  Trying 19.12.25.113:8080...
  ... 중간 생략 ...

 

 

 

 

 

 

 


 

반응형

 


테스트 및 작성일: 2023년 11월 29일

 

Ubuntu에서 rc.local 초기화 스크립트 활성화하기

 


테스트한 날짜:  2023년 2월 20일

테스트에 사용한 OS:
  - Ubuntu 22.04 
  - CentOS7.9

 

##
##  이해를 돕기 위해 eth0 NIC 포트에 IP address를 설정하는 예시를 들었다.
##

$  sudo -s

$  cat  /etc/rc.local

#!/bin/bash

ifconfig eth0 10.10.2.5/24

route add -net 10.10.2.0/24 gw 10.10.2.1

exit 0

$  chmod +x /etc/rc.local


##
## rc-local.service 설정 파일의 마지막 줄에 [Install] 섹션을 추가한다.
##

$  cat  /lib/systemd/system/rc-local.service
... 중간 생략 ...

[Install]                      ## 이 내용을 추가
WantedBy=multi-user.target     ## 이 내용을 추가
$

##
## 위에서 변경한 내용을 반영하기 위해 데몬을 reload하고, rc-local 서비스를 기동한다.
##

$  systemctl daemon-reload

$  systemctl enable --now rc-local

$  systemctl status rc-local

##
##  잘 설정되었는지 확인하기 위해 OS를 reboot하고, eth0 포트의 IP address 값을 확인한다.
##

$  reboot

... 중간 생략 ...

$  hostname -I

10.10.2.5

$

 

 

 

 

CentOS 7.9 에서 rc.local 초기화 스크립트 활성화하기

CentOS의 rc.local  파일은 /etc/rc.d/rc.local 파일의 Symbolic Link라는 점에서 Ubuntu와 약간 차이가 있다.

이 부분만 주의해서 아래 예제를 따라하면 잘 동작한다.

 

##
##  이해를 돕기 위해 eth0 NIC 포트에 IP address를 설정하는 예시를 들었다.
##

$  sudo -s

$  cat  /etc/rc.local

#!/bin/bash

ifconfig eth0 10.10.2.5/24

route add -net 10.10.2.0/24 gw 10.10.2.1

exit 0

$  chmod 755 /etc/rc.d/rc.local


##
## rc-local.service 설정 파일의 마지막 줄에 [Install] 섹션을 추가한다.
##

$  cat  /lib/systemd/system/rc-local.service
... 중간 생략 ...

[Install]
WantedBy=multi-user.target
$

##
## 위에서 변경한 내용을 반영하기 위해 데몬을 reload하고, rc-local 서비스를 기동한다.
##

$  systemctl daemon-reload

$  systemctl enable --now rc-local

$  systemctl status rc-local

##
##  잘 설정되었는지 확인하기 위해 OS를 reboot하고, eth0 포트의 IP address 값을 확인한다.
##

$  reboot

... 중간 생략 ...

$  hostname -I

10.10.2.5

$

 

 


 

'Ubuntu' 카테고리의 다른 글

KVM의 VM에서 Hugepage 사용하기  (0) 2022.01.13
PCI passthrough on Ubuntu + KVM  (0) 2022.01.12
추가 장착한 Disk Mount  (0) 2021.12.28
Root 계정의 SSH 로그인 허용  (0) 2021.12.28
Install BIND for name server(DNS) on Ubuntu 22.04  (0) 2021.11.05
반응형

처음으로 golang builder를 설치하고, App 개발을 시작하려면 App 개발을 위한 최상위 폴더를 생성해야 한다.

그리고 그 최상위 폴더에서 아래와 같이 초기화 작업을 해야 한다.

 

$  go mod init  andrew.space/myapp

# 위 명령에 대한 에러가 없다면, 아래의 명령을 수행한다.
# .go source code를 수정했다면 아래 명령을 수행할 것을 권한다.
# 왜냐고? .go에서 사용된 pkg 파일을 자동으로 찾아서 download해주기 때문이다.
$  go mod tidy

 

Go 언어 예제를 작성한다.

 

package main

import "fmt"

func main() {

    if 7%2 == 0 {
        fmt.Println("7 is even")
    } else {
        fmt.Println("7 is odd")
    }

    if 8%4 == 0 {
        fmt.Println("8 is divisible by 4")
    }

    if num := 9; num < 0 {
        fmt.Println(num, "is negative")
    } else if num < 10 {
        fmt.Println(num, "has 1 digit")
    } else {
        fmt.Println(num, "has multiple digits")
    }
}

 

위 예제 코드를 빌드한다.

 

$  go mod tidy

$  go build

$  ls
go.mod   main.go  myapp*

$  ./myapp
7 is odd
8 is divisible by 4
9 has 1 digit

$

+ Recent posts