এটি এই প্রশ্নের অনুসরণীয় । আমি কোনও ভ্যাগ্র্যান্ট ভিএম সরবরাহ করার জন্য উত্তরী ব্যবহার করার চেষ্টা করছি ভিএম সেন্টস 6.4 চলছে running আমি নিম্নলিখিত (সংক্ষিপ্ত) উত্তরযোগ্য প্লেবুক ব্যবহার করছি:
- hosts: default
vars:
home: '/home/vagrant'
curl_version: '7_19_7'
curl_url: 'https://github.com/bagder/curl/archive/curl-{{ curl_version }}.tar.gz'
curl_dir: '{{ home }}/curl-curl-{{ curl_version }}'
# user: vagrant
remote_user: vagrant
sudo: yes
tasks:
- name: Ensure required packages and installed and up to date - pt1
yum: pkg={{ item }} state=present
with_items:
- make
- gcc
- etc...
# Lots more yum tasks in here
- name: Ensure CURL source downloaded
get_url: url={{ curl_url }} dest=/home/vagrant/curl-{{ curl_version }}.tar
- name: Extract CURL source
command: tar -zxf {{ home }}/curl-{{ curl_version }}.tar creates={{ curl_dir }}
- name: Copy ssh patch over
copy: src=./files/ssh.c.patch dest={{ home }}/ssh.c.patch
- name: Patch CURL with openssl
shell: patch -t {{ curl_dir }}/lib/ssh.c {{ home }}/ssh.c.patch chdir={{ curl_dir }}/lib
when: path_file_result.changed
- name: Build CURL with openssl
command: 'chdir={{ curl_dir }} "{{ item }}"'
with_items:
- ./buildconf
- ./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss
- make
- make install
- ldconfig
ভ্যাগ্র্যান্ট ঠিকঠাক কাজ করছে এবং উত্তরযোগ্য প্লেবুকটি সফলভাবে শেষ কাজ 'ওপেনসেল দিয়ে সিআরএল তৈরি করুন' - যা ব্যর্থ হয়েছে:
TASK: [Build CURL with openssl] ***********************************************
changed: [default] => (item=./buildconf) => {"changed": true, "cmd": ["./buildconf"], "delta": "0:00:10.709817", "end": "2014-02-07 02:26:44.802652", "item": "./buildconf", "rc": 0, "start": "2014-02-07 02:26:34.092835", "stderr": "configure.ac:78: installing `./compile'
configure.ac:73: installing `./config.guess'
configure.ac:73: installing `./config.sub'
configure.ac:65: installing `./missing'
Makefile.am: installing `./depcomp'
configure.ac:137: installing `./config.guess'
configure.ac:137: installing `./config.sub'
docs/examples/Makefile.am: installing `./depcomp'", "stdout": "buildconf: autoconf version 2.63 (ok)
buildconf: autom4te version 2.63 (ok)
buildconf: autoheader version 2.63 (ok)
buildconf: automake version 1.11.1 (ok)
buildconf: aclocal version 1.11.1 (ok)
buildconf: libtool version 2.2.6 (ok)
buildconf: libtoolize found
buildconf: GNU m4 version 1.4.13 (ok)
buildconf: running libtoolize
buildconf: running aclocal
buildconf: running aclocal hack to convert all mv to mv -f
buildconf: running autoheader
buildconf: cp lib/curl_config.h.in src/curl_config.h.in
buildconf: running autoconf
buildconf: running in ares
buildconf: running automake
buildconf: OK"}
failed: [default] => (item=./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss) => {"cmd": ["./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss"], "failed": true, "item": "./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss", "rc": 2}
msg: [Errno 2] No such file or directory
failed: [default] => (item=make) => {"changed": true, "cmd": ["make"], "delta": "0:00:00.001828", "end": "2014-02-07 02:26:45.003968", "item": "make", "rc": 2, "start": "2014-02-07 02:26:45.002140"}
stderr: make: *** No targets specified and no makefile found. Stop.
failed: [default] => (item=make install) => {"cmd": ["make install"], "failed": true, "item": "make install", "rc": 2}
msg: [Errno 2] No such file or directory
changed: [default] => (item=ldconfig) => {"changed": true, "cmd": ["ldconfig"], "delta": "0:00:00.009685", "end": "2014-02-07 02:26:46.096829", "item": "ldconfig", "rc": 0, "start": "2014-02-07 02:26:46.087144", "stderr": "", "stdout": ""}
FATAL: all hosts have already failed -- aborting
সুতরাং, ./buildconf
পদক্ষেপটি কার্যকর হয় তবে ./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss
পদক্ষেপটি ব্যর্থ হচ্ছে বলে মনে হচ্ছে [Errno 2] No such file or directory
। আমি ধারণা করছি এটি কারণ এটি পুরো স্ট্রিংটি চালানোর চেষ্টা করছে এটি একটি একক কমান্ডের মতো?
আমি যদি এর shell
পরিবর্তে এটি ব্যবহার করতে পরিবর্তন করি তবে আমি এটি পরিবর্তে command
পেয়েছি:
failed: [default] => (item=./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss) => {"changed": true, "cmd": " \"./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss\" ", "delta": "0:00:00.001171", "end": "2014-02-07 02:31:34.862373", "item": "./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss", "rc": 127, "start": "2014-02-07 02:31:34.861202"}
stderr: /bin/sh: ./configure --with-gssapi --with-libidn --with-libssh2 --prefix=/usr --without-nss: No such file or directory
আমি যাচাই করেছি যে এখন পর্যন্ত সমস্ত কাজ কাজ করে, এবং ফাইলগুলি ডাউনলোড এবং প্রত্যাশিত জায়গাগুলিতে এবং প্যাচের কাজগুলি বের করা হয় ( দেখুন এখানে )।
টাস্কটি ব্যর্থ হওয়ার পরে (বা আপনি যদি এটির মন্তব্য করেন), আপনি যদি কনফিগার করা ভিএম-এর মধ্যে এসএসএইচ করে থাকেন এবং প্লেবুক থেকে সঠিক মানগুলি ব্যবহার করে নিজেই একই বিল্ড স্টেপগুলি চালান, এটি কার্যকর হয়।
আমি এখনও জবাবদিহি করার জন্য বেশ নতুন এবং আমি নিশ্চিত না কেন এটি কাজ করছে না? আমি কি ভুল করছি? এই configure
কমান্ডকে আলাদাভাবে বিন্যাস করার বা উদ্ধৃতি দেওয়ার কোনও উপায় আছে যাতে এটি সঠিকভাবে ব্যাখ্যা করা যায়, যদি এটি সমস্যা হয়? আমি কি raw
এই জন্য ব্যবহার করা উচিত ? অথবা অন্য কিছু?