

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

Linux 클라이언트 컴퓨터를 사용하여 Amazon Athena에 액세스하려면 Amazon Athena ODBC 드라이버가 필요합니다.

## Linux 시스템 사양
<a name="odbc-v2-driver-getting-started-linux-linux-system-requirements"></a>

드라이버를 설치하는 각 Linux 클라이언트 컴퓨터마다 다음 요구 사항을 만족해야 합니다.
+ 루트 액세스 권한이 있습니다.
+ 다음 배포판 중 하나를 사용:
  + RHEL(Red Hat Enterprise Linux) 7 또는 8
  + CentOS 7 또는 8
+ 100MB의 디스크 공간을 사용할 수 있습니다.
+ [unixODBC](https://www.unixodbc.org/) 버전 2.3.1 이상을 사용합니다.
+ [GNU C Library](https://www.gnu.org/software/libc/)(glibc) 버전 2.26 이상을 사용합니다.

## Linux에 ODBC 데이터 커넥터 설치
<a name="odbc-v2-driver-getting-started-linux-installing-the-odbc-data-connector-on-linux"></a>

다음 절차를 따라 Linux 운영 체제에 Amazon Athena ODBC 드라이버를 설치합니다.

**Linux에 Amazon Athena ODBC 드라이버 설치**

1. 다음 명령 중 하나를 입력합니다.

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

   또는

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

1. 설치가 완료되면 다음 명령 중 하나를 입력하여 드라이버가 설치되었는지 확인합니다.
   + 

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

     출력:

     ```
     amazon-athena-odbc-driver.x86_64 2.0.2.1-1.amzn2int installed
     ```
   + 

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

     출력:

     ```
     amazon-athena-odbc-driver-2.0.2.1-1.amzn2int.x86_64
     ```

## Linux에서 데이터 소스 이름 구성
<a name="odbc-v2-driver-getting-started-linux-configuring-a-data-source-name-on-linux"></a>

드라이버가 설치된 후 다음 위치에서 예제 `.odbc.ini` 및 `.odbcinst.ini` 파일을 찾을 수 있습니다.
+ `/opt/athena/odbc/ini/`.

여기에 있는 `.ini` 파일을 Amazon Athena ODBC 드라이버 및 DSN(데이터 소스 이름) 구성의 예제로 사용합니다.

**참고**  
기본적으로 ODBC 드라이버 관리자는 홈 디렉터리에 있는 숨겨진 구성 파일인 `.odbc.ini` 및 `.odbcinst.ini`를 사용합니다.

unixODBC를 사용하여 `.odbc.ini` 및 `.odbcinst.ini` 파일의 경로를 지정하려면 다음 단계를 수행합니다.

**unixODBC를 사용하여 ODBC `.ini` 파일 위치 지정**

1. 다음 예제와 같이 `ODBCINI`를 `odbc.ini` 파일의 전체 경로 및 파일 이름으로 설정합니다.

   ```
   export ODBCINI=/opt/athena/odbc/ini/odbc.ini
   ```

1. 다음 예제와 같이 `ODBCSYSINI`를 `odbcinst.ini` 파일이 포함된 디렉토리의 전체 경로로 설정합니다.

   ```
   export ODBCSYSINI=/opt/athena/odbc/ini
   ```

1. 다음 명령을 입력하여 unixODBC 드라이버 관리자 및 올바른 `odbc*.ini` 파일을 사용하고 있는지 확인합니다.

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

   샘플 출력

   ```
   unixODBC 2.3.1
   DRIVERS............: /opt/athena/odbc/ini/odbcinst.ini
   SYSTEM DATA SOURCES: /opt/athena/odbc/ini/odbc.ini
   FILE DATA SOURCES..: /opt/athena/odbc/ini/ODBCDataSources
   USER DATA SOURCES..: /opt/athena/odbc/ini/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/athena/odbc/logs/ # Path to store the log files. Permissions to the location are required. 
   
   [athena_odbc_test]
   Driver=/opt/athena/odbc/lib/libathena-odbc.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/athena/odbc/lib/libathena-odbc.so
   Setup=/opt/athena/odbc/lib/libathena-odbc.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.1.0.0/Linux/AmazonAthenaODBC-2.1.0.0.rpm) 
   +  [퍼블릭 키](https://downloads.athena.us-east-1.amazonaws.com/drivers/ODBC/v2.1.0.0/Linux/public_key.pem) 
   +  [Athena ODBC RPM 서명](https://downloads.athena.us-east-1.amazonaws.com/drivers/ODBC/v2.1.0.0/Linux/signature.bin) 

1. 디바이스에 Athena ODBC 드라이버, 퍼블릭 키 및 Athena ODBC RPM 서명을 다운로드합니다.

1. 다음 명령을 실행하여 ODBC 드라이버 서명을 확인합니다.

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

   확인을 통과하면 `Verified OK`와 유사한 메시지가 표시됩니다. 즉, 이제 Athena ODBC 드라이버를 설치할 수 있다는 뜻입니다.

   `Verification Failure` 메시지가 표시되고 실패한 경우는 RPM의 서명이 변조되었다는 뜻입니다. 1단계에서 언급한 세 파일이 모두 존재하고 경로가 올바르게 지정되어 있으며 다운로드한 후로 파일이 수정되지 않았는지 확인한 다음 확인 과정을 다시 시도하세요.