2017-05-25 6 views
0

Je veux installer Java avec Chef 13 sur Windows 7.Chef télécharger et installer Oracle Java sur Windows

L'installation à partir de fichier est facile, mais je veux également le télécharger à partir des archives Oracle. La chose est, Oracle nécessite un cookie spécial - oraclelicense=accept-securebackup-cookie.

J'ai essayé le livre de recettes java, car il semble que les gens l'ont fait sans problèmes. Hovewer, après avoir exécuté le chef que j'obtiens l'erreur:

Recipe: java::notify 
    * log[jdk-version-changed] action nothing (skipped due to action :nothing) 
Recipe: java::windows 
    * ruby_block[Enable Accessing cookies] action run 
    - execute the ruby block Enable Accessing cookies 
    * remote_file[C:/Users/User\.chef\local-mode-cache\cache/jdk-7u79-windows-i586.exe] action create[2017-05-25T08:30:21+02:00] WARN: remote_file[C:/Users/User\.chef\local-mode-cache\cache/jdk-7u79-windows-i586.exe] cannot be downloaded from http://download.oracle.com/otn/java/jdk/7u79-b15/jdk-7u79-windows-i586.exe: 401 "Authorization Required" 
[2017-05-25T08:30:21+02:00] WARN: remote_file[C:/Users/User\.chef\local-mode-cache\cache/jdk-7u79-windows-i586.exe] cannot be downloaded from http://download.oracle.com/otn/java/jdk/7u79-b15/jdk-7u79-windows-i586.exe: 401 "Authorization Required" 


    ================================================================================ 
    Error executing action `create` on resource 'remote_file[C:/Users/User\.chef\local-mode-cache\cache/jdk-7u79-windows-i586.exe]' 
    ================================================================================ 

    Net::HTTPServerException 
    ------------------------ 
    401 "Authorization Required" 

    Resource Declaration: 
    --------------------- 
    # In C:/Users/User/.chef/local-mode-cache/cache/cookbooks/java/recipes/windows.rb 

    62: remote_file cache_file_path do 
    63:  checksum pkg_checksum if pkg_checksum 
    64:  source node['java']['windows']['url'] 
    65:  backup false 
    66:  action :create 
    67: end 
    68: end 

    Compiled Resource: 
    ------------------ 
    # Declared in C:/Users/User/.chef/local-mode-cache/cache/cookbooks/java/recipes/windows.rb:62:in `from_file' 

    remote_file("C:/Users/User\.chef\local-mode-cache\cache/jdk-7u79-windows-i586.exe") do 
    provider Chef::Provider::RemoteFile 
    action [:create] 
    default_guard_interpreter :default 
    source ["http://download.oracle.com/otn/java/jdk/7u79-b15/jdk-7u79-windows-i586.exe"] 
    use_etag true 
    use_last_modified true 
    declared_type :remote_file 
    cookbook_name "java" 
    recipe_name "windows" 
    path "C:/Users/User\\.chef\\local-mode-cache\\cache/jdk-7u79-windows-i586.exe" 
    checksum nil 
    rights nil 
    deny_rights nil 
    verifications [] 
    end 

    System Info: 
    ------------ 
    chef_version=13.0.118 
    platform=windows 
    platform_version=6.1.7600 
    ruby=ruby 2.4.1p111 (2017-03-22 revision 58053) [i386-mingw32] 
    program_name=C:/opscode/chef/bin/chef-client 
    executable=C:/opscode/chef/bin/chef-client 

Comme vous pouvez le voir dans les journaux ci-dessus, je me suis fixé ['java']['oracle']['accept_oracle_download_terms'] true (execute the ruby block Enable Accessing cookies).

Depuis ce livre de cuisine ne fonctionnait pas pour moi, j'ai essayé de faire mon propre livre de cuisine java:

windows_package package_name do 
     source     source 
     action     :install 
     installer_type   :custom 
     remote_file_attributes ({ 
     :headers => {"Cookie" => "oraclelicense=accept-securebackup-cookie"} 
     }) 
     options     opts 
end 

... et il obtient toujours la même erreur.

Est-ce que quelque chose a changé sur le site Oracle que le téléchargement de JDK ne fonctionne plus? Ou dois-je définir un pare-feu ou quelque chose?

+1

J'ai entendu dire qu'Oracle a récemment changé quelque chose, et il pourrait bien avoir cassé les téléchargements automatisés. Il est peu probable que ce soit un problème de pare-feu. –

+0

J'espère qu'il y aura une autre façon de les télécharger alors ... Avez-vous peut-être la source de cette information? Je voudrais lire à ce sujet. – deem

Répondre

0

Oracle introduit de telles modifications de temps à autre, ce qui est malheureusement courant. Puisque rien ne peut être fait à ce sujet du point de vue d'un utilisateur régulier, la meilleure solution consiste à héberger vous-même les paquets et à modifier les attributs de vos noeuds pour qu'ils pointent vers cette source. C'est ce que je fais, avec les attributs qui cherchent quelque chose comme ça (pour Linux et une part de samba):

"java": { 
    "install_flavor": "oracle", 
    "jdk_version": "8", 
    "jdk" : { 
    "8" : { 
     "x86_64" : { 
     "url" : "file:///path/to/jdk-8u131-linux-x64.tar.gz", 
     "checksum": "the file's checksum" 
     } 
    } 
    } 
} 

De cette façon, les changements comme celle faite par Oracle ne sont plus problématiques.

+0

J'essaie d'écrire un livre de cuisine général pour installer Java - Je n'ai pas de serveur FTP visible pour tout le monde. Peut-être qu'il y a un moyen d'obtenir ces ressources? – deem