Điểm:1

Cách lấy thêm liên kết vars java và tải xuống trong ansible và giải nén nó

lá cờ in

Tôi muốn tải java từ http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

sau đó giải nén nó

tar -xzvf jdk-8u131-linux-x64.tar.gz

nhưng không thể làm điều đó

Tôi có mã playbook ansible dưới đây

- tên: Tải Java về Phiên bản Mới nhất
      vỏ: |
              mkdir /opt/java
              cd /opt/java
              wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" {{javaurl}}
              tar -xzvf ${javaurl##*/} 
   
    - gỡ lỗi:
        msg: "Phiên bản Java là {{javaurl##*/}}"

Tôi đã chuyển url từ lệnh ansible như bên dưới

 ansible-playbook -i inventory.yml -k playbook.yml --extra-vars "java_url=http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux -x64.tar.gz"
Romeo Ninov avatar
lá cờ in
Sẽ là khôn ngoan khi sử dụng java từ linux của bạn. Bạn có lý do cụ thể để tải xuống java từ trang web của Oracle không?
Rajarshi Das avatar
lá cờ in
vâng, chúng tôi cần sử dụng url đó để tải xuống Romeo
Michael Hampton avatar
lá cờ cz
Vấn đề bạn đang gặp phải là gì?
Rajarshi Das avatar
lá cờ in
## trong javaurl cũng không được chấp nhận wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" {{javaurl}} không thể hiểu url tôi đang gửi qua cli
Romeo Ninov avatar
lá cờ in
Tại sao bạn cần chính xác phiên bản này?
Michael Hampton avatar
lá cờ cz
Hãy cụ thể và gửi các lỗi thực tế.
Rajarshi Das avatar
lá cờ in
cảm ơn bạn đã trả lời Michael Tôi đã nhận được nó bằng cách sử dụng wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" {{javaurl}} tar -xzvf ./jdk-*.tar.gz
Điểm:1
lá cờ th

Mặc dù bạn không thực sự cung cấp bất kỳ thông tin nào về việc mã của bạn bị lỗi như thế nào, vẫn có một số vấn đề rõ ràng. Ansible không phải là trình bao và bạn không thể truy cập các biến Ansible bằng cú pháp trình bao. Bạn cũng có các tên biến khác nhau trong mã của mình (javaurl) và trong lệnh gọi CLI ví dụ của bạn (java_url). Tôi đã tùy ý chọn sử dụng java_url bên dưới.

Có nhiều cách để bắt đầu sửa tác vụ hiện tại.

# Kiên trì sử dụng Jinja
- tên: Tải Java về Phiên bản Mới nhất
  vỏ: |
    mkdir /opt/java
    cd /opt/java
    wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" {{ java_url }}
    tar -xzvf {{ (java_url | urlsplit).path | tên cơ sở }}

# Sử dụng nhất quán các biến shell
- tên: Tải Java về Phiên bản Mới nhất
  vỏ: |
    mkdir /opt/java
    cd /opt/java
    wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" $java_url
    tar -xzvf ${java_url##*/}
  môi trường:
    java_url: "{{ java_url }}"

Tuy nhiên, thay vì sửa tập lệnh shell của bạn, bạn nên viết lại nó bằng các tính năng dựng sẵn của Ansible để thực hiện công việc này.

- tên: Tạo /opt/java
  tập tin:
    đích: /opt/java
    trạng thái: thư mục

- tên: Tải xuống Java JDK
  lấy_url:
    url: "{{ java_url }}"
    đích: /opt/java
    tiêu đề:
      Cookie: oraclelicense=accept-securebackup-cookie
  đăng ký: kết quả

- tên: Giải nén Java JDK
  hủy lưu trữ:
    src: "{{ result.dest }}"
    remote_src: đúng
    đích: /opt/java

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.