Microsoft Azure Linux 에이전트
다운코드 편집자는 Linux 프로비저닝 및 Azure 패브릭 컨트롤러와의 가상 머신 상호 작용을 관리하는 도구인 Microsoft Azure Linux 에이전트(waagent)를 소개합니다. Linux IaaS 배포를 위해 다음 기능을 제공합니다.
1. 이미지 프로비저닝: waagent는 네트워크 구성, 드라이버 설치, 초기 사용자 계정 설정을 포함하여 Linux 가상 머신의 초기 프로비저닝 프로세스를 관리하는 역할을 담당합니다.
2. 네트워크 관리: waagent는 Azure 패브릭 컨트롤러와 협력하여 IP 주소, 서브넷 마스크, 게이트웨이와 같은 가상 머신의 네트워크 설정을 구성합니다.
3. 커널 관리: waagent는 가상 머신의 커널 업데이트를 관리하여 항상 최신의 안전한 커널 버전이 실행되도록 할 수 있습니다.
4. 진단: waagent는 문제를 진단하고 결함을 해결하는 데 도움이 되는 가상 머신 상태 정보를 수집하고 보고할 수 있습니다.
5. SCVMM 배포: waagent는 SCVMM(System Center Virtual Machine Manager)과의 통합을 지원하여 가상 머신을 관리하고 프로비저닝합니다.
6. 가상 머신 확장: waagent는 소프트웨어 설치 또는 메트릭 모니터링과 같은 추가 기능 및 사용자 정의를 제공하는 가상 머신 확장 실행을 지원합니다.
7. 통신: waagent는 두 가지 채널을 통해 Azure Fabric Controller와 통신합니다.
* 부팅 시 추가 DVD: IaaS 배포의 경우 OVF 호환 구성 파일이 포함된 부팅 시 추가 DVD는 SSH 키 쌍 외에도 프로비저닝 정보를 제공합니다.
* REST API: 배포 및 토폴로지 구성을 얻기 위해 REST API를 노출하는 TCP 엔드포인트입니다.
waagent는 httpproxy(HTTP 요청의 경우) 또는 httpsproxy(HTTPS 요청의 경우) 환경 변수를 통해 HTTP 프록시를 사용할 수 있습니다. Python 제한으로 인해 waagent는 인증이 필요한 HTTP 프록시를 지원하지 않습니다.
마찬가지로 no_proxy 환경 변수가 설정된 경우 waagent는 프록시를 우회합니다.
waagent 서비스에 대해 이러한 환경 변수가 정의되는 방식은 배포판마다 다릅니다. systemd를 사용하는 배포의 경우 일반적인 접근 방식은 서비스 정의의 [Service] 섹션에서 Environment 또는 EnvironmentFile을 사용하는 것입니다(예: 재정의 사용 또는 파일 삽입)(재정의는 systemctl edit 참조).
예
`
고양이 /etc/systemd/system/walinuxagent.service.d/http-proxy.conf
[서비스]
환경="http_proxy=http://proxy.example.com:80/"
환경="https_proxy=http://proxy.example.com:80/"
#
`
waagent는 httpproxy 및 httpsproxy를 포함하여 실행하는 가상 머신 확장에 환경을 전달하므로 waagent에 대한 프록시를 정의하면 가상 머신 확장에 대한 프록시도 정의됩니다.
HttpProxy.Host 및 HttpProxy.Port 구성 변수를 사용하는 경우 환경 설정이 재정의됩니다. 이러한 구성 변수는 waagent 프로세스에 대해 로컬이며 가상 머신 확장에 전달되지 않습니다.
waagent가 제대로 작동하려면 일부 시스템 패키지가 필요합니다. 이러한 패키지는 배포판에 따라 다릅니다.
배포 패키지 저장소를 통한 설치는 지원되는 유일한 설치 방법입니다.
사용자 정의 위치에 설치하거나 사용자 정의 이미지 생성과 같은 고급 옵션을 위해 소스에서 설치할 수 있습니다. 그러나 소스에서 설치하면 배포판에서 waagent에 대해 수행한 사용자 정의가 무시될 수 있으며 이는 고급 사용자만을 위한 것입니다. 이 방법에 대한 지원은 매우 제한적입니다.
소스에서 설치하려면 setuptools를 사용할 수 있습니다.
`
sudo python setup.py install --register-service
`
Python 3의 경우 다음을 사용합니다.
`
sudo python3 setup.py install --register-service
`
다음 명령을 실행하면 더 많은 설치 옵션을 볼 수 있습니다.
`
sudo python setup.py 설치 --help
`
waagent 로그 파일은 /var/log/waagent.log에 저장됩니다.
마지막으로 아래 DEB 및 RPM 섹션에 제공된 구성 예를 사용하여 자신만의 RPM 또는 DEB 패키지를 사용자 정의할 수 있습니다. 이 방법은 고급 사용자에게도 적합하며 이 방법에 대한 지원은 매우 제한적입니다.
배포 패키지 저장소를 통한 업그레이드 또는 자동 업데이트를 사용하는 것이 유일하게 지원되는 방법입니다. 자세한 내용은 Linux 에이전트 업데이트에서 확인할 수 있습니다.
소스 코드에서 waagent를 업그레이드하려면 setuptools를 사용할 수 있습니다. 소스에서 업그레이드하는 것은 고급 사용자에게만 해당되며 이 방법에 대한 지원은 매우 제한적입니다.
`
sudo python setup.py 설치 --force
`
waagent 서비스를 다시 시작합니다.
`
sudo 서비스 waagent 다시 시작
`
우분투의 경우 다음을 사용하십시오.
`
sudo 서비스 walinuxagent 재시작
`
CoreOS의 경우 다음을 사용합니다.
`
sudo systemctl 재시작 waagent
`
-verbose: 지정된 명령의 자세한 정도를 높입니다.
-force: 일부 명령에 대한 대화형 확인을 건너뜁니다.
-help: 지원되는 명령 및 플래그를 나열합니다.
-deprovision: 다음을 제거하여 시스템을 정리하고 재프로비저닝에 적합하게 만듭니다.
* 모든 SSH 호스트 키(구성 파일의 Provisioning.RegenerateSshHostKeyPair가 'y'인 경우)
* /etc/resolv.conf의 네임서버 구성.
* /etc/shadow의 루트 비밀번호(구성 파일의 Provisioning.DeleteRootPassword가 'y'인 경우)
* 캐시된 DHCP 클라이언트 임대.
* 호스트 이름을 localhost.localdomain으로 재설정합니다.
경고하다! 프로비저닝 해제는 이미지에서 모든 민감한 정보가 제거되었으며 재배포에 적합하다는 것을 보장할 수 없습니다.
-deprovision+user: 프로비저닝 해제(위 설명)에서 모든 작업을 수행하고 마지막으로 프로비저닝된 사용자 계정 및 관련 데이터를 삭제합니다.
-version: waagent 버전을 표시합니다.
-serialconsole: ttyS0(첫 번째 직렬 포트)을 부팅 콘솔로 표시하도록 GRUB를 구성합니다. 이렇게 하면 커널 부팅 로그가 직렬 포트로 전송되어 디버깅에 사용될 수 있습니다.
-daemon: waagent를 데몬 프로세스로 실행하여 플랫폼과의 상호 작용을 관리합니다. 이 매개변수는 waagent 초기화 스크립트에서 waagent에 지정됩니다.
-start: waagent를 백그라운드 프로세스로 실행합니다.
-collect-logs [-full]: 디버깅 목적으로 에이전트 관련 로그를 수집하고 디스크의 에이전트 폴더에 저장하는 로그 수집 유틸리티를 실행합니다. 실행 시 정확한 위치가 표시됩니다. 보다 포괄적인 로그 수집을 위해서는 -full 플래그를 사용하십시오.
구성 파일(/etc/waagent.conf)은 waagent의 작동을 제어합니다. 빈 줄과 첫 번째 문자가 #인 줄은 무시됩니다(줄 끝 주석은 지원되지 않습니다).
예시 구성 파일은 다음과 같습니다.
`
Extensions.Enabled=y
Extensions.GoalStatePeriod=6
프로비저닝.에이전트=자동
프로비저닝.DeleteRootPassword=n
프로비저닝.RegenerateSshHostKeyPair=y
프로비저닝.SshHostKeyPairType=rsa
프로비저닝.MonitorHostName=y
프로비저닝.DecodeCustomData=n
프로비저닝.ExecuteCustomData=n
프로비저닝.PasswordCryptId=6
프로비저닝.PasswordCryptSaltLength=10
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/리소스
ResourceDisk.MountOptions=없음
ResourceDisk.EnableSwap=n
ResourceDisk.EnableSwapEncryption=n
ResourceDisk.SwapSizeMB=0
Logs.Verbose=n
로그.수집=y
Logs.CollectPeriod=3600
OS.AllowHTTP=n
OS.RootDeviceScsiTimeout=300
OS.EnableFIPS=n
OS.OpensslPath=없음
OS.SshClientAliveInterval=180
OS.SshDir=/etc/ssh
HttpProxy.Host=없음
HttpProxy.Port=없음
`
다양한 구성 옵션이 아래에 자세히 설명되어 있습니다. 구성 옵션은 부울, 문자열, 정수의 세 가지 유형으로 구분됩니다. 부울 구성 옵션은 "y" 또는 "n"으로 지정할 수 있습니다. 아래 설명된 대로 특수 키워드 "None"은 특정 문자열 구성 항목과 함께 사용할 수 있습니다.
유형: 부울
기본값: y
이 옵션을 사용하면 사용자는 에이전트의 확장 처리 기능을 활성화하거나 비활성화할 수 있습니다. 유효한 값은 "y" 또는 "n"입니다. 확장 처리가 비활성화된 경우 대상 상태는 계속 처리되고 가상 머신 상태는 5분마다 보고됩니다. 대상 상태의 확장 구성은 무시됩니다. 비밀번호 재설정, SSH 키 업데이트, 백업과 같은 기능은 확장 프로그램에 의존합니다. 확장 기능이 전혀 필요하지 않은 경우에만 이 옵션을 비활성화하세요.
참고: 이런 방식으로 확장 기능을 비활성화하는 것은 프록시를 전혀 사용하지 않는 것과 다릅니다. 이를 수행하려면 어떤 API를 사용하든 프로비저닝 시에 ProvisionVMAgent 플래그를 설정해야 합니다. 이에 대한 자세한 내용은 위키에서 제공할 예정이지만 아직 제공되지 않습니다.
유형: 부울
기본값: n
가상 머신 확장을 수행하기 전에 cloud-init가 완료될 때까지 기다립니다(cloud-init status --wait).
cloud-init 및 가상 머신 확장은 모두 초기 배포 중에 가상 머신을 사용자 지정하는 일반적인 방법입니다. 기본적으로 에이전트는 cloud-init가 '구성' 단계에 있는 동안 조정 실행을 시작하고 '최종' 단계가 완료될 때까지 기다리지 않습니다. cloud-init와 확장은 서로 충돌하는 작업을 수행할 수 있습니다(예: 둘 다 패키지 설치를 시도할 수 있음). 이 옵션을 'y'로 설정하면 cloud-init가 모든 단계를 완료한 후에만 가상 머신 확장이 수행됩니다.
이 옵션을 사용하려면 가상 머신의 초기 배포 중에 대기 작업이 수행되도록 하려면 사용자 지정 이미지를 만들고 이 옵션의 값을 'y'로 설정해야 합니다.
유형: 정수
기본값: 3600
에이전트가 cloud-init를 기다리는 시간 초과(초)입니다. 제한 시간이 만료되면 에이전트는 계속해서 가상 머신 확장을 수행합니다. 자세한 내용은 Extensions.WaitForCloudInit를 참조하세요.
유형: 정수
기본값: 6
새 대상 상태를 폴링하고 가상 머신 및 확장의 상태를 보고하는 빈도(초)입니다. 대상 상태는 가상 머신에서 원하는 확장 상태를 설명합니다.
참고: 이 매개 변수를 몇 분 이상 설정하면 가상 머신 상태가 Azure Portal에서 응답 없음/사용할 수 없음으로 보고될 수 있습니다. 또한 이 설정은 에이전트가 조정 수행을 시작하는 속도에 영향을 줍니다.
유형: 부울
기본값: y
확장 처리기의 자동 업데이트를 활성화합니다. 확장 처리기는 확장을 관리하고 가상 머신 상태를 보고하는 역할을 담당합니다. 에이전트의 핵심 기능은 확장 핸들러에 포함되어 있으며 사용자는 최신 버전을 유지하려면 이 옵션을 활성화하는 것이 좋습니다.
이 옵션을 활성화하면 에이전트는 새 버전이 출시되면 이를 설치합니다. 비활성화되면 에이전트는 새 버전을 설치하지 않지만 가상 머신에 이미 설치된 최신 버전을 사용합니다.
설명하다:
에이전트 버전에 대한 자세한 내용은 FAQ를 참조하세요.
에이전트 업데이트에 대한 자세한 내용은 FAQ를 참조하세요.
AutoUpdate.UpdateToLatestVersion 및 AutoUpdate.Enabled에 대한 자세한 내용은 FAQ를 참조하세요.
유형: 부울
기본값: y
확장 처리기의 자동 업데이트를 활성화합니다. 이 플래그는 레거시 이유로 지원되며 이 플래그 대신 AutoUpdate.UpdateToLatestVersion을 사용하는 것이 좋습니다.
이 두 플래그의 차이점은 'n'으로 설정된 경우 AutoUpdate.Enabled는 이미지에 사전 설치된 확장 처리기 버전을 사용하는 반면 AutoUpdate.UpdateToLatestVersion은 자동 업데이트를 통해 가상 머신에 설치된 최신 버전을 사용한다는 것입니다. .
대부분의 배포판에서 기본값은 'y'입니다.
유형: 문자열
기본값: 자동
사용할 프로비저닝 에이전트를 선택합니다(또는 "auto"를 지정하여 waagent가 이를 결정하도록 허용). 가능한 옵션은 "auto"(기본값), "waagent", "cloud-init" 또는 "disabled"입니다.
유형: 부울
기본값: y
이 옵션을 사용하면 사용자가 에이전트의 프로비저닝 기능을 활성화하거나 비활성화할 수 있습니다. 유효한 값은 "y" 또는 "n"입니다. 프로비저닝이 비활성화되면 이미지의 SSH 호스트 및 사용자 키가 유지되고 Azure 프로비저닝 API에 지정된 모든 구성이 무시됩니다.
참고: 이 구성 옵션은 제거되었으며 더 이상 효과가 없습니다. waagent는 이제 자동으로 cloud-init를 프로비저닝 에이전트로 감지합니다(선택적으로 Provisioning.Agent를 사용하여 재정의됨).
유형: 부울
기본값: n
호스트 이름 변경 사항을 모니터링하고 DHCP 요청을 통해 변경 사항을 게시합니다.
유형: 정수
기본값: 30
호스트 이름 변경을 모니터링하는 빈도(초)입니다. MonitorHostName이 설정되지 않은 경우 이 설정은 무시됩니다.
유형: 부울
기본값: n
이 옵션은 cloud-init를 통한 프로비저닝 지원을 활성화/비활성화합니다.
true("y")인 경우 에이전트는 확장 기능을 설치하고 최신 대상 상태를 처리하기 전에 cloud-init가 완료될 때까지 기다립니다. Provisioning.Enabled 이 옵션을 적용하려면 비활성화("n")해야 합니다. Provisioning.Enabled를 true("y")로 설정하면 이 옵션이 무시되고 내장 에이전트 프로비저닝 코드가 실행됩니다.
참고: 이 구성 옵션은 제거되었으며 더 이상 효과가 없습니다. waagent는 이제 자동으로 cloud-init를 프로비저닝 에이전트로 감지합니다(선택적으로 Provisioning.Agent를 사용하여 재정의됨).
유형: 부울
기본값: n
이 옵션을 설정하면 프로비저닝 중에 /etc/shadow 파일의 루트 비밀번호가 제거됩니다.
유형: 부울
기본값: y
이 옵션을 설정하면 프로비저닝 중에 /etc/ssh/의 모든 SSH 호스트 키 쌍(ecdsa, dsa 및 rsa)이 삭제됩니다. 새 키 쌍을 생성합니다.
새 키 쌍의 암호화 유형은 Provisioning.SshHostKeyPairType 항목을 통해 구성할 수 있습니다. 일부 배포판에서는 SSH 데몬이 다시 시작될 때(예: 재부팅 후) 누락된 암호화 유형에 대해 SSH 키 쌍을 다시 생성합니다.
유형: 문자열
기본값: rsa
가상 머신의 SSH 데몬이 지원하는 암호화 알고리즘 유형으로 설정할 수 있습니다. 일반적으로 지원되는 값에는 "rsa", "dsa", "ecdsa"가 있습니다.
Windows의 "putty.exe"에서는 "ecdsa"가 지원되지 않습니다. 따라서 Windows에서 putty.exe를 사용하여 Linux 배포에 연결하려는 경우 "rsa" 또는 "dsa"를 사용하십시오.
유형: 부울
기본값: y
이 옵션이 설정되면 waagent는 Linux 가상 머신에서 호스트 이름 변경 사항("hostname" 명령으로 반환됨)을 모니터링하고 변경 사항을 반영하도록 이미지의 네트워크 구성을 자동으로 업데이트합니다. 이름 변경을 DNS 서버에 푸시하기 위해 가상 머신의 네트워크가 다시 시작됩니다. 이로 인해 인터넷 연결이 잠시 끊어집니다.
유형: 부울
기본값: n
이 옵션이 설정되면 waagent는 Base64에서 CustomData를 디코딩합니다.
유형: 부울
기본값: n
이 옵션을 설정하면 waagent는 프로비저닝 후 CustomData를 실행합니다.
유형: 문자열
기본값: 6
비밀번호 해시를 생성할 때 crypt에서 사용하는 알고리즘입니다.
유형: 문자열
기본값: 10
비밀번호 해시를 생성할 때 사용되는 무작위 솔트의 길이입니다.
유형: 부울
기본값: y
이 옵션을 설정하면 "ResourceDisk.Filesystem"에서 사용자가 요청한 파일 시스템 유형이 "ntfs"가 아닌 경우 플랫폼에서 제공하는 리소스 디스크가 waagent에 의해 포맷되고 마운트됩니다. Linux(83) 유형의 단일 파티션이 디스크에 제공됩니다. 이 파티션을 성공적으로 마운트할 수 있으면 포맷되지 않습니다.
유형: 문자열
기본값: ext4
리소스 디스크의 파일 시스템 유형을 지정합니다. 지원되는 값은 Linux 배포판에 따라 다릅니다. 문자열이 X이면 mkfs.X가 Linux 이미지에 있어야 합니다. SLES 11 이미지는 일반적으로 'ext3'을 사용해야 합니다. BSD 이미지는 여기서 'ufs2'를 사용해야 합니다.
유형: 문자열
기본값: /mnt/리소스
리소스 디스크를 마운트할 경로를 지정합니다.
유형: 문자열
기본값: 없음
mount -o 명령에 전달될 디스크 마운트 옵션을 지정합니다. 이는 'nodev,nosuid'와 같이 쉼표로 구분된 값 목록입니다. 자세한 내용은 mount(8)을 참조하십시오.
유형: 부울
기본값: n
이 옵션을 설정하면 리소스 디스크에 스왑 파일(/swapfile)이 생성되어 시스템 스왑 공간에 추가됩니다.
유형: 부울
기본값: n
이 옵션을 설정하면 스왑 파일(/swapfile)이 암호화된 파일 시스템(FreeBSD에서만 지원되는 플래그)으로 마운트됩니다.
유형: 정수
기본값: 0
스왑 파일의 크기(MB)입니다.
유형: 부울
기본값: n
이 옵션을 설정하면 로그의 자세한 정도가 증가합니다. waagent는 /var/log/waagent.log에 기록하고 시스템 logrotate 기능을 사용하여 로그를 순환합니다.
유형: 부울
기본값: y
이 옵션을 설정하면 에이전트 로그가 주기적으로 수집되어 지원 가능성을 향상시키기 위해 안전한 위치에 업로드됩니다.
참고: 이 기능은 에이전트의 리소스 사용 기능(cgroups)에 의존합니다. 이 플래그는 지원되지 않는 배포에는 적용되지 않습니다.
유형: 정수
기본값: 3600
로그를 수집하고 업로드하는 빈도를 구성합니다. 기본값은 매시간입니다.
참고: 이는 Logs.Collect 옵션이 활성화된 경우에만 적용됩니다.
유형: 부울
기본값: n
SSL 지원이 Python으로 컴파일되지 않으면 프록시는 모든 HTTPS 요청에 실패합니다. 이 옵션을 'y'로 설정하면 요청이 실패하는 대신 프록시가 HTTP로 대체되도록 할 수 있습니다.
참고: HTTP를 허용하면 보안 데이터가 실수로 노출될 수 있습니다.
유형: 부울
기본값: n
이 옵션이 설정된 경우 에이전트는 기본 하드웨어의 펌웨어 버전과 일치하는 RDMA 커널 드라이버를 설치하고 로드하려고 시도합니다.
유형: 부울
기본값: n
이 옵션을 설정하면 에이전트는 OpenSSL 명령을 실행할 때 "OPENSSL_FIPS=1"을 환경에 내보냅니다. 이는 OpenSSL에 설치된 FIPS 호환 라이브러리를 사용하도록 지시합니다.
에이전트 자체에는 FIPS 관련 코드가 없습니다. FIPS 호환 인증서가 설치되지 않은 경우 이 옵션을 활성화하면 모든 OpenSSL 명령이 실패합니다.
유형: 정수
기본값: 30
에이전트는 DHCP 클라이언트 재시작을 모니터링하고 재시작이 발생하면 네트워크 규칙을 복원합니다. 이 설정은 모니터링이 다시 시작되는 빈도(초)를 결정합니다.
유형: 정수
기본값: 300
이는 루트 장치에서 SCSI 시간 초과를 초 단위로 구성합니다. 설정하지 않으면 시스템 기본값이 사용됩니다.
유형: 정수
기본값: 30
루트 장치에서 SCSI 시간 초과를 설정하는 빈도(초)입니다. RootDeviceScsiTimeout이 설정되지 않은 경우 이 설정은 무시됩니다.
유형: 문자열
기본값: 없음
이는 암호화 작업에 사용되는 openssl 바이너리에 대한 대체 경로를 지정하는 데 사용할 수 있습니다.
유형: 정수
기본값: 30
영구 네트워크 인터페이스 이름에 대해 udev 규칙(75-pertant-net-generator.rules 및 /etc/udev/rules.d/70-pertant-net.rules)이 삭제되는 빈도(초)입니다.
유형: 정수
기본값: 180
이 값은 에이전트가 SSH ClientAliveInterval 구성 옵션에 사용하는 시간(초)을 설정합니다.
유형: 문자열
기본값: /etc/ssh
이 옵션을 사용하여 SSH 구성 디렉터리의 기본 위치를 재정의할 수 있습니다.
유형: 문자열
기본값: 없음
이 옵션을 설정하면 에이전트는 HTTP/HTTPS 요청에 이 프록시 서버를 사용합니다. 이 값은 httpproxy 또는 httpsproxy 환경 변수보다 우선 적용됩니다. 마지막으로 HttpProxy.Host는 사용하는 경우 필수이고 HttpProxy.Port는 선택 사항입니다.
유형: 부울
기본값: y
이 옵션이 설정되면 에이전트는 에이전트 프로세스 자체는 물론 확장 프로세스에 대한 CPU 및 메모리에 대한 cgroups 제한을 설정하려고 시도합니다. 이에 대한 자세한 내용은 위키를 참조하세요.
유형: 문자열
기본값: customscript, runcommand
cgroups 제한에서 제외할 확장 목록입니다. 쉼표로 구분해야 합니다.
WALinuxAgent는 제품과 서비스를 개선하는 데 도움이 되도록 사용 데이터를 수집하고 Microsoft로 보냅니다. 수집된 데이터는 서비스 상태를 추적하고 Azure 지원 요청을 지원하는 데 사용됩니다. 수집된 데이터에는 개인 식별 정보가 포함되어 있지 않습니다. 자세한 내용은 개인정보 보호정책을 읽어보세요.
WALinuxAgent는 현재 원격 분석 비활성화를 지원하지 않습니다. 원격 측정 수집을 비활성화하려면 WALinuxAgent를 제거해야 합니다. 이 기능이 필요한 경우 GitHub에서 문제를 열고 요구 사항을 설명하세요.
우리는 이 저장소에 패키징 정보를 유지하지 않지만 참조용으로 아래에 몇 가지 예가 나와 있습니다. 공식적으로 유지 관리되는 패키징에 대해서는 다운스트림 릴리스 저장소를 참조하세요.
공식 Ubuntu WALinuxAgent 패키지는 여기에서 찾을 수 있습니다.
한 번 실행:
필수 패키지 설치
`
sudo apt-get -y ubuntu-dev-tools pbuilder python-all debhelper 설치
`
pbuilder 환경 생성
`
sudo pbuilder create --debootstrapopts --variant=buildd
`
다운스트림 패키지 저장소에서 waagent.dsc 가져오기
패키지를 컴파일하려면 최상위 디렉터리에서 다음을 수행하세요.
소스 코드 패키지 빌드
`
dpkg-buildpackage -S
`
패키지 빌드
`
sudo pbuilder 빌드 waagent.dsc
`
일반적으로 /var/cache/pbuilder/result에 있는 빌드된 패키지를 가져옵니다.
다음 지침에서는 rpm 패키지를 빌드하는 방법을 설명합니다.
설정 도구 설치
`
컬 https://bootstrap.pypa.io/ez_setup.py -o - 파이썬
`
다음 명령은 바이너리 및 소스 RPM을 빌드합니다.
`
파이썬 setup.py bdist_rpm
`
이 프로젝트는 오픈 소스 코드에 대한 Microsoft 행동 강령을 채택했습니다. 자세한 내용은 행동 강령 FAQ를 참조하거나 추가 질문이나 의견이 있는 경우 [email protected]으로 문의하세요.
예:
Apache-2.0 라이센스