ブログ

Armadilloをインターネットに接続できない場合のdebパッケージインストール方法

at_ito
2020年2月14日 16時55分

会社のセキュリティポリシー等で社内ネットワークにArmadilloを接続することができない場合があるかと思います。その際にはArmadillo上でaptコマンドを使用することができずパッケージをインストールする方法に困ります。

そういった場合の解決策としてATDE上でDebianパッケージをダウンロードし、USBメモリ/SDカード等でArmadilloにコピーし、Armadilloにdebパッケージをインストールする方法を紹介します。

1. 環境

このブログでは以下の環境でdebパッケージをインストールしました。

項目 内容
製品 Armadillo-640
ATDE ATDE7(※: インターネットへの接続ができる状態が必要)
Armadillo用Debianルートファイルシステム debian-stretch-armhf-a600-20190326.tar.gz
インストールしたパッケージ build-essential(※: 依存パッケージも含む)

今回は上記のようにArmadillo-640を使用しましたが、Debianを使用する製品であれば、他の製品でもルートファイルシステムを変更することで対応可能です。

2. ATDE上の環境構築

まずはATDE上でdebパッケージをダウンロードする環境を構築します。

事前にATDE上にArmadillo用のDebianルートファイルシステムをダウンロードしておいてください。

以下のコマンドを実行し、Armadillo用のDebianルートファイルシステムをATDEに展開してください。

[atde ~]$ ls
debian-stretch-armhf-a600-20190326.tar.gz
[atde ~]$ mkdir debian-stretch-armhf-a600-20190326
[atde ~]$ sudo tar zxf debian-stretch-armhf-a600-20190326.tar.gz -C debian-stretch-armhf-a600-20190326/

3. qemuを使用してARM用のDebian環境に移行する

以下のコマンドを実行し、ARM用のDebian環境に移行してください。

[atde ~]$ sudo cp /usr/bin/qemu-arm-static debian-stretch-armhf-a600-20190326/usr/bin/
[atde ~]$ sudo chroot debian-stretch-armhf-a600-20190326/

4. ARM用Debian環境でdebパッケージをダウンロード

以下のコマンドを実行し、例として「build-essential」をダウンロードし、ダウンロードしたdebパッケージのアーカイブを作成してください。

[qemu-arm ~]# apt-get update
[qemu-arm ~]# apt-get install -y build-essential
[qemu-arm ~]# cd /var/cache/apt/archives
[qemu-arm ~]# sudo tar zcf /packages.tar.gz *.deb
[qemu-arm ~]# exit
[atde ~]# ls debian-stretch-armhf-a600-20190326/packages.tar.gz
debian-stretch-armhf-a600-20190326/packages.tar.gz

5. Armadilloでdebパッケージをインストール

前述の手順で作成した「packages.tar.gz」ファイルをUSBメモリやmicroSDカードを使用して、Armadilloにコピーしてください。

Armadillo上で以下のコマンドを実行し、パッケージをインストールしてください。

[armadillo ~]# ls
packages.tar.gz
[armadillo ~]# mkdir packages
[armadillo ~]# tar zxf packages.tar.gz -C packages
[armadillo ~]# cd packages
[armadillo ~]# apt-get install -y ./*.deb

6. build-essentialパッケージがインストールされていることを確認

以下のコマンドを実行し、「build-essential」パッケージがインストールされていることを確認してください。

[armadillo ~]# dpkg -l | grep build-essential
ii  build-essential               12.3                         armhf        Informational list of build-essential packages