Kukla üzerinden Ubuntu'ya açık vm araçlarının kurulması; daha az kötülük nedir?


9

İdeal bir dünyada, kuklayı kurmak için yapılandırmak open-vm-toolsşu kadar basit olmalıdır:

class vm-tools {
    package { 'open-vm-tools':
        ensure => installed
    }
    package { 'open-vm-dkms':
        ensure => installed
    }
}

Ancak, bu çirkin bir bağımlılık kutusu sürünme açar; açıkça sunuculara ait olmayan X'i yükler. Ubuntu 10.04'ten itibaren, bu paketlerin her ikisi de open-vm-toolboxGUI araçlarının paketini önermektedir :

# apt-cache depends open-vm-dkms
open-vm-dkms
  Depends: dkms
  Depends: make
  Suggests: open-vm-toolbox
  Recommends: open-vm-tools

# apt-cache depends open-vm-tools
open-vm-tools
  Depends: libc6
  Depends: libfuse2
  Depends: libgcc1
  Depends: libglib2.0-0
  Depends: libicu44
  Depends: libstdc++6
  Recommends: open-vm-source
  Recommends: open-vm-toolbox
  Recommends: ethtool
  Recommends: zerofree

Önerilen paketler her zaman varsayılan olarak kurulur. "CLI Araçları" olarak tanımlanan bir paketi kurarken varsayılan olarak X bağımlılıklarının kurulması arzu edilmez.

Debian karşı özellik isteği hemen bu nedenle reddedildi, ancak soğutucu kafaları Ubuntu hakim olmadı . Görünüşe göre, geçen hafta, bunun tavsiye edilmeyen bir değişiklik olduğu konusunda bir miktar farkındalık var , ancak bir sonraki LTS sürümü dolana kadar bunun hiçbir faydası yok.

Tavsiye paketleri yüklemek için davranış kolayca yeterli olan komut satırında devre dışı --no-install-recommendsseçeneği, ancak kukla aracılığıyla bu iş için herhangi bir destek var ve bir karışık karmaşa ait biletler o destek talebinde 3 yıl içinde ileri gitmiş değil.

Diğer seçenek, tüm sistem boyunca önerilen paketleri devre dışı bırakmaktır apt.conf, bu da paket davranışında istediğimden daha fazla etkisi olan büyük bir değişikliktir.

Kendimi tembel bir şekilde yapmaya istifa ettim;

exec { 'open-vm-tools install':
    command => '/usr/bin/apt-get install -y --no-install-recommends open-vm-dkms open-vm-tools',
    creates => '/usr/lib/open-vm-tools',
}

Ama bu açıkça "yanlış yapıyor" . Tüm bunları olması gerektiği gibi çalıştıracak bir şey mi kaçırıyorum, yoksa bu sorun için en iyi hackish çözümü bu mu?

Yanıtlar:


3

Hata 1766 , yetenek sağlayıcısının önerilen paketleri yüklediğini, ancak yetenek sağlayıcısının yüklemediğini belirtti.

Bu doğruysa (bunu kendim doğrulamamıştım), aşağıdakiler daha temiz çalışabilir:

package { [ "open-vm-tools", "open-vm-dkms" ]:
  ensure   => installed,
  provider => apt,
}

Kukla Türü Referansı, "paket" bölümünden uyarlanmıştır .


Daha fazla araştırmanın ardından düzenleyin: apt sağlayıcısı Ubuntu ve Debian'da varsayılan olduğundan, bu paketler için yetenek sağlayıcısını kullanın ve ~/.aptitude/configroot için uygun bir öğe ekleyin .

package { [ "open-vm-tools", "open-vm-dkms" ]:
  ensure   => installed,
  provider => aptitude,
  require  => File["/root/.aptitude/config"];
}
file { "/root/.aptitude/config":
  ensure  => present,
  content => 'APT::Install-Recommends "0";';
}

Mükemmel değil, ama dev bir yürütme hattından daha özlü.


Böyle bir şans yok; x11-common ve tüm arkadaşları yüklendi. Bu hata raporu, apt sağlayıcısı ile davranışı kontrol etmek için eklenebilecek bir argüman olduğunu ima ediyor gibi görünüyor ... ancak bunun nasıl yapılması gerektiği hakkında herhangi bir bilgi bulamıyorum. Bu hata raporu eski olabilir, ancak en azından şu anda, aptsağlayıcı aslında Ubuntu ve Debian için varsayılan, bu dosyanın 13. satırına bakın .
Shane Madden

Yukarıdaki düzenlemeye bakın.
Mike Renfro

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.