1.3μμ μ€νν λ μλ‘μ΄ μ€λ₯κ° λ°μν©λλ€.
apt: update_cache=yes:
μνλ
msg: Failed to lock apt for exclusive operation
κ·Έλ¬λ λ Έλμμ sudo apt-get updateλ₯Ό μ€νν μ μμΌλ©° 1.3μΌλ‘ μ κ·Έλ μ΄λνκΈ° μ μ μλνμ΅λλ€. λ κ° μ΄μμ λ Έλμμ μ€λ₯κ° λ°μνμ΅λλ€.
ansible 1.2.3μΌλ‘ λ λλ Έκ³ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€.
λ©μΌ λ§λ¦¬μ€νΈμμ μΌλΆλ sudoκ° νΈμΆλμ§ μμκΈ° λλ¬Έμ΄λΌκ³ μ μνμ΅λλ€.
μ μ΄λλ λ Έλμμ Ubuntu 12.04λ₯Ό μ€ννκ³ μμ΅λλ€.
μν μ μ¬μ©νκ³ μμ΅λλ€ (1.3μ λ³κ²½ μ¬νμ λν΄ μ λ°μ΄νΈλμ§ μμ).
μ΅μμ μμ€ node.yml νμΌμ μν μ μ μν©λλ€.
- name: apply common configuration to all nodes
hosts: all
# connection: fireball
roles:
- common
νΉμ 체μΈμ μ΄λ€ κ²λ sudoλ₯Ό νΈμΆνμ§ μλ κ² κ°μ΅λλ€. μ΄κ²μ νμ€ν μλͺ»λ κ²μ λλ€. 1.3 λ²μ μ΄μ μ μλ ν μ΄μ λ₯Ό μ΄ν΄ν μ μμ΅λλ€. λ€λ₯Έ κ³³μμλ νμν λ νΉλ³ν sudoλ₯Ό νΈμΆν©λλ€.
1.3μμλ λ‘€λΉ sudoλ₯Ό λ μ½κ² μ¬μ©ν μ μλ€κ³ μκ°ν©λλ€. μ‘°μ¬ν΄μΌν©λλ€.
-Kλ‘ ansible-playbookμ μ΄λ»κ² νΈμΆν©λκΉ? 1.3μμλ -K νλκ·Έκ° νμ€ν¬κ° sudoλ₯Ό λ΄μ¬μ μΌλ‘ μ¬μ©νμ§ μλλ‘ sudoλ₯Ό λͺ μ μ μΌλ‘ μ§μ ν΄μΌνλ€λ λ³κ²½ μ¬νμ΄ μμ΅λλ€.
μ, λλΆλΆμ μ₯μμμ -Kλ₯Ό μ¬μ©νκ³ sudoλ₯Ό λͺ
μ μ μΌλ‘ μ¬μ©νμ§λ§
μ΄ νΉμ ν κ²½μ°. κ·Έλμ κ·Έκ²μ μλ§λ isseμ
λλ€.
λ§€μ° μ μ€νκ²,
Dan CaJacob
2013 λ
9 μ 17 μΌ νμμΌ μ€ν 4:23, James Cammarata
[email protected] μμ± :
-Kλ‘ ansible-playbookμ μ΄λ»κ² νΈμΆν©λκΉ? 1.3μμ λ³κ²½λμμ΅λλ€.
sudoλ -K νλκ·Έλ‘ λͺ μ μ μΌλ‘ μ§μ λμ΄μΌ μμ μ μννμ§ μμ΅λλ€.
μμ μ μΌλ‘ sudoλ₯Ό μ¬μ©νμμμ€.β
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ±°λ Gi tHubμμ νμΈ νμΈμ.
.
νμΈνκ² μ΅λλ€. κ·Έλ λ€λ©΄ μ’ λ£νκ² μ΅λλ€. κ°μ¬!
ν κ²μ λλ€. κ°μ¬!
λ§€μ° μ μ€νκ²,
Dan CaJacob
2013 λ
9 μ 17 μΌ νμμΌ μ€ν 4:27, James Cammarata
[email protected] μμ± :
νμΈνκ² μ΅λλ€. κ·Έλ λ€λ©΄ μ’ λ£νκ² μ΅λλ€. κ°μ¬!
β
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ±°λ Gi tHubμμ νμΈ νμΈμ.
.
μ΄κ²μ λν νμ μ‘°μΉκ° μμ΅λκΉ?
κ³μν΄μμ΄ λ¬Έμ λ₯Ό λ«μΌμμμ€. κ·Έλλ λ¬Έμ κ° μμΌλ©΄ μλ €μ£Όμμμ€. κ°μ¬!
λλ λνμ΄ λ¬Έμ μ μ§λ©΄νκ³ μμ΅λλ€. 1.3.2λ₯Ό μ€ννμ§λ§ μ΄μ λ²μ μ°Έμ‘°κ° μμ΅λλ€.
-KIλ₯Ό μ¬μ©ν λ λ λ€λ₯Έ μ€ν¨κ° λ°μν©λλ€. sudo μνΈ ν둬ννΈλ₯Ό κΈ°λ€λ¦¬λ λμ ssh μ°κ²°μ΄ λ«νμ΅λλ€.
κ²°κ΅ λλ μ΄κ²μ λν ν λͺ¨λκ° μλ μ€νν΄μΌνλ―λ‘ -Kκ° μ΅μ’ λ΅μ΄ λ μ μμ΅λλ€.
μμΈν μ 보 : μλ μ€ν : host1. ***λ μμ λ FQDNμ λλ€.
vagrant @ ansible-head : ~ $ sudo -u vagrant ansible-playbook -i μΈλ²€ν 리 ubuntu-apache2.yaml
PLAY [μΉ μλ²] * * * * * * * * * * * * * * * * * * * *
μμ§ μ¬μ€ * * * * * * * * * * * * * * * * * * * *
νμΈ : [host1. **]
μμ
: [μ μ ν μΊμ μ
λ°μ΄νΈ] * * * * * * * * * * * * * * * *
μ€ν¨ : [host1. **] => { "μ€ν¨": true}
msg : λ
μ μμ
μ μν΄ aptλ₯Ό μ κ·Έμ§ λͺ»νμ΅λλ€.
μΉλͺ μ : λͺ¨λ νΈμ€νΈκ° μ΄λ―Έ μ€ν¨νμ΅λλ€. μ€λ¨ μ€
RECAPμ PLAY * * * * * * * * * * * * * * * * * * * * * *
λ€μ μλνλ €λ©΄ λ€μμ μ¬μ©νμμμ€. --limit @ / home / vagrant / ubuntu-apache2.yaml.retry
host1. *** : ok = 1 λ³κ²½λ¨ = 0 μ°κ²°ν μ μμ = 0 μ€ν¨ = 1
ansible getμ μλμΌλ‘ μ€νν΄λ λμΌν μ€λ₯κ° λ°μν©λλ€.
vagrant @ ansible-head : ~ $ sudo -u vagrant ansible μΉ μλ² -i inventory -m apt -a "update_cache = yes
"
host1. *** | μ€ν¨ >> {
"μ€ν¨": μ°Έ,
"msg": "λ
μ μμ
μ μ ν©ν μ κΈ μ€ν¨"
}
@Ravenwater λ€λ₯Έ λ¬Έμ μΈ κ² κ°μ΅λλ€. μλ‘μ΄ github λ¬Έμ λ₯Ό μ΄ ββμ μμ΅λκΉ? λ€λ₯Έ μ¬λλ€μ΄ κ·Έ λ¬Έμ μ λΆλͺ νλμ§ νμΈνκΈ° μν΄ λ©μΌ λ§λ¦¬μ€νΈμ λ¬Όμ΄λ³Ό μλ μμ΅λλ€. κ°μ¬!
ansible 1.3.4μ λΉμ·ν λ¬Έμ κ° μμ΅λλ€.
λ΄κ° μ¬μ©νλ κ²½μ° :
apt: update_cache=yes:
λμΌν μ€λ₯ λ©μμ§κ° λνλ©λλ€.
msg: Failed to lock apt for exclusive operation
λν update_cache μ΅μ μΌλ‘ ν¨ν€μ§λ₯Ό μ€μΉν λ :
apt: pkg=openjdk-6-jre-headless state=installed update_cache=yes cache_valid_time=604800
μ μ¬ν μ€λ₯κ° νμλ©λλ€.
msg: 'apt-get install 'openjdk-6-jre-headless' ' failed: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
μ€λ₯κ° κ°νμ μΌλ‘ λνλ©λλ€. μ€μ λ‘ ubuntu 12.04μ ν¨κ» 50 κ°μ EC2 κ°μ λ¨Έμ μΈνΈλ₯Ό μ¬μ©ν©λλ€ (λͺ¨λ λμΌν κΈ°λ³Έ μ΄λ―Έμ§ ami-e50e888c μ¬μ©). ν μ€νΈμ λ°λΌ 5 ~ 20 λ² μ€λ₯κ° λνλ©λλ€.
"sudo : true"κ° νλ μ΄ λΆμ μ§μ λμ΄ μμ΅λλ€.
μ΄κ²μ μΌλ°μ μΌλ‘ λ©μμ§κ° λ§νλ κ²κ³Ό λκ°μ΅λλ€.
dpkg db λλ λ€λ₯Έ μ¬λ (λλ λ€λ₯Έ νλ‘μΈμ€μμλ μ¬μ©μ)μ μ κΈ μμλ κΆν
μ κ²Όμ΅λλ€ (μ€κ°μ + Cλ₯Ό μ μ΄νκ³ μλνλ©΄ λμκ² λ°μν©λλ€.
λ€μ).
μ. κ·Έλ¬λ μΌλΆμμλ λμΌν ꡬμ±μ μ¬μ©νλ λμΌν OSμ 50 κ°μ VMκ³Ό ν¨κ» μ¬μ©νλ©΄ μλνκ³ λ€λ₯Έ μΌλΆμμλ μ€ν¨ν©λλ€. λν νλ μ΄ λΆμ 3 ~ 4 λ² μ¬ μλνλ©΄ λ§μΉ¨λ΄ λͺ¨λ λ Έλμμ μλν©λλ€.
@micafer λ€λ₯Έ μ¬μ©μ / νλ‘μΈμ€κ° ν΄λΉ μ»΄ν¨ν°μμ λμμ aptλ₯Ό νΈμΆ ν μ μμ΅λκΉ?
μ΄ ν
μ€νΈλ₯Ό μν΄ νΉλ³ν μμ± λ 50 κ°μ VM μΈνΈλ‘ ν
μ€νΈ μ€μ΄λ©° λͺ¨λμμ μ μΌν μ¬μ©μμ
λλ€.
μ°λΆν¬μ apt λͺ
λ Ήμ μ¬μ©νλ λ΄λΆ νλ‘μΈμ€ (cron λλ μ΄μ μ μ¬ν)κ° μλμ§ λͺ¨λ₯΄κ² μ΅λλ€.
μ°λΆν¬λ λ§€μΌ μΊμ μ
λ°μ΄νΈλ₯Ό ν¬λ‘ ννμ΅λλ€.
λ¬΄μΈ μ€μΉλ₯Όνλ€λ©΄ 'μ²λ₯ 무리'λ¬Έμ λ₯Ό μΌμΌν€κ³
νμ±ννλ©΄ μλ 보μ μ
λ°μ΄νΈλ λ°κ²λ©λλ€.
μ΄.
μ€μνμμ μ΄λ° μΌμ΄ λ°μν μμλ μ¬κ°ν κΈ°νκ° μκ³ ansibleμ΄ λ¬Έμ μ λν ν΄κ²°μ± μ μ 곡ν΄μΌνλ―λ‘μ΄ λ¬Έμ λ₯Ό λ€μ μ¬λ κ²μ ν¬ννκ² μ΅λλ€.
Ubuntu 16.04 μ¬μ©μμ κ²½μ° (15.04μμλ λ°μν μ μλ€κ³ μκ°νμ§λ§) Ubuntuλ κΈ°λ³Έμ μΌλ‘ unattended-upgrade
νμ±ν λ μνλ‘ μ 곡λ©λλ€. @bcocaμμ μΈκΈνλ―μ΄ μ κΈ°μ μΌλ‘ 보μ μ
λ°μ΄νΈλ₯Ό νμΈν©λλ€ (λ³΄ν΅ λ§€μΌ). λ°λΌμ ν΄κ²°μ±
μ APTλ₯Ό ν°μΉνκΈ° μ μ μμ
μ μΆκ°νλ κ²μ
λλ€.
- name: kill automatic updating script, if any
command: pkill --full /usr/bin/unattended-upgrade
become: true
register: kill_result
failed_when: kill_result.rc > 1 # rc == 1 if the script is inactive
changed_when: kill_result.rc == 0
λμ€μ μμ€ν μμ μ€ν¬λ¦½νΈλ₯Ό λ€μ μμνλ―λ‘ μμ ν΄μΌν©λλ€.
λλ₯Ό μν΄ μλνμ§ μλλ€λ μ견 λ§ μμΌλ©΄ μμ λͺ
λ Ήμ μ¬μ©ν΄λ μ κΈμ΄ κ·Έλλ‘ μ μ§λμμ΅λλ€. νμ§λ§ EC2μ λ°°ν¬ ν λ unattended-upgrades
λ₯Ό μλμΌλ‘ μ κ±°νμ¬ κΈ°λ³Έ μ΄λ―Έμ§λ₯Ό μ
λ°μ΄νΈνμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
Ubuntu 16.04
Ubuntu 16.04 μ¬μ©μμ κ²½μ° (15.04μμλ λ°μν μ μλ€κ³ μκ°νμ§λ§) Ubuntuλ κΈ°λ³Έμ μΌλ‘
unattended-upgrade
νμ±ν λ μνλ‘ μ 곡λ©λλ€. @bcocaμμ μΈκΈνλ―μ΄ μ κΈ°μ μΌλ‘ 보μ μ λ°μ΄νΈλ₯Ό νμΈν©λλ€ (λ³΄ν΅ λ§€μΌ). λ°λΌμ ν΄κ²°μ± μ APTλ₯Ό ν°μΉνκΈ° μ μ μμ μ μΆκ°νλ κ²μ λλ€.λμ€μ μμ€ν μμ μ€ν¬λ¦½νΈλ₯Ό λ€μ μμνλ―λ‘ μμ ν΄μΌν©λλ€.