#author("2018-02-15T17:28:02+09:00","","") #author("2018-02-15T17:39:32+09:00","","") [[勉強会発表用メモ]] #contents * Linuxのオフラインインストールについて [#rff61d24] ** #define - 導入Tips [#j9904b36] (調べる必要のあること) *** メタTips①プレゼンストーリー [#dd4114e5] ・プレゼンストーリーのベストプラクティス *** 導入①作成したユーザのみのログイン許可 [#r526ce3e] ・一般ユーザの作成方法 ・sudi権限の許可 ・rootログインの不許可方法 *** メイン①rpmのオフラインインストール [#m2c93aed] ・rpmのオフラインインストール(その1:rpmを直接インストール) *** メイン②rpmのオフラインインストール [#ga064ef2] ・rpmのオフラインインストール(その2:レポジトリを作成してインストール) *** メイン③rpmのオフラインインストール [#k332f7ee] ・rpmのオフラインインストール(その3:ISOイメージから指定してインストール) ** #define - Stories [#l2048b93] *** <Linuxのオフラインインストールについての説明> [#o24822f7] 0.前振り ・前回の反省点 ・今回やること 1.導入 ** #define - Let's Promotion [#m623fdd6] *** <一般ユーザの作成> [#z6c32ecb] 1. *** <sudo権限の許可> [#u3551212] 1. *** <鍵の作成> [#v92275cd] 1.鍵の生成 公開カギ暗号方式で接続するため、鍵の生成を行う。書式と実行するコマンドは以下の通り。 ・書式 「ssh-keygen -t [暗号方式] -b [ビット数]」 ・コマンド $ ssh-keygen -t rsa -b 4096 ・設定値 (1)パスフレーズを聞かれるので、必要であれば設定する。今回はパスワードなしで設定する。 Enter passphrase (empty for no passphrase): <--- パスワードを入力 (2)パスフレーズの確認を求められるので、再度パスフレーズを入力する。 Enter same passphrase again: <--- 再度パスワードを入力 2.確認 以下のディレクトリにファイルが作成されていることを確認する。 ls -l ~/.ssh/ *** <rpmのオフラインインストール(その1:rpmを直接インストール)> [#e2987a93] + ログイン Teratermより、CentOS7x64にログインする。 + rpmのダウンロード $ curl [URL].[SoftwareName].rpm + rpmの移動 WinSCPを使用してrpmをオフライン環境に移動する + インストール # rpm -ivh [SoftWareName].rpm + インストール済みのアップデート # rpm -Uvh [SoftWareName].rpm + アンインストール # rpm -e [SoftWareName] + ほかのパッケージで使用されていても強制的にアンインストールする場合 # rpm -e [SoftWareName] + yum installコマンドを使用してインストール (yumコマンドは内部的にrpmコマンドを使用しているため、rpmパッケージを直接指定してインストール可能。GPG署名のないものは 【-nogpgcheck】コマンドを使用することでインストール可能。 ※GPG署名とはいわゆる電子署名のこと。ファイルが改ざんされていない、本人確認を保証する目的で使用される。GPG署名の作り方は今回はやらない。) #yum install [SoftwareURL].rpm + yum localinstallコマンドを使用してインストール # yum localinstall [Softwera_PATH].rpm ※こちらなら依存性のチェックもしてくれるらしい + インストールされたことをソフトウェアを実行して確認する *** <rpmのオフラインインストール(その2:レポジトリを作成してインストール)> [#p7ec3e1c] 上記ではrpm1ファイルごとインストールする流れだが、複数ダウンロードして一括に依存性を解決しながらインストールしたいならレポジトリ管理にしてインストールしたほうがよい。 + ログイン Teratermより、CentOS7x64にログインする。 + レポジトリの作成(ディレクトリ作成) mkdir /root/MyRepo + rpmのダウンロード $ yum install -y --downloadonly --downloadaddr==/root/MyRepo nginx + レポジトリを作成するツールのインストール(オンライン側) $ sudo yum install -y createrepo + インストールできれいることの確認 $createrepo --version + レポジトリの作成 $ createrepo /root/MyRepo/ + レポジトリだ作成されたことの確認(ディレクトリとファイルが作成されていること。) $ ls /root/MyRepo/repodata/ + 必要に応じてZip化 (今回はやらない) + rpmの移動 WinSCPを使用してMyRepoをオフライン環境に移動する + レポジトリ一覧の参照 yumが参照するリポジトリ一覧は、/etc/yum.repos.d/にあることを説明 $ ls /etc/yum.repos.d/ + レポジトリの参照追加 $ vim /etc/yum.repos.d/MyRepo.repo + 以下の内容を記載する [MyRepo] name=MyRepo baseurl=file:///root/MyRepo gpgcheck=0 + レポジトリ一覧の参照 $ ls /etc/yum.repos.d/ + ローカルリポジトリを用いたインストール $ which [SoftwareName] + MyRepoリポジトリを用いてnginxをインストール 一度レポジトリの参照をすべて無効にした後に、対象のレポジトリのみ読み込む指定をすることを説明 $ yum install -y --disablerepo=\* --enablerepo=MyRepo nginx + nginxをインストールできたことを確認 $ which [SoftWareName] + 実際にソフトウェアを起動して、インストールされていることを確認 $[SoftwareName] *** <rpmのオフラインインストール(その3:ISOイメージから指定してインストール)> [#maa8b061] *** <補足:オフライン上でUpdateをパッチの更新等を確認して、適用する方法(今回はISOイメージを参照して適用する)> [#d574dc13] *** <補足1:オフライン上でUpdateをパッチの更新等を確認して、適用する方法(今回はISOイメージを参照して適用する)> [#d574dc13] *** <補足2:今回はわかりやすさの為、WinSCPを使用したが、Linux間でscpコマンドを使用すればファイル転送できる> [#ebef2db9] +コマンド書式 $ scp [オプション] コピー元 コピー先 よく使うオプション: -C 通信を圧縮する -i 秘密鍵ファイル RSAまたはDSA認証の秘密鍵ファイルを指定する -P ポート番号 ポート番号を指定する -p オリジナルファイルの更新時間とモードを維持する -r ディレクトリ内を再帰的にコピーする -v プログレス情報を表示する -1 SSH1を使用する -2 SSH2を使用する -4 IPv4を使用する -6 IPv6を使用する +リモートホストからローカルにファイルをコピーする # ひとつのファイル「/home/user/file1」をコピーする例 $ scp user@192.168.10.1:/home/user/file1 ~/tmp # ワイルドカードで複数のファイルをコピーする例 $ scp user@192.168.10.1:/home/user/*.txt ~/tmp # 複数のファイルを、{}で囲んで「,」で区切り指定しコピーする例 $ scp user@192.168.10.1:/home/user/{file1,file2,file3} ~/tmp +ローカルからリモートホストにファイルをコピーする # scp コピー元ファイル ユーザ名@リモート・ホスト名:/リモート先のPATH $ scp ~/tmp/file1 user@192.168.10.1:/home/user/tmp/ +リモートホストから別のリモートホストにファイルをコピーする $ scp user1@192.168.10.1:/home/user/tmp/file1 user2@192.168.10.2:/home/user/tmp/ + ディレクトリごとコピーを行う $ scp -r user1@192.168.10.1:/home/user/tmp ~/tmp + 情報を保持したままコピーを行う $ scp -p -r user@192.168.10.1:/home/user/tmp ~/tmp # 複数のオプションは「-pr」のようにまとめてもよい $ scp -pr user@192.168.10.1:/home/user/tmp ~/tmp