---
title: "古いcompute-image-packagesからの新しいgoogle-compute-engine Packageへの移行方法 | grasys blog"
url: "https://blog.grasys.io/post/yusukeh/rpm-google-compute-engine/"
description: "こんにちは！grasys長谷川です！ Compute EngineにはGoogleが提供してくれているいくつかの管理Daemonがあります。 ある時期からそれがUpdateされ大幅な変更が入りました。 これ困ってる人いないのかな・・・ compute-image-packages github.com/GoogleC…"
---

# 古いcompute-image-packagesからの新しいgoogle-compute-engine Packageへの移行方法

-   ![](/_astro/noicon.CTHOhNiB_1HMs6A.webp)[yusukeh](/authors/yusukeh/)
-   公開日：2016年8月10日
-   カテゴリー：[Tech](/categories/tech/)
-   タグ：[#compute-image-packages](/tags/compute-image-packages/)[#Compute Engine](/tags/compute-engine/)[#Google Cloud](/tags/google-cloud/)

![古いcompute-image-packagesからの新しいgoogle-compute-engine Packageへの移行方法](/_astro/ogp.BmBz0FgG_87h7j.webp)

こんにちは！grasys長谷川です！

Compute EngineにはGoogleが提供してくれているいくつかの管理Daemonがあります。  
ある時期からそれがUpdateされ大幅な変更が入りました。

これ困ってる人いないのかな・・・

## compute-image-packages

[github.com/GoogleCloudPlatform/compute-image-packages](https://github.com/GoogleCloudPlatform/compute-image-packages)

## Daemons

[compute-image-packages - Daemons](https://github.com/GoogleCloudPlatform/compute-image-packages#daemons)

## Old

-   manage\_accounts
-   manage\_addresses
-   manage\_clock\_sync

ps)

Plain textcontent\_copy

```
/usr/bin/python /usr/share/google/google_daemon/manage_accounts.py
/usr/bin/python /usr/share/google/google_daemon/manage_addresses.py
/usr/bin/python /usr/share/google/google_daemon/manage_clock_sync.py
```

## New

-   google\_accounts\_daemon
-   google\_ip\_forwarding\_daemon
-   google\_clock\_skew\_daemon

ps)

Plain textcontent\_copy

```
/usr/bin/python /usr/bin/google_accounts_daemon
/usr/bin/python /usr/bin/google_clock_skew_daemon
/usr/bin/python /usr/bin/google_ip_forwarding_daemon
```

## Upgradeする方法

**公式な方法じゃありませんのであしからず！責任取れません！ｗ**

正常にupgradeできてるかはわからないけど一応今のところ正常に稼働しているので大丈夫かな・・・

今回新しくyum repoが提供されるようになりました。

詳細は以下  
[compute-image-packages - Package Distribution](https://github.com/GoogleCloudPlatform/compute-image-packages#package-distribution)

対応方法が書いてあります。  
今回は古い方がニーズがありそうなのでCentOS6ベースで書きます。

### yum repository file

Plain textcontent\_copy

```
DIST=6
tee /etc/yum.repos.d/google-cloud.repo << EOM
[google-cloud-compute]
name=Google Cloud (GCP) Compute
baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-compute-el${DIST}-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM
```

> _Google Documentのコピペっす・・・rootでやるなりsudoするなりしてください・・・すいませんｗ_

`/etc/yum.repos.d/google-cloud.repo`これがyumのrepositoryファイルです。

### yum cache clean

yumのcacheあると邪魔かもしれないので適当にcache cleanしときます。

Plain textcontent\_copy

```
$ sudo yum clean all
```

### 古いrpmが入ってるか確認

Plain textcontent\_copy

```
$ sudo rpm -qa | grep google
```

以下のPackageが入ってたら古い！

-   google-compute-daemon
-   google-startup-scripts

古いrpmの削除

Plain textcontent\_copy

```
$ sudo rpm -e google-compute-daemon
$ sudo rpm -e google-startup-scripts
```

### 新しいrpmのInstall

徐ろに以下を叩く！

Plain textcontent\_copy

```
$ sudo yum install -y google-compute-engine google-compute-engine-init google-config
```

### 起動

Plain textcontent\_copy

```
$ sudo initctl start google-instance-setup
```

ps確認)

Plain textcontent\_copy

```
$ ps aux | grep google_

/usr/bin/python /usr/bin/google_accounts_daemon
/usr/bin/python /usr/bin/google_clock_skew_daemon
/usr/bin/python /usr/bin/google_ip_forwarding_daemon
```

initctl確認)

Plain textcontent\_copy

```
$ initctl status google-accounts-daemon
google-accounts-daemon start/running, process 2232
```

Plain textcontent\_copy

```
$ initctl status google-clock-skew-daemon
google-clock-skew-daemon start/running, process 2234
```

Plain textcontent\_copy

```
$ initctl status google-ip-forwarding-daemon
google-ip-forwarding-daemon start/running, process 2236
```

**ちなみに**

-   2016/08/10 現在 Googleから公式なUpgrade手法は出ていません。
-   manage\_accountsにはauthorized\_keysの生成時、極僅かな時間に発生する問題があります。
-   サポート投げるとインスタンスを新しいImageから作り直すようにアナウンスされます・・・ぉぃ

なのではやめに新しいものにしましょう！

## updateすると起きる可能性があるもの

pythonをsystem以外のものをinstallして使っている条件においてgcloudを上げると、もしかしたらgcloudが動かなくなる可能性があります。

その場合は以下で動作するようになると思います。

### 対処方1

Plain textcontent\_copy

```
sudo pip install google-compute-engine

or

sudo pip install --upgrade google-compute-engine
```

pipが入ってなかったら別途Installして下さい。

### 対処法2

gcloudはShell Scriptになっているので以下で確認

Plain textcontent\_copy

```
which gcloud
/usr/local/share/google/google-cloud-sdk/bin/gcloud
```

環境変数が存在しそれをセットすることで回避できる可能性もあります。

Plain textcontent\_copy

```
# <cloud-sdk-sh-preamble>
#
#  CLOUDSDK_ROOT_DIR            (a)  installation root dir
#  CLOUDSDK_PYTHON              (u)  python interpreter path
#  CLOUDSDK_PYTHON_ARGS         (u)  python interpreter arguments
#  CLOUDSDK_PYTHON_SITEPACKAGES (u)  use python site packages
#
# (a) always defined by the preamble
# (u) user definition overrides preamble
```

上記以外のパターンもありそう・・・  
もうかれこれ2年以上Compute Engine触ってきてるけど  
さすがに記憶がない・・・

**ぼやき**

CentOS6のSCL el6で提供されてる`python27-xxx`系のPackageに  
含まれるbinaryがなぜにlinkerがsharedなのか理解ができない・・・

## この記事を書いた人

[![](/_astro/yusukeh.BvUd2yKE_1mQ6Fp.webp)](/authors/yusukeh/)

### [yusukeh](/authors/yusukeh/)

Fly high. Think deep. Move fast. Go far.🦅

-   [X](https://x.com/yusukeh "X")
-   [GitHub](https://github.com/yusukeh "GitHub")
-   [Medium](https://medium.com/@yusukeh "Medium")
-   [Facebook](https://www.facebook.com/yusuke.exzm "Facebook")
-   [Instagram](https://www.instagram.com/yusukehasegawa/ "Instagram")
-   [LinkedIn](https://www.linkedin.com/in/hasegawa-yusuke-091b4164/ "LinkedIn")

[プロフィールと記事一覧](/authors/yusukeh/)
