Ubuntu
Chef 升級後刪除了 chef-solo 二進製文件,重新安裝後返回
我正在為 ubuntu trusty 設置伺服器配置,該配置必須與使用 chef-solo 的節點配置兼容。
這是在 AWS EC2 中,基本節點來自https://cloud-images.ubuntu.com/locator/ec2/中的官方 ubuntu 儲存庫
此基礎映像已包含 chef v11.6.2-1.ubuntu.13.04,並且可以使用 chef-solo 二進製文件。好的。
但是在將 chef 包升級到 v11.8.2-2 時,chef-solo 二進製文件以及其他一些 chef 二進製文件就消失了。如果我刪除並再次安裝相同的軟體包(或重新安裝),它們會再次出現。
$ dpkg -s chef | grep ^Version Version: 11.6.2-1.ubuntu.13.04 $ ls -1 /usr/bin | grep chef chef-apply chef-client chef-shell chef-solo $ sudo aptitude upgrade chef -y $ dpkg -s chef | grep ^Version Version: 11.8.2-2 $ ls /usr/bin | grep chef chef-service-manager chef-zero $ sudo aptitude reinstall chef -y $ dpkg -s chef | grep ^Version Version: 11.8.2-2 $ ls /usr/bin | grep chef chef-apply chef-client chef-service-manager chef-shell chef-solo chef-zero
並且刪除然後重新安裝的依賴項完全相同。
$ sudo aptitude remove chef The following packages will be REMOVED: chef chef-zero{u} erubis{u} ohai{u} ruby-diff-lcs{u} ruby-erubis{u} ruby-hashie{u} ruby-highline{u} ruby-ipaddress{u} ruby-json{u} ruby-mime-types{u} ruby-mixlib-authentication{u} ruby-mixlib-cli{u} ruby-mixlib-config{u} ruby-mixlib-log{u} ruby-mixlib-shellout{u} ruby-net-ssh{u} ruby-net-ssh-gateway{u} ruby-net-ssh-multi{u} ruby-rack{u} ruby-rest-client{u} ruby-sigar{u} ruby-systemu{u} ruby-yajl{u} 0 packages upgraded, 0 newly installed, 24 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 8,363 kB will be freed. $ sudo aptitude install chef The following NEW packages will be installed: chef chef-zero{a} erubis{a} ohai{a} ruby-diff-lcs{a} ruby-erubis{a} ruby-hashie{a} ruby-highline{a} ruby-ipaddress{a} ruby-json{a} ruby-mime-types{a} ruby-mixlib-authentication{a} ruby-mixlib-cli{a} ruby-mixlib-config{a} ruby-mixlib-log{a} ruby-mixlib-shellout{a} ruby-net-ssh{a} ruby-net-ssh-gateway{a} ruby-net-ssh-multi{a} ruby-rack{a} ruby-rest-client{a} ruby-sigar{a} ruby-systemu{a} ruby-yajl{a} 0 packages upgraded, 24 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/1,278 kB of archives. After unpacking 8,363 kB will be used.
安裝的二進製文件的唯一區別是,在 v11.6 上,它們是從 /usr/bin 到 /opt/chef/bin 的連結,但在 v11.8 中,二進製文件位於/usr/bin 中。
這很不方便,好像我在第一次執行 chef 時進行了升級,如果沒有手動干預,我將無法再執行 chef。
誰能幫我理解發生了什麼,我怎樣才能在廚師中升級這個包而不遇到這個問題?
PS:我知道我可以保留這個版本的 v11.6,但這不是我要問的。
如果您想順利升級,您需要從 downloads.chef.io 安裝我們的軟體包,而不是發行版軟體包。