Chef-Tool: Die Version muss bei der Installation von httpd erwähnt werden

3164
shekhar

Code, den ich geschrieben habe

[root@ns1 sysadmin]# cat installstarthttpd.rb  package' httpd'  service 'httpd' do action [:start, :enable] end  file '/var/www/html/index.html' do content ' <html> <title> Page from Chef </title> <body> <h1> Welcome Raja</h1> </body> </html> ' end  [root@ns1 sysadmin]#  

Und ich habe mit unterem Befehl ausgeführt und habe gerne Fehler bekommen

[root@ns1 sysadmin]# chef-apply installstarthttpd.rb Recipe: (chef-apply cookbook)::(chef-apply recipe) * package[ httpd] action install * No version specified, and no candidate version available for httpd ================================================================================ Error executing action `install` on resource 'package[ httpd]' ================================================================================  Chef::Exceptions::Package ------------------------- No version specified, and no candidate version available for httpd  Resource Declaration: --------------------- # In installstarthttpd.rb  1: package' httpd' 2:   Compiled Resource: ------------------ # Declared in installstarthttpd.rb:1:in `run_chef_recipe'  package(" httpd") do action :install retries 0 retry_delay 2 guard_interpreter :default package_name " httpd" timeout 900 cookbook_name "(chef-apply cookbook)" recipe_name "(chef-apply recipe)" end  [2014-10-14T01:10:18-04:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out [2014-10-14T01:10:18-04:00] FATAL: Chef::Exceptions::Package: package[ httpd] ((chef-apply cookbook)::(chef-apply recipe) line 1) had an error: Chef::Exceptions::Package: No version specified, and no candidate version available for httpd 

Ich habe das Protokoll auch gesehen

[root@ns1 sysadmin]# cat /var/chef/cache/chef-stacktrace.out  Generated at 2014-10-14 01:10:18 -0400 Chef::Exceptions::Package: package[ httpd] ((chef-apply cookbook)::(chef-apply recipe) line 1) had an error: Chef::Exceptions::Package: No version specified, and no candidate version available for httpd /opt/chefdk/embedded/apps/chef/lib/chef/mixin/why_run.rb:241:in `run' /opt/chefdk/embedded/apps/chef/lib/chef/mixin/why_run.rb:322:in `block in run' /opt/chefdk/embedded/apps/chef/lib/chef/mixin/why_run.rb:321:in `each' /opt/chefdk/embedded/apps/chef/lib/chef/mixin/why_run.rb:321:in `run' /opt/chefdk/embedded/apps/chef/lib/chef/provider.rb:135:in `process_resource_requirements' /opt/chefdk/embedded/apps/chef/lib/chef/provider.rb:111:in `run_action' /opt/chefdk/embedded/apps/chef/lib/chef/resource.rb:648:in `run_action' /opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:49:in `run_action' /opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:81:in `block (2 levels) in converge' /opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:81:in `each' /opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:81:in `block in converge' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection.rb:98:in `block in execute_each_resource' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:116:in `call' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:85:in `step' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index' /opt/chefdk/embedded/apps/chef/lib/chef/resource_collection.rb:96:in `execute_each_resource' /opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:80:in `converge' /opt/chefdk/embedded/apps/chef/lib/chef/application/apply.rb:144:in `run_chef_recipe' /opt/chefdk/embedded/apps/chef/lib/chef/application/apply.rb:153:in `run_application' /opt/chefdk/embedded/apps/chef/lib/chef/application/apply.rb:166:in `run' /opt/chefdk/embedded/apps/chef/bin/chef-apply:25:in `<top (required)>' /usr/bin/chef-apply:34:in `load' 

Bitte helfen Sie mir, fehlt mir etwas?

Vielen Dank.

2
kann mir jemand helfen? shekhar vor 9 Jahren 0

3 Antworten auf die Frage

0
aronchick

Das wahrscheinlichste Problem ist, dass Ihre Yum-Datenbank nicht aktualisiert wurde. Sie haben zwei Möglichkeiten:

  1. Aktualisieren Sie die YUM-Datenbank manuell auf Ihren Maschinen mit:

    sudo yum update –y 
  2. Erstellen Sie ein Chefrezept (oder eine Zeile in einem anderen Chefrezept), das die Yum-Datenbank aktualisiert, bevor Sie die restlichen Befehle ausführen. Sie können dies mit der folgenden Zeile tun:

    execute 'yum update -y' 
0
Cherry

Ich hatte das gleiche Problem. RedHat kann nicht httpdaus dem Repository herunterladen . Sie müssen CentOs-Base-Repo für RedHat konfigurieren.

  1. Erstellen Sie eine Datei centos-base.repo mit folgendem Inhalt in /etc/yum.repos.d(ändern Sie die Release-Version dieser Datei, der folgende Snapshot ist für Release-Version 6)

yum.repos.d

##################################################################### # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # #  [base] name=CentOS-6 - Base mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/6/os/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  #released updates [updates] name=CentOS-6 - Updates mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/6/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  #additional packages that may be useful [extras] name=CentOS-6 - Extras mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/6/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  #additional packages that extend functionality of existing packages [centosplus] name=CentOS-6 - Plus mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/6/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  #contrib - packages by Centos Users [contrib] name=CentOS-6 - Contrib mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/6/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6   ##################################################################### 
  1. Laden Sie den gpg-Schlüssel für Ihre Veröffentlichung von OS von der offiziellen Website von centos http://mirror.centos.org/centos/ herunter und verschieben Sie ihn auf/etc/pki/rpm-gpg/

    2.1 $ cd / etc / pki / rpm-gpg /

    2.2 $ wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

Wichtig

Überprüfen Sie auch Ihre Internetverbindung. Aus meiner Erfahrung "sieht" Linux manchmal kein Netzwerk mit Standardeinstellungen.

Hauptquelle

Originalquelle hier

0
Sameer Kulkarni

Entfernen Sie das Leerzeichen, das Sie vor dem Schreiben eines Paketnamens vor h eingefügt hatten. es sollte 'httpd' und nicht 'httpd' sein