

# Linux
<a name="odbc-v2-driver-getting-started-linux"></a>

Amazon Athena へのアクセスに Linux クライアントコンピューターを使用する場合は、Amazon Athena ODBC ドライバーが必要です。

## Linux システム要件
<a name="odbc-v2-driver-getting-started-linux-linux-system-requirements"></a>

ドライバーをインストールする Linux コンピューターは、それぞれ以下の最小要件を満たしている必要があります。
+ ルートアクセス権がある。
+ 以下の Linux ディストリビューションのいずれかを使用している。
  + Amazon Linux 2023
  + Red Hat Enterprise Linux (RHEL) 9 以降。RHEL 9 では、Amazon Athena ODBC ドライバーバージョン 2.2.0.2 以降を使用してください。バージョン 2.1.0.0〜2.2.0.1 では、標準 RHEL 9 リポジトリで使用できない `GLIBCXX` シンボルバージョンが必要になるため、インストールに失敗することがあります。
+ 100 MB のディスク空き容量がある。
+ [unixODBC](https://www.unixodbc.org/) のバージョン 2.3.9 以降を使用している。
+ [GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) のバージョン 2.34 以降を使用している。

## Linux への ODBC データコネクタのインストール
<a name="odbc-v2-driver-getting-started-linux-installing-the-odbc-data-connector-on-linux"></a>

Linux オペレーティングシステムに Amazon Athena ODBC ドライバーをインストールするには、以下の手順を実行します。

**Amazon Athena ODBC ドライバーを Linux にインストールする**

1. 次のいずれかのコマンドを入力します。

   ```
   sudo rpm -Uvh AmazonAthenaODBC-2.X.Y.Z-x86_64.rpm
   ```

   または

   ```
   sudo yum --nogpgcheck localinstall AmazonAthenaODBC-2.X.Y.Z-x86_64.rpm
   ```

1. インストールが完了したら、以下のコマンドのいずれかを入力して、ドライバーがインストールされていることを確認します。
   + 

     ```
     yum list | grep amazon-athena-odbc-driver
     ```

     出力:

     ```
     amazon-athena-odbc-driver.x86_64 2.2.0.1-1.amzn2023 installed
     ```
   + 

     ```
     rpm -qa | grep amazon
     ```

     出力:

     ```
     amazon-athena-odbc-driver-2.2.0.1-1.amzn2023.x86_64
     ```

## Linux でのデータソース名の設定
<a name="odbc-v2-driver-getting-started-linux-configuring-a-data-source-name-on-linux"></a>

ドライバーがインストールされると、以下の場所に `odbc.ini.example` および `odbcinst.ini.example` のサンプルファイルを見つけることができます。
+ `/opt/amazon/athena-odbc/share/athena-odbc/`

サンプルファイルを設定ディレクトリにコピーし、`.example` 拡張機能を削除します。これらのファイルを、Amazon Athena ODBC ドライバーとデータソース名 (DSN) 設定の開始点として使用してください。

```
sudo mkdir -p /opt/amazon/athena-odbc/etc/athena-odbc
sudo cp /opt/amazon/athena-odbc/share/athena-odbc/odbc.ini.example /opt/amazon/athena-odbc/etc/athena-odbc/odbc.ini
sudo cp /opt/amazon/athena-odbc/share/athena-odbc/odbcinst.ini.example /opt/amazon/athena-odbc/etc/athena-odbc/odbcinst.ini
```

**注記**  
デフォルトで、ODBC ドライバーマネージャーはホームディレクトリにある隠し設定ファイル `.odbc.ini` と `.odbcinst.ini` を使用します。

unixODBC を使用して `odbc.ini` と `odbcinst.ini` ファイルへのパスを指定するには、次の手順を実行します。

**unixODBC を使用して ODBC `.ini` ファイルの場所を指定する**

1. 以下の例にあるように、`odbc.ini` ファイルのフルパスとファイル名に `ODBCINI` 設定します。

   ```
   export ODBCINI=/opt/amazon/athena-odbc/etc/athena-odbc/odbc.ini
   ```

1. 以下の例にあるように、`odbcinst.ini` のファイルが含まれるディレクトリのフルパスに `ODBCSYSINI` を設定します。

   ```
   export ODBCSYSINI=/opt/amazon/athena-odbc/etc/athena-odbc
   ```

1. 以下のコマンドを入力して、unixODBC ドライバーマネージャーと正しい `odbc*.ini` ファイルを使用していることを確認します。

   ```
   {{username}} % odbcinst -j
   ```

   サンプル出力

   ```
   unixODBC 2.3.1
   DRIVERS............: /opt/amazon/athena-odbc/etc/athena-odbc/odbcinst.ini
   SYSTEM DATA SOURCES: /opt/amazon/athena-odbc/etc/athena-odbc/odbc.ini
   FILE DATA SOURCES..: /opt/amazon/athena-odbc/etc/athena-odbc/ODBCDataSources
   USER DATA SOURCES..: /opt/amazon/athena-odbc/etc/athena-odbc/odbc.ini
   SQLULEN Size.......: 8
   SQLLEN Size........: 8
   SQLSETPOSIROW Size.: 8
   ```

1. データソース名 (DSN) を使用してデータストアに接続する場合は、`odbc.ini` ファイルを設定してデータソース名 (DSN) を定義します。以下の例にあるように、`odbc.ini` ファイルのプロパティを設定して、データストアの接続情報を指定する DSN を作成します。

   ```
   [ODBC Data Sources]
   athena_odbc_test=Amazon Athena ODBC (x64)
   
   [ATHENA_WIDE_SETTINGS]  # Special DSN-name to signal driver about logging configuration.
   LogLevel=0              # To enable ODBC driver logs, set this to 1.
   UseAwsLogger=0          # To enable AWS-SDK logs, set this to 1.
   LogPath=/opt/amazon/athena-odbc/logs/ # Path to store the log files. Permissions to the location are required.
   
   [athena_odbc_test]
   Driver=/opt/amazon/athena-odbc/lib/libathenaodbc.so
   AwsRegion=us-west-1
   Workgroup=primary
   Catalog=AwsDataCatalog
   Schema=default
   AuthenticationType=IAM Credentials
   UID=
   PWD=
   S3OutputLocation=s3://amzn-s3-demo-bucket/
   ```

1. 以下の例にあるように、`odbcinst.ini` ファイルを設定します。

   ```
   [ODBC Drivers]
   Amazon Athena ODBC (x64)=Installed
   
   [Amazon Athena ODBC (x64)]
   Driver=/opt/amazon/athena-odbc/lib/libathenaodbc.so
   Setup=/opt/amazon/athena-odbc/lib/libathenaodbc.so
   ```

1. Amazon Athena ODBC ドライバーをインストールして設定したら、以下の例にあるように、unixODBC `isql` コマンドラインツールを使用して接続を確認します。

   ```
   {{username}} % isql -v "athena_odbc_test" 
   +---------------------------------------+
   | Connected!                            |
   |                                       |
   | sql-statement                         |
   | help [tablename]                      |
   | quit                                  |
   |                                       |
   +---------------------------------------+
   SQL>
   ```

## ODBC ドライバーの署名を確認する
<a name="verify-odbc-linux-signature"></a>

**重要**  
Athena ODBC ドライバーの RPM 署名をマシンにインストールする前に検証することをお勧めします。

Athena ODBC ドライバー RPM パッケージの署名を確認するには、次の手順に従います。

1. **テンプレートを準備する**

   適切なパブリックキー、RPM 署名、および Amazon S3 バケットでホストされている RPM スクリプトへの対応するアクセスリンクを使用してコマンドを準備します。デバイスに以下をダウンロードする必要があります。
   +  [Athena ODBC ドライバー](https://downloads.athena.us-east-1.amazonaws.com/drivers/ODBC/v2.2.0.1/Linux/AmazonAthenaODBC-2.2.0.1-x86_64.rpm) 
   +  [パブリックキー](https://downloads.athena.us-east-1.amazonaws.com/drivers/ODBC/v2.2.0.1/Linux/public_key.pem) 
   +  [Athena ODBC RPM 署名](https://downloads.athena.us-east-1.amazonaws.com/drivers/ODBC/v2.2.0.1/Linux/signature.bin) 

1. Athena ODBC ドライバー、パブリックキー、および Athena ODBC RPM 署名をデバイスにダウンロードします。

1. 次のコマンドを実行して、ODBC ドライバーの署名を検証します。

   ```
   openssl dgst -sha256 -verify public_key.pem -signature signature.bin AmazonAthenaODBC-2.2.0.1-x86_64.rpm
   ```

   検証に成功すると、`Verified OK` のようなメッセージが表示されます。これで、Athena ODBC ドライバーのインストールに進むことができます。

   `Verification Failure` のメッセージで失敗した場合、RPM の署名が改ざんされたことを意味します。ステップ 1 で説明した 3 つのファイルがすべて存在し、パスが正しく指定され、ダウンロード後にファイルが変更されていないことを確認し、検証プロセスを再試行してください。