NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
공식 Vultr Go 라이브러리 를 사용하여 Vultr API 와 상호 작용할 수 있습니다 . Vultr API를 사용하면 서버, DNS, 방화벽, 스냅 샷, 네트워크 등을 포함하여 계정과 관련된 리소스를 제어 할 수 있습니다. 이 자습서에서는 서버에 대한 정보를 얻을 수있는 간단한 응용 프로그램을 만들어 공식 Go API 클라이언트 사용에 대해 소개합니다.
먼저, 새로운 모듈 (프로젝트)을 만드는 것으로 시작하겠습니다. 일반적으로 코드의 저장소에 대한 URL을 모듈 이름으로 사용하지만이 자습서에서는 다루지 않습니다. 지금은 serverinfo 를 모듈 이름으로 사용합니다.
프로젝트를 작성하려면 다음 명령을 실행하십시오.
# Create the folder in the current directory.
mkdir serverinfo
# Enter the new folder.
cd serverinfo
# Initialize the module.
go mod init serverinfo
다음으로 GitHub (코드 호스팅 사이트)에서 API 라이브러리를 다운로드합니다. 라이브러리를 다운로드하려면 go get명령 을 사용해야합니다 . 라이브러리와 그 종속물을 go.mod 파일에 추가하면서 자동으로 다운로드 합니다. 앞에서 연 동일한 터미널에서 다음 명령을 입력하십시오.
go get github.com/vultr/govultr
API 클라이언트를 사용하려면 API 키가 필요합니다. 대시 보드 계정 섹션의 API 탭 에서 API 키를 검색 할 수 있습니다 . API 키를 사용하려면 IP 주소를 인증해야합니다. ifconfig.me 로 이동하여 IP 주소를 찾을 수 있습니다 . 비공개 IP가 아닌 공개 IP를 찾고 있습니다 . 개인 IP는 컴퓨터의 네트워크 설정에서 찾을 수 있으며 10.0.0.0/8 , 172.16.0.0/12 또는 192.168.0.0/16 CIDR 범위 중 하나입니다 .
IP 주소가 있으면 액세스 제어 섹션 아래에 추가 하십시오. / 뒤에있는 상자에을 입력 32합니다. /32넷 마스크 의미 255.255.255.255입니다. 즉, IP 범위 만 해당 범위에 포함됩니다.
경고 : 비밀번호를 보호하는 것처럼 API 키를 보호하십시오. API 키는 결제, 서버 및 스토리지를 포함한 전체 계정에 액세스 할 수 있습니다.
이제 프로그램 작업을 시작하겠습니다. 선택한 편집기에서 만든 폴더를 열고이라는 파일을 만듭니다 main.go.
파일 안에 다음 코드를 입력하거나 복사하여 붙여 넣습니다.
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
}
은 package main우리가 명령이 아닌 라이브러리를 작성하는 것을 이동을 말한다. import 문은 우리가 사용할 의존성을 선언합니다. func main()프로그램을 실행할 때 호출되는 함수입니다.
다음 단계는 API 클라이언트를 초기화하는 것입니다. 이를 위해서는 govultr.NewClient (http.Client, string) 함수 를 사용해야합니다 . main () 함수 안에 다음 코드를 추가하십시오 .
client := govultr.NewClient(nil, "YOURAPIKEY")
YOURAPIKEY이전에 검색 한 API 키로 교체하십시오 .
이 코드를 조금 더 자세히 살펴 보겠습니다. 의 왼쪽에 :=있습니다 client. 그것은 변수 의 이름입니다 . 변수는 값을 저장합니다. 오른쪽에는 govultr.NewClient에 대한 함수 호출이 있습니다 . 첫 번째 매개 변수는 nil입니다. 기본 HTTP 클라이언트를 변경할 필요가 없기 때문입니다. 두 번째 매개 변수는 인증에 사용하는 API 키입니다. :=작업자는이 경우에 대한 함수 호출의 결과를 좌측으로 우측 할당 client.
우리 프로그램은 아직 아무것도하지 않습니다. 유용하게 만들기 위해 Vultr에서 서버에 대한 정보를 검색합니다. 우리는 govultr.Client.Server.List (context.Context) ([] govultr.Server, error) 함수를 사용할 것입니다. main () 함수 끝에 다음 코드를 추가하십시오 .
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
이 코드에서는 서버 정보를 검색하기 위해 API 함수를 호출합니다. 문맥 의 의미에 대해 걱정하지 마십시오 . 더 고급 주제입니다. 현재 우리가 알아야 할 것은 컨텍스트 가 API 클라이언트의 실행 방식을 제어 한다는 것 입니다. context.Background () 는 빈 컨텍스트를 반환합니다 . 서버 정보를 두 개의 변수 server 및 err 로 검색 한 후 오류 가 있는지 확인합니다. 그렇다면 오류를 사용자에게 알리고 코드 1 (오류)로 종료합니다.
서버 변수 ( [] govultr.Server ) 에 서버 배열이 있으므로 실제로 표시 할 수 있습니다. main () 함수 끝에 다음 코드를 추가하십시오 .
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
먼저 헤더를 인쇄 (표시)합니다 Servers:. 그런 다음 서버 배열을 반복 하여 인덱스를에 할당하여 무시 _하고 현재 서버를 서버 변수에 할당합니다 . 루프 내부에는 서버의 레이블, IP 주소, 위치, 보류중인 요금, 현재 대역폭 및 허용 된 대역폭이 표시됩니다. 이를 효율적으로 수행하기 위해 다음과 같은 형식의 문자열 을 사용 합니다" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n" . %s 수단은 동안, 다음 문자열을 대체하는 %.2f수단이 다음 플로트 (진수)를 인쇄하는 2 소수점 반올림. 나머지 형식 문자열은 그대로 (있는 그대로) 인쇄됩니다.
이 시점에서 코드는 다음과 같아야합니다.
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
client := govultr.NewClient(nil, "YOURAPIKEY")
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
}
이제 코드를 실행할 수 있습니다. 앞에서 연 터미널로 돌아가서 명령을 입력하십시오 go run. 출력은 다음과 유사합니다.
Servers:
server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth
server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth
오류가 발생하면 API 키와 IP 주소가 올바른지 확인하십시오.
이제 공식 API 클라이언트를 사용하는 방법에 대한 기본 사항을 익히고 계정의 서버에 대한 정보를 표시하는 프로그램을 작성했습니다.
여기에서 훨씬 더 많은 것을 할 수 있습니다. 예를 들어, 메모리가 부족할 때 새 서버를 프로비저닝하는 프로그램을 작성할 수 있습니다. 대역폭이나 저장 공간이 부족한 경우 서버를 자동으로 업그레이드하는 앱을 작성할 수 있습니다. 현재 IP를 기반으로 DNS 레코드를 자동으로 업데이트하는 도구를 작성할 수도 있습니다.
govultr 라이브러리에 대한 자세한 내용은, 당신의 govultr 라이브러리 문서를 찾을 수 있습니다 godoc을 .
govultr은 오픈 소스 프로젝트 입니다. govultr에서 버그를 발견하면 GitHub 에서 버그를보고 할 수 있습니다 . 풀 요청 을 제출하여 코드에 직접 기여할 수도 있습니다 .
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.
Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구