水曜日, 10月 21, 2009

【Amazon EC2】JAVAのインストール方法 (Linux編)

今回はAmazon EC2のLinuxOSインスタンスへのJAVAのインストール方法です。
Amazon EC2上でEC2のコマンドを実行する為に必要になります。

以下の手順で行ないます。

  1. JAVAを自分のPCにダウンロード。今回が「JDK 6 Update 16」を。
  • (2) PlatformにLinuxを選択しライセンスに同意し「Continue」を選択。

  • (3) 自己解凍RPMファイルであるjdk-XXXX-linux-XXXX-rmp.binを選択。

  1. インスタンスにログイン。
    (手順は『【Amazon EC2】SSH経由でTelnet』を参照してください。)
  1. JAVAをインストールするディレクトリをインスタンスへ作成します。
    今回は/usr/javaというディレクトリを用意します。以下のコマンドを実行して下さい。

    # mkdir /usr/java
    
  1. 次にダウンロードした自己解凍RPMファイルを先ほどインスタンスに用意した/usr/javaへ転送します。(転送手順は『 【Amazon EC2】SSH経由でのファイル転送方法』を参照してください。)
  1. 次にJAVAをインストールします。/usr/javaで以下のコマンドを実行してください。
    (今回はjdk-6u16-linux-i586-rpm.binをダウンロードしたので、その例です。)

    # cd /usr/java
    # chmod a+x jdk-6u16-linux-i586-rpm.bin・・★自己解凍RPMファイルに実行する権限を与えます
    # ./jdk-6u16-linux-i586-rpm.bin ・・・・・★インストール実行
    


    インストールが始まると、
  • (1) たくさん表示されますがEnterを押し続け
  • (2)「Do you agree to the above license terms?」のライセンス同意の質問に同意後「yes」を入力
  • (3)「Press Enter to continue.」と表示されたらEnterを押下してください。
    (実行状況)


    Sun Microsystems, Inc. Binary Code License Agreement
    for the JAVA SE DEVELOPMENT KIT (JDK), VERSION 6
    SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE
    SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION
    THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY
    CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS
    (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT
    CAREFULLY.  BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT
    YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE 
    AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER 
    LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL 
    AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF 
    YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH 
    TO BE BOUND BY THE TERMS, THEN YOU MUST NOT USE THE
    SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE 
    SOFTWARE IS CONTAINED.
    
    1. DEFINITIONS. "Software" means the identified above in
    binary form, any other machine readable materials
    (including, but not limited to, libraries, source files,
    header files, and data files), any updates or error
    corrections provided by Sun, and any user manuals,
    programming guides and other documentation provided to you
    by Sun under this Agreement.  "General Purpose Desktop
    Computers and Servers" means computers, including desktop
    and laptop computers, or servers, used for general
    computing functions under end user control (such as but not
    specifically limited to email, general purpose Internet
    browsing, and office suite productivity tools).
    The use of Software in systems and solutions that provide
    dedicated functionality (other than as mentioned above) or
    designed for use in embedded or function-specific software
    applications, for example but not limited to: Software
    embedded in or bundled with industrial control systems,
    wireless mobile telephones, wireless handheld devices,
    netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics 
    and network control switching equipment, printers and 
    storage management systems, and other related systems are 
    excluded from this definition and not licensed under this
    Agreement.  "Programs" means Java technology applets and
    applications intended to run on the Java Platform Standard
    Edition (Java SE) platform on Java-enabled General Purpose
    Desktop Computers and Servers.
    
    2. LICENSE TO USE. Subject to the terms and conditions of
    this Agreement, including, but not limited to the Java
    Technology Restrictions of the Supplemental License Terms,
    Sun grants you a non-exclusive, non-transferable, limited
    license without license fees to reproduce and use
    internally Software complete and unmodified for the sole
    purpose of running Programs. Additional licenses for
    developers and/or publishers are granted in the
    Supplemental License Terms.
    
    3. RESTRICTIONS. Software is confidential and copyrighted.
    Title to Software and all associated intellectual property
    rights is retained by Sun and/or its licensors. Unless
    enforcement is prohibited by applicable law, you may not
    modify, decompile, or reverse engineer Software. You
    acknowledge that Licensed Software is not designed or
    intended for use in the design, construction, operation or
    maintenance of any nuclear facility. Sun Microsystems, Inc.
    disclaims any express or implied warranty of fitness for
    such uses. No right, title or interest in or to any
    trademark, service mark, logo or trade name of Sun or its
    licensors is granted under this Agreement. Additional
    restrictions for developers and/or publishers licenses are
    set forth in the Supplemental License Terms.
    
    4. LIMITED WARRANTY. Sun warrants to you that for a period
    of ninety (90) days from the date of purchase, as evidenced
    by a copy of the receipt, the media on which Software is
    furnished (if any) will be free of defects in materials and
    workmanship under normal use. Except for the foregoing,
    Software is provided "AS IS". Your exclusive remedy and
    Sun's entire liability under this limited warranty will be
    at Sun's option to replace Software media or refund the fee
    paid for Software. Any implied warranties on the Software
    are limited to 90 days. Some states do not allow
    limitations on duration of an implied warranty, so the
    above may not apply to you. This limited warranty gives you
    specific legal rights. You may have others, which vary from
    state to state.
    
    5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS
    AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
    REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
    WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE
    EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY
    INVALID.
    
    6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY
    LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
    ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT,
    CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
    OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE,
    EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    DAMAGES. In no event will Sun's liability to you, whether
    in contract, tort (including negligence), or otherwise,
    exceed the amount paid by you for Software under this
    Agreement. The foregoing limitations will apply even if the
    above stated warranty fails of its essential purpose. Some
    states do not allow the exclusion of incidental or
    consequential damages, so some of the terms above may not
    be applicable to you.
    
    7. TERMINATION. This Agreement is effective until
    terminated. You may terminate this Agreement at any time by
    destroying all copies of Software. This Agreement will
    terminate immediately without notice from Sun if you fail
    to comply with any provision of this Agreement. Either
    party may terminate this Agreement immediately should any
    Software become, or in either party's opinion be likely to
    become, the subject of a claim of infringement of any
    intellectual property right. Upon Termination, you must
    destroy all copies of Software.
    
    8. EXPORT REGULATIONS. All Software and technical data
    delivered under this Agreement are subject to US export
    control laws and may be subject to export or import
    regulations in other countries. You agree to comply
    strictly with all such laws and regulations and acknowledge
    that you have the responsibility to obtain such licenses to
    export, re-export, or import as may be required after
    delivery to you.
    
    9. TRADEMARKS AND LOGOS. You acknowledge and agree as
    between you and Sun that Sun owns the SUN, SOLARIS, JAVA,
    JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS,
    JAVA, JINI, FORTE, and iPLANET-related trademarks, service
    marks, logos and other brand designations ("Sun Marks"),
    and you agree to comply with the Sun Trademark and Logo
    Usage Requirements currently located at
    http://www.sun.com/policies/trademarks. Any use you make of
    the Sun Marks inures to Sun's benefit.
    
    10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being
    acquired by or on behalf of the U.S. Government or by a
    U.S. Government prime contractor or subcontractor (at any
    tier), then the Government's rights in Software and
    accompanying documentation will be only as set forth in
    this Agreement; this is in accordance with 48 CFR 227.7201
    through 227.7202-4 (for Department of Defense (DOD)
    acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
    acquisitions).
    
    11. GOVERNING LAW. Any action related to this Agreement
    will be governed by California law and controlling U.S.
    federal law. No choice of law rules of any jurisdiction
    will apply.
    
    12. SEVERABILITY. If any provision of this Agreement is
    held to be unenforceable, this Agreement will remain in
    effect with the provision omitted, unless omission would
    frustrate the intent of the parties, in which case this
    Agreement will immediately terminate.
    
    13. INTEGRATION. This Agreement is the entire agreement
    between you and Sun relating to its subject matter. It
    supersedes all prior or contemporaneous oral or written
    communications, proposals, representations and warranties
    and prevails over any conflicting or additional terms of
    any quote, order, acknowledgment, or other communication
    between the parties relating to its subject matter during
    the term of this Agreement. No modification of this
    Agreement will be binding, unless in writing and signed by
    an authorized representative of each party.
    
    SUPPLEMENTAL LICENSE TERMS
    
    These Supplemental License Terms add to or modify the terms
    of the Binary Code License Agreement. Capitalized terms not
    defined in these Supplemental Terms shall have the same
    meanings ascribed to them in the Binary Code License
    Agreement . These Supplemental Terms shall supersede any
    inconsistent or conflicting terms in the Binary Code
    License Agreement, or in any license contained within the
    Software.
    
    A. Software Internal Use and Development License Grant.
    Subject to the terms and conditions of this Agreement and
    restrictions and exceptions set forth in the Software
    "README" file incorporated herein by reference, including,
    but not limited to the Java Technology Restrictions of
    these Supplemental Terms, Sun grants you a non-exclusive,
    non-transferable, limited license without fees to reproduce
    internally and use internally the Software complete and
    unmodified for the purpose of designing, developing, and
    testing your Programs.
    
    B. License to Distribute Software. Subject to the terms and
    conditions of this Agreement and restrictions and
    exceptions set forth in the Software README file,
    including, but not limited to the Java Technology
    Restrictions of these Supplemental Terms, Sun grants you a
    non-exclusive, non-transferable, limited license without
    fees to reproduce and distribute the Software, provided
    that (i) you distribute the Software complete and
    unmodified and only bundled as part of, and for the sole
    purpose of running, your Programs, (ii) the Programs add
    significant and primary functionality to the Software,
    (iii) you do not distribute additional software intended to
    replace any component(s) of the Software, (iv) you do not
    remove or alter any proprietary legends or notices
    contained in the Software, (v) you only distribute the
    Software subject to a license agreement that protects Sun's
    interests consistent with the terms contained in this
    Agreement, and (vi) you agree to defend and indemnify Sun
    and its licensors from and against any damages, costs,
    liabilities, settlement amounts and/or expenses (including
    attorneys' fees) incurred in connection with any claim,
    lawsuit or action by any third party that arises or results
    from the use or distribution of any and all Programs and/or
    Software.
    
    C. License to Distribute Redistributables. Subject to the
    terms and conditions of this Agreement and restrictions and
    exceptions set forth in the Software README file, including
    but not limited to the Java Technology Restrictions of
    these Supplemental Terms, Sun grants you a non-exclusive,
    non-transferable, limited license without fees to reproduce
    and distribute those files specifically identified as
    redistributable in the Software "README" file
    ("Redistributables") provided that: (i) you distribute the
    Redistributables complete and unmodified, and only bundled
    as part of Programs, (ii) the Programs add significant and
    primary functionality to the Redistributables, (iii) you do
    not distribute additional software intended to supersede
    any component(s) of the Redistributables (unless otherwise
    specified in the applicable README file), (iv) you do not
    remove or alter any proprietary legends or notices
    contained in or on the Redistributables, (v) you only
    distribute the Redistributables pursuant to a license
    agreement that protects Sun's interests consistent with the
    terms contained in the Agreement, (vi) you agree to defend
    and indemnify Sun and its licensors from and against any
    damages, costs, liabilities, settlement amounts and/or
    expenses (including attorneys' fees) incurred in connection
    with any claim, lawsuit or action by any third party that
    arises or results from the use or distribution of any and
    all Programs and/or Software.
    
    D. Java Technology Restrictions.  You may not create,
    modify, or change the behavior of, or authorize your
    licensees to create, modify, or change the behavior of,
    classes, interfaces, or subpackages that are in any way
    identified as "java", "javax", "sun" or similar convention
    as specified by Sun in any naming convention designation.
    
    E. Distribution by Publishers. This section pertains to
    your distribution of the Software with your printed book or
    magazine (as those terms are commonly used in the industry)
    relating to Java technology ("Publication"). Subject to and
    conditioned upon your compliance with the restrictions and
    obligations contained in the Agreement, in addition to the
    license granted in Paragraph 1 above, Sun hereby grants to
    you a non-exclusive, nontransferable limited right to
    reproduce complete and unmodified copies of the Software on
    electronic media (the "Media") for the sole purpose of
    inclusion and distribution with your Publication(s),
    subject to the following terms: (i) You may not distribute
    the Software on a stand-alone basis; it must be distributed
    with your Publication(s); (ii) You are responsible for
    downloading the Software from the applicable Sun web site;
    (iii) You must refer to the Software as JavaTM SE
    Development Kit 6; (iv) The Software must be reproduced in
    its entirety and without any modification whatsoever
    (including, without limitation, the Binary Code License and
    Supplemental License Terms accompanying the Software and
    proprietary rights notices contained in the Software);
    (v) The Media label shall include the following
    information: Copyright 2006, Sun Microsystems, Inc. All
    rights reserved. Use is subject to license terms. Sun, Sun
    Microsystems, the Sun logo, Solaris, Java, the Java Coffee
    Cup logo, J2SE, and all trademarks and logos based on Java
    are trademarks or registered trademarks of Sun
    Microsystems, Inc. in the U.S. and other countries. This
    information must be placed on the Media label in such a
    manner as to only apply to the Sun Software; (vi) You must
    clearly identify the Software as Sun's product on the Media
    holder or Media label, and you may not state or imply that
    Sun is responsible for any third-party software contained
    on the Media; (vii) You may not include any third party
    software on the Media which is intended to be a replacement
    or substitute for the Software; (viii) You shall indemnify
    Sun for all damages arising from your failure to comply
    with the requirements of this Agreement. In addition, you
    shall defend, at your expense, any and all claims brought
    against Sun by third parties, and shall pay all damages
    awarded by a court of competent jurisdiction, or such
    settlement amount negotiated by you, arising out of or in
    connection with your use, reproduction or distribution of
    the Software and/or the Publication. Your obligation to
    provide indemnification under this section shall arise
    provided that Sun: (a) provides you prompt notice of the
    claim; (b) gives you sole control of the defense and
    settlement of the claim; (c) provides you, at your expense,
    with all available information, assistance and authority to
    defend; and (d) has not compromised or settled such claim
    without your prior written consent; and (ix) You shall
    provide Sun with a written notice for each Publication;
    such notice shall include the following information: (1)
    title of Publication, (2) author(s), (3) date of
    Publication, and (4) ISBN or ISSN numbers. Such notice
    shall be sent to Sun Microsystems, Inc., 4150 Network
    Circle, M/S USCA12-110, Santa Clara, California 95054,
    U.S.A , Attention: Contracts Administration.
    
    F. Source Code. Software may contain source code that,
    unless expressly licensed for other purposes, is provided
    solely for reference purposes pursuant to the terms of this
    Agreement. Source code may not be redistributed unless
    expressly provided for in this Agreement.
    
    G. Third Party Code. Additional copyright notices and
    license terms applicable to portions of the Software are
    set forth in the THIRDPARTYLICENSEREADME.txt file. In
    addition to any terms and conditions of any third party
    opensource/freeware license identified in the
    THIRDPARTYLICENSEREADME.txt file, the disclaimer of
    warranty and limitation of liability provisions in
    paragraphs 5 and 6 of the  Binary Code License Agreement
    shall apply to all Software in this distribution.
    
    H. Termination for Infringement. Either party may terminate
    this Agreement immediately should any Software become, or
    in either party's opinion be likely to become, the subject
    of a claim of infringement of any intellectual property
    right.
    
    I. Installation and Auto-Update.  The Software's
    installation and auto-update processes transmit a limited
    amount of data to Sun (or its service provider) about those
    specific processes to help Sun understand and optimize
    them.  Sun does not associate the data with personally
    identifiable information.  You can find more information
    about the data Sun collects at http://java.com/data/.
    
    For inquiries please contact: Sun Microsystems, Inc., 4150
    Network Circle, Santa  Clara, California 95054, U.S.A.
    
    Please enter "yes" or "no".
    Do you agree to the above license terms? [yes or no]
    yes・・・・・・・・・・・・★ライセンス同意後yes入力
    Unpacking...
    Checksumming...
    Extracting...
    UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
      inflating: jdk-6u16-linux-i586.rpm  
      inflating: sun-javadb-common-10.4.2-1.1.i386.rpm  
      inflating: sun-javadb-core-10.4.2-1.1.i386.rpm  
      inflating: sun-javadb-client-10.4.2-1.1.i386.rpm  
      inflating: sun-javadb-demo-10.4.2-1.1.i386.rpm  
      inflating: sun-javadb-docs-10.4.2-1.1.i386.rpm  
      inflating: sun-javadb-javadoc-10.4.2-1.1.i386.rpm  
    Preparing...                ########################################### [100%]
       1:jdk                    ########################################### [100%]
    Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        tools.jar...
        localedata.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
    Installing JavaDB
    Preparing...                ########################################### [100%]
       1:sun-javadb-common      ########################################### [ 17%]
       2:sun-javadb-core        ########################################### [ 33%]
       3:sun-javadb-client      ########################################### [ 50%]
       4:sun-javadb-demo        ########################################### [ 67%]
       5:sun-javadb-docs        ########################################### [ 83%]
       6:sun-javadb-javadoc     ########################################### [100%]
    
    Java(TM) SE Development Kit 6 successfully installed.
    
    Product Registration is FREE and includes many benefits:
    * Notification of new versions, patches, and updates
    * Special offers on Sun products, services and training
    * Access to early releases and documentation
    
    Product and system data will be collected. If your configuration
    supports a browser, the Sun Product Registration form for 
    the JDK will be presented. If you do not register, none of
    this information will be saved. You may also register your
    JDK later by opening the register.html file (located in 
    the JDK installation directory) in a browser.
    
    For more information on what data Registration collects and 
    how it is managed and used, see:
    http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
    
    Press Enter to continue.....・・・・・★Enter押下
    
    
    Done.
    

  1. JAVAがインストールされたかlsコマンドで確認します。

    # ls
    default
    latest sun-javadb-demo-10.4.2-1.1.i386.rpm
    jdk-6u16-linux-i586-rpm.bin  sun-javadb-client-10.4.2-1.1.i386.rpm  sun-javadb-docs-10.4.2-1.1.i386.rpm
    jdk-6u16-linux-i586.rpm      sun-javadb-common-10.4.2-1.1.i386.rpm  sun-javadb-javadoc-10.4.2-1.1.i386.rpm
    jdk1.6.0_16                  sun-javadb-core-10.4.2-1.1.i386.rpm
    
  1. インストールされたので自己解凍RPMファイルを削除します。

    # rm jdk-6u16-linux-i586-rpm.bin
    rm: remove regular file `jdk-6u16-linux-i586-rpm.bin'? y
    
  1. 解凍展開されたrmpファイルも不要なので削除します。

    # rm *.rpm
    rm: remove regular file `jdk-6u16-linux-i586.rpm'? y
    rm: remove regular file `sun-javadb-client-10.4.2-1.1.i386.rpm'? y
    rm: remove regular file `sun-javadb-common-10.4.2-1.1.i386.rpm'? y
    rm: remove regular file `sun-javadb-core-10.4.2-1.1.i386.rpm'? y
    rm: remove regular file `sun-javadb-demo-10.4.2-1.1.i386.rpm'? y
    rm: remove regular file `sun-javadb-docs-10.4.2-1.1.i386.rpm'? y
    rm: remove regular file `sun-javadb-javadoc-10.4.2-1.1.i386.rpm'? y
    
  1. 次にJAVAがどのディレクトリからも実行できるようにするための環境変数を設定します。
    シェルにより異なりますが、viエディタなどを使ってbashの場合、.bash_profileを編集します。

    (変更前)

    PATH=$PATH:$HOME/bin
    
    export PATH
    unset USERNAME
    

    (変更後)

    export JAVA_HOME=/usr/java/jdk1.6.0_16・・・★JAVA_HONEの設定
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin・・・・★JAVAへのPATH追加
    
    export PATH
    unset USERNAME
    
  1. 次にJAVAが実行できるか確認します。
    以下のコマンドを実行して下さい。

    # . .bash_profile ・・・★編集したbash_profileを有効化。(*1)
    # java -version ・・・・★JAVAのバージョンを確認。
    
    (*1 :再度、ログインしなおした場合、本操作は不要です。)

    バージョンが下記のように表示されればOKです。

    java version "1.6.0_16"
    Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
    Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
    
    以上でJAVAのセットアップは終了です。

今回はEC2上のインスタンスへJAVAをインストーラしましたが、
ローカルLinuxマシンへのインストール手順も同じです。