一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

macOSに最新版のPythonをインストールする

毎度。一馬力です。

今日はmacOSに最新版のPythonをインストールしてみます。
macOSにはPython2.7が初めからインストールされていますが
本格的にPythonを使い始めるのであれば,最新版をインストールする事をオススメします

f:id:htbariki:20170504062921p:plain

お勉強にはプリインストール版で問題ないかもしれませんが
本気で作ったプログラム,バグや脆弱性に悩まされたくないですよね?

という事でインストール方法の紹介です。

目次


プリインストールPythonのバージョン確認

macOSにインストールされているPythonのバージョンを確認してみます。
バージョン確認のコマンドはpython -Vです

MacBookPro: MBPR$ python -V
Python 2.7.10
MacBookPro: MBPR$

デフォルトではPython 2.7.10がインストールされている事が分かります

最新版Pythonのダウンロード

Pythonのページ(https://www.python.org) > Downloadから
最新版のPythonがダウンロードできます

Pythonは2系,3系がありますが,今回はPython2.7.13を選択しています

f:id:htbariki:20170504062919p:plain

Pythonのインストール

ダウンロードしたインストーラ
python-2.7.13-macosx10.6.pkgを実行するとインストール開始です

あとは画面の指示にしたがって”続ける”クリック,クリック,クリックです

私の環境でインストールした際の画面をアップしておきます
参考にして下さい

f:id:htbariki:20170504062911p:plain f:id:htbariki:20170504062848p:plain f:id:htbariki:20170504062845p:plain f:id:htbariki:20170504062906p:plain f:id:htbariki:20170504062916p:plain

f:id:htbariki:20170504062857p:plain

f:id:htbariki:20170504062851p:plain f:id:htbariki:20170504062903p:plain f:id:htbariki:20170504062900p:plain

(参考)インストール完了後Launchpadに3つアイコンが増えてました

 Launchpadのアイコン

f:id:htbariki:20170504062909p:plain

Build Applet 実行画面

f:id:htbariki:20170504062854p:plain

IDLE 実行画面

f:id:htbariki:20170504062842p:plain

Python Launcher実行画面

f:id:htbariki:20170504062914p:plain f:id:htbariki:20170504062839p:plain

インストール後のバージョン

インストールが完了したら,最新版に更新されているか確認してみましょう。
バージョン確認のコマンドはpython -Vです

MacBookPro: MBPR$ python -V
Python 2.7.13
MacBookPro: MBPR$

無事インストール完了ですね。
みなさんもMacを使うなら”最高を最初から"ですよね?(ちょい古すぎ??)

以上でした。

試した環境

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0

MinecraftをPythonから操作する(2017/06/07更新)

毎度。一馬力です。

今日はMinecraftPythonから操作する話です。

Minecraftって楽しいですよね。
ブロックポチポチ置いて自分だけの世界を作って行く感じが素敵です。

(2017/6/7更新)

とりあえず,どんな感じで動くのか確認したい人は
この記事を参考にして下さい

サンプルスクリプト名・概要を一覧にまとめています

ichibariki.hatenablog.com

目次


概要図

MinecraftPythonから操作する環境のイメージは図の通りです。
この記事では下図の環境を作ってPythonからMinecraftの世界に
Hello World”する事を目標にします。

f:id:htbariki:20170503184527p:plain

必要なもの

Minecraft FORGEの導入

MinecraftでMOD(今回はRaspberry Jam Mod)を動かす前提としてFORGEを導入します

ダウンロードサイトのURLは
http://files.minecraftforge.net/#Downloads 
です。

 Minecraft FORGEのダウンロード

サイトにアクセスして自分の環境にあったファイルをダウンロードします。
一馬力の環境はmacOS,Minecraftのバージョンは1.11なので最新版をダウンロードしていきます

f:id:htbariki:20170503184509p:plain

 Minecraft FORGEのインストー

ダウンロードしたforge-1.11.2-13.20.0.2259-installer.jarを実行します。

注意:以下ポップアップが出力されたらJDKを導入して下さい
この記事執筆時の最新版はjdk-8u121-macosx-x64でした。

f:id:htbariki:20170503184512p:plain

インストール画面を記載しておきます。参考にして下さい

f:id:htbariki:20170503184533p:plain

f:id:htbariki:20170503184506p:plain

f:id:htbariki:20170503184522p:plain

Minecraft起動とFORGE導入確認

Minecraftを起動します。
起動オプションに導入したforgeが表示されている事を確認します

f:id:htbariki:20170503184536p:plain

”プレイ”ボタン右横の上矢印を選択してforgeをクリックします。

f:id:htbariki:20170503184538p:plain

デフォルトの”最新のバージョン”から選択したforgeに変更されていればOKです
”プレイ”ボタンを押してMinecraftを起動します

f:id:htbariki:20170503184529p:plain

起動完了して左下に”Powerd by Forge”が表示されてばインストール完了です。

f:id:htbariki:20170503184540p:plain

 Raspberry Jam Modのインストー

続いてMCPIと通信するためのMOD(Raspberry Jam Mod)をインストールしていきます

MODはgithubからダウンロードします

ダウンロードURL
https://github.com/arpruss/raspberryjammod/releases/tag/0.88.2

サイトからmod.zipをダウンロードします。

f:id:htbariki:20170503184545p:plain

ダウンロードしたファイル(zip)を展開すると下のような構成になっています。
インストールするバージョンにあわせてRaspberryJamMod.jarを選択します

f:id:htbariki:20170503184548p:plain

選択したRaspberryJamMod.jarをMinecraftのMod格納先に保存します。
MacOSの場合は

/Users/(ユーザー名)/Library/Application Support/minecraft/mods

となります。

※FinderでLibraryが表示されない場合
 Option キーを押しながら移動メニューをクリックすると表示されます

modの保管が完了したら,再度Minecraftを起動して
modが認識されているか確認します

f:id:htbariki:20170503184550p:plain

f:id:htbariki:20170503184558p:plain 上の画像のように表示されていれば,インストールは問題無く完了しています。

 MCPIの実行

MCPIのダウンロード

MCPIのダウンロードはRaspberry Jam Modと同じサイトからダウンロードします

ダウンロードURL
https://github.com/arpruss/raspberryjammod/releases/tag/0.88.2

サイトからpython-scripts.zipをダウンロードします。

f:id:htbariki:20170503184554p:plain

ダウンロードしたファイルを展開すると,”mcpipy”ディレクトができあがります
Minecraftと通信するためのPythonライブラリです。

 MCPIで"hello world"

Minecraft側の準備

Minecraftのフォーカスが外れた時,動作が止まってしまいます。
MCPIを利用してpythonプログラムを動作させるときは,ターミナルから実行するので
Minecraft側の準備が必要となります

Minecraftのワールドを実行したら,F3 + Pを押して下さい 画面上に”フォーカスが外れた時にポーズ:無効”が表示されてば成功です。

画面から外れてもワールドは実行されたままになります
f:id:htbariki:20170503184514p:plain

 プログラム作成

MCPIが保存されているディレクトリ(mcpipy)に移動して,pythonプログラムを記述します
今回は"Hello Minecraft World!”と表示させてみます

下のプログラムを記載してhello.pyのファイル名で保存して下さい

import mcpi.minecraft as minecraft

mc = minecraft.Minecraft.create()
mc.postToChat("Hello Minecraft World!")

 プログラムの実行

さてプログラムの準備が完了したら,ついに実行です
マインクラフトのワールドはフォーカスが外れてもポーズしない状態になっていますか?

先程準備したプログラムを実行してみましょう
ターミナルを開いて,”python hello.py”で実行です

プログラムを実行する

f:id:htbariki:20170503184524p:plain

Minecraftのワールドにメッセージが表示される

f:id:htbariki:20170503184518p:plain “Hello Minecraft World!”と表示されましたか?

おめでとうございます。これで,pythonプログラムからMinecraftの世界を操作できるようになりました!!

これから色々と試してみたいと思います

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0

Minecraft

Minecraft 1.11.2
Forge-1.11.2-13.20.0.2259
Raspberry Jam Mod 0.88
Python 2.7

CentOS7.2でctrl-alt-delは完全に無効化できないぞって話

毎度。一馬力です。

ctrl-alt-del!

バルス!!と同じくらいキケンなキーワードです

Windowsに慣れ親しんだ人たちは困った時,お世話になるコマンドだと思います。

ctrl-alt-del。これ同じIAマシン上で動作するLinuxサーバで入力しちゃうと

悲惨な結末がまってます。

そう、サーバの再起動です。

Linuxサーバを運用している皆さんの中には

ctrl-alt-delを無効化している人も多いのではないでしょうか?

今回はそのctrl-alt-del無効化がCentOS7.2,RHEL7.2では完全に動作しない!!

という話です。

目次


ctrl-alt-delを無効化する方法

まずはctrl-alt-delを無効化する方法
CentOS7では”systemctl”コマンドで無効化します。

設定コマンド

systemctl mask ctrl-alt-del.target

コマンド実行結果

[root@CentOS7 system]#  systemctl mask ctrl-alt-del.target
Created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.
[root@CentOS7 system]# pwd
/etc/systemd/system
[root@CentOS7 system]# ll
lrwxrwxrwx. 1 root root    9  2月  4 22:24 ctrl-alt-del.target -> /dev/null

ctrl-alt-delを入力し再起動されない事を確認

設定後早速”ctrl-alt-del”を入力して動作を確認してみます、、、、。
とは言ってもBlog上では動作確認の結果をうまく伝えられないので

tail -f /var/log/messages コマンドを実行した上で”ctrl-alt-del”を入力してみると。

[root@CentOS7 ~]# tail -f /var/log/messages
Feb  4 21:44:38 CentOS7 systemd: Failed to enqueue ctrl-alt-del.target job: Unit ctrl-alt-del.target is masked. ★
Feb  4 21:44:38 CentOS7 systemd: Received SIGINT.

しっかり”ctrl-alt-del”が無効化されているログが表示されますね。(上の★部分)

これでIAマシンのバルス(”ctrl-alt-del”)からサーバを守れたわけです。

ctrl-alt-delを連打–>サーバ再起動 T_T

注意:本番稼働中のサーバで実験しないで下さい

さて、”ctrl-alt-del”。一回入力した程度ではなんともなかったので
向きになって連打してみます。

連打です。”ctrl-alt-del”を押しっぱなしでしても良いかもしれません。
バルス祭りです。すると、、、。

、、、、。。。再起動しちゃいましたね、、、。

再起動時のログ

さて再起動時のログを確認してみると

Feb  4 21:44:40 CentOS7 systemd: Failed to enqueue ctrl-alt-del.target job: Unit ctrl-alt-del.target is masked.Feb  4 21:44:40 CentOS7 systemd: Received SIGINT.
Feb  4 21:44:40 CentOS7 systemd: Ctrl-Alt-Del was pressed more than 7 times within 2s, rebooting immediately. ★
Feb  4 21:44:40 CentOS7 systemd: Shutting down.

systemdさんから「2秒以内に7回”ctrl-alt-del”押されたから今すぐ再起動するね^^」(★部分)
という悲しいお知らせが、、。

何してくれてんだい!!って感じですね。
せっかくバルス(”ctrl-alt-del”)無効化したのに、意味ないじゃん!です。

 ”ctrl-alt-del”投入時の動作解析

こんにゃろっ!ってことで仕組みを調べてみましょう。

対象の確認

まずは,対象の確認から。
今回バルス(”ctrl-alt-del”)無効化がきかないのはCentOS7.2です。

[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@CentOS7 ~]# uname -a
Linux CentOS7 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@CentOS7 ~]#

解析

ログ(下の★部分)から,再起動するタイミングで
systemdさんからメッセージが出力されている事が分かります

Feb  4 21:44:40 CentOS7 systemd: Ctrl-Alt-Del was pressed more than 7 times within 2s, rebooting immediately. ★

自分でsystemdですって名乗っているくらいなので,間違いなく彼(systemd)の仕業でしょう。
f:id:htbariki:20170430143023p:plain

systemdのソースコードダウンロード

こまったらソースコードです。
読めば動きがわかるってのはLinuxの良いところです。

systemdのソースコードのダウンロード方法はしたのコマンド例を参考にしてください

[root@CentOS7 systemd-219]# yumdownloader --source systemd
[root@CentOS7 systemd-219]# rpm -ivh systemd-219-30.el7_3.6.src.rpm
[root@CentOS7 systemd-219]# tar Jxvf systemd-219.tar.xz

再起動時のメッセージ出力箇所の特定(grep)

ソースコードを展開したので,次はメッセージから調べる場所を特定していきます。

“ Ctrl-Alt-Del was pressed more than 7 times within 2s “のメッセージを足がかりに
Systemdのどのコードを読めばよいかgrepを利用して特定していきます。

検索をかけた結果”/core/manager.c”から該当のメッセージは出力されているようですな

[root@CentOS7 systemd-219]# find ./ -type f -print |xargs grep "Ctrl-Alt-Del was pressed more than 7 times within 2s"
./src/core/manager.c:                                        log_notice("Ctrl-Alt-Del was pressed more than 7 times within 2s, rebooting immediately.");
./src/core/manager.c:                                        status_printf(NULL, true, false, "Ctrl-Alt-Del was pressed more than 7 times within 2s, rebooting immediately.");
[root@CentOS7 systemd-219]#

 /core/manager.cを覗いてみると

/core/manager.cを覗いてみると。。。ありました

 /core/manager.c  case SIGINT; * ratelimit_test();

ですね。

まったく。こんな思いやりはいらないのに。。。
2秒以内に7回呼び出されるとあえなくrebootです。

[root@CentOS7 systemd-219]# less ./src/core/manager.c

                case SIGINT:
                        if (m->running_as == SYSTEMD_SYSTEM) {

                                /* If the user presses C-A-D more than
                                 * 7 times within 2s, we reboot
                                 * immediately. */

                                if (ratelimit_test(&m->ctrl_alt_del_ratelimit))
                                        manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY);
                                else {
                                        log_notice("Ctrl-Alt-Del was pressed more than 7 times within 2s, rebooting immediately.");
                                        status_printf(NULL, true, false, "Ctrl-Alt-Del was pressed more than 7 times within 2s, rebooting immediately.");
                                        m->exit_code = MANAGER_REBOOT;
                                }

                                break;
                        }

                        /* Run the exit target if there is one, if not, just exit. */
                        if (manager_start_target(m, SPECIAL_EXIT_TARGET, JOB_REPLACE) < 0) {
                                m->exit_code = MANAGER_EXIT;
                                return 0;
                        }

                        break;

解決策 (CentOS7.2.1511&Systemd 219-19.el7では回避不能)

対象のバージョン再確認

まずはOS。CentOS Linux release 7.2.1511です。

CentOS7
[root@CentOS7 systemd-219]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@CentOS7 systemd-219]#

つづいてSystemdのバージョン。219-19.el7と。。

[root@CentOS7 systemd-219]# yum list|grep systemd
systemd.x86_64                          219-19.el7                     @anaconda

systemdの最新コードを確認( github)

ソースを確認するとsystemd232ではsystemdのオプションが増えて
CtrlAltDelBurstAction=を指定する事で無効化できるようですな。

systemd/NEWS
https://github.com/systemd/systemd/blob/6b3d378331fe714c7bf2263eaa9a8b33fc878e7c/NEWS 

CHANGES WITH 232:

        * A new setting CtrlAltDelBurstAction= has been added to


          /etc/systemd/system.conf which may be used to configure the precise

          behaviour if the user on the console presses Ctrl-Alt-Del more often

          than 7 times in 2s. Previously this would unconditionally result in

          an expedited, immediate reboot. With this new setting the precise

          operation may be configured in more detail, and also turned off

          entirely.

man (systemd233)

ねんのためオプションの意味をmanでしらべてみます。

確認時点のmanのバージョンは”systemd233”でした

https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html#CtrlAltDelBurstAction=

Options

All options are configured in the "[Manager]" section:

LogLevel=, LogTarget=, LogColor=, LogLocation=, DumpCore=yes, CrashChangeVT=no, CrashShell=no, CrashReboot=no, ShowStatus=yes, DefaultStandardOutput=journal, DefaultStandardError=inherit
Configures various parameters of basic manager operation. These options may be overridden by the respective command line arguments. See systemd(1) for details about these command line arguments.

CtrlAltDelBurstAction=
Defines what action will be performed if user presses Ctrl-Alt-Delete more than 7 times in 2s. Can be set to "reboot-force", "poweroff-force", "reboot-immediate", "poweroff-immediate" or disabled with "none". Defaults to "reboot-force”.

まとめ

  • CentOS7.2 systemd219ではctrl-alt-delを完全には無効化できない
  • systemd232からはCtrlAltDelBurstAction=で無効化できる

みなさんも運用中のサーバでバルス!!(ctrl-alt-del)→Rebootしちゃわないように気をつけて下さいね。

参考資料

 Ctrl-Alt-Del を無効化すす方法

RHEL7 で Ctrl-Alt-Del を無効にする - Red Hat Customer Portal
https://access.redhat.com/node/1521333 

 systemdのソースコード[github]

https://github.com/systemd/systemd/blob/6b3d378331fe714c7bf2263eaa9a8b33fc878e7c/NEWS 

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
VirtualBox
 VirtualBox バージョン 5.1.6 r110634 (Qt5.5.1)
 Oracle_VM_VirtualBox_Extension_Pack-5.1.6r110634

ゲストOS

[root@CentOS7 system]# uname -a
Linux CentOS7 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

Raspberry PiとMacならホスト名.localでアクセスできる!

毎度。一馬力です。
Raspberry Piって楽しいですね!
ちっこい筐体で色々な事ができちゃいます。

今回はそんなRaspberry Piにアクセスする時に
IPアドレスではなくホスト名でアクセスする方法の紹介です。

※注意
 Raspberry Pi <— Macでアクセスする場合の記事です
 windowsの場合、、、。調べてみて下さいm( )m

f:id:htbariki:20170402093053j:plain

目次


apt-get update/upgrede

まずは,パッケージリストとパッケージを最新化します。
Raspberry PiのOSであるRaspbianにソフトウェアを追加する場合の基本動作です。

pi@raspberrypi:~ $ sudo apt-get update

pi@raspberrypi:~ $ sudo apt-getupgrede

Raspberry Piでパッケージ導入

続いて,avahi-daemonパッケージをインストールします。

コマンドは

pi@raspberrypi:~ $ sudo apt-get install avahi-daemon

です。

(参考)avahi-daemonのインストールログ

一馬力の環境ではすでにインストール済みでした

pi@raspberrypi:~ $ sudo apt-get install avahi-daemon
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
avahi-daemon はすでに最新版です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 47 個。
pi@raspberrypi:~ $

macから疎通確認

続いて,Raspberry Piと同じセグメントに接続されているMacから
PINGを使って疎通確認します。

Raspberry Piにavahi-daemonを導入すると

Raspberry Piのホスト名.local

でアクセスできるようになります。

コマンドは

MacBook-Pro:~ MBPR$ ping raspberrypi.local

です。

(参考)疎通確認の結果

私の環境では,Raspberry Piに割当れてたIPは192.168.1.13
のようですね^^

MacBook-Pro:~ MBPR$ ping raspberrypi.local
PING raspberrypi.local (192.168.1.13): 56 data bytes
64 bytes from 192.168.1.13: icmp_seq=0 ttl=64 time=62.612 ms
64 bytes from 192.168.1.13: icmp_seq=1 ttl=64 time=5.127 ms

参考資料

https://ja.wikipedia.org/wiki/Avahi

試した環境

Raspberry Pi 3 Model B


Raspberry Pi 3 Model B
  Pi 3 Starter Kit 32GB [896-8660-Kit4]

Raspbian
  pi@raspberrypi:~ $ uname -a
  Linux raspberrypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux
  pi@raspberrypi:~ $ cat /proc/version
  Linux version 4.4.23-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #913 SMP Tue Oct 4 14:16:19 BST 2016
  pi@raspberrypi:~ $ lsb_release -a
  No LSB modules are available.
  Distributor ID:    Raspbian
  Description:    Raspbian GNU/Linux 8.0 (jessie)
  Release:    8.0
  Codename:    jessie

VirtualBoxでCentOS7のインストール

毎度。一馬力です。

今回はVirtualBoxでCentOS7をインストールしてみます。
基本,操作画面をペタペタはっただけの記事になります。

詳しいコメント付きの話はRHEL7のインストール事例になりますが
別記事↓が参考になると思います。

ichibariki.hatenablog.com

目次で全体の流れを確認してもらえればと思います。
参考にして下さい

目次


操作のポイントは赤矢印で示しています。

仮想マシンの準備

仮想マシンの新規作成

f:id:htbariki:20170401182543p:plain

エキスパートモードを選択

f:id:htbariki:20170401182541p:plain

仮想マシンのタイプ等と仮想ディスクの作成

f:id:htbariki:20170401182457p:plain

ファイルの場所・名前の決定

f:id:htbariki:20170401182454p:plain

インストールメディアのマウント設定1

f:id:htbariki:20170401182538p:plain

インストールメディアのマウント設定2

f:id:htbariki:20170401182501p:plain

インストールメディアのマウント設定3

f:id:htbariki:20170401182504p:plain

インストールメディアのマウント設定4

f:id:htbariki:20170401182459p:plain

インストールメディアのマウント設定5

f:id:htbariki:20170401182531p:plain

インストールメディアのマウント設定6

f:id:htbariki:20170401182528p:plain

インストールメディアのマウント設定7

f:id:htbariki:20170401182420p:plain

CentOSのインストール

仮想マシンの起動

f:id:htbariki:20170401182534p:plain

起動画面1

f:id:htbariki:20170401182427p:plain

起動画面2

f:id:htbariki:20170401182424p:plain

言語の選択

f:id:htbariki:20170401182446p:plain

インストールの概要画面で!マーク部分を順次設定

f:id:htbariki:20170401182450p:plain

インストールの開始を選択

f:id:htbariki:20170401182434p:plain

ユーザーの設定(rootは必須)

f:id:htbariki:20170401182415p:plain

rootパスワードの入力

f:id:htbariki:20170401182431p:plain

インストール完了待ち

f:id:htbariki:20170401182438p:plain

再起動

f:id:htbariki:20170401182442p:plain

インストール完了

f:id:htbariki:20170401182429p:plain

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)
macOS Sierra
   システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
VirtualBox

 VirtualBox バージョン 5.1.14 r112924 (Qt5.6.2)
 Oracle_VM_VirtualBox_Extension_Pack-5.1.14r112924

ゲストOS

[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

CentOSでパッケージのみダウンロードしたい(yumdownloader)

毎度。一馬力です。

今回は, yum-utilsに含まれるyumdownloaderの紹介。

通常yumコマンドはパッケージのインストールに利用しますが
yumdownloaderはパッケージのみダウンロードしたい!という時に利用します。

個人的には特にsrcパッケージのダウンロードでお世話になっているコマンド。
インストール方法含め紹介します

f:id:htbariki:20170401170235p:plain

目次


yum-utilsのインストール

yum-utilsをyumコマンドでインストールします。

# yum install yum-utils

(参考)CentOS7でyum-utilsをインストールした時のログ

[root@CentOS7 src]# yum install yum-utils
読み込んだプラグイン:fastestmirror
base                                                                                                                           | 3.6 kB  00:00:00
extras                                                                                                                         | 3.4 kB  00:00:00
updates                                                                                                                        | 3.4 kB  00:00:00
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ yum-utils.noarch 0:1.1.31-40.el7 を インストール
--> 依存性の処理をしています: yum >= 3.4.3-143 のパッケージ: yum-utils-1.1.31-40.el7.noarch
--> 依存性の処理をしています: python-kitchen のパッケージ: yum-utils-1.1.31-40.el7.noarch
--> 依存性の処理をしています: libxml2-python のパッケージ: yum-utils-1.1.31-40.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ libxml2-python.x86_64 0:2.9.1-6.el7_2.3 を インストール
--> 依存性の処理をしています: libxml2 = 2.9.1-6.el7_2.3 のパッケージ: libxml2-python-2.9.1-6.el7_2.3.x86_64
---> パッケージ python-kitchen.noarch 0:1.1.1-5.el7 を インストール
--> 依存性の処理をしています: python-chardet のパッケージ: python-kitchen-1.1.1-5.el7.noarch
---> パッケージ yum.noarch 0:3.4.3-132.el7.centos.0.1 を 更新
---> パッケージ yum.noarch 0:3.4.3-150.el7.centos を アップデート
--> 依存性の処理をしています: python-urlgrabber >= 3.10-8 のパッケージ: yum-3.4.3-150.el7.centos.noarch
--> トランザクションの確認を実行しています。
---> パッケージ libxml2.x86_64 0:2.9.1-5.el7_1.2 を 更新
---> パッケージ libxml2.x86_64 0:2.9.1-6.el7_2.3 を アップデート
---> パッケージ python-chardet.noarch 0:2.2.1-1.el7_1 を インストール
---> パッケージ python-urlgrabber.noarch 0:3.10-7.el7 を 更新
---> パッケージ python-urlgrabber.noarch 0:3.10-8.el7 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

======================================================================================================================================================
 Package                                  アーキテクチャー              バージョン                                  リポジトリー                 容量
======================================================================================================================================================
インストール中:
 yum-utils                                noarch                        1.1.31-40.el7                               base                        116 k
依存性関連でのインストールをします:
 libxml2-python                           x86_64                        2.9.1-6.el7_2.3                             base                        247 k
 python-chardet                           noarch                        2.2.1-1.el7_1                               base                        227 k
 python-kitchen                           noarch                        1.1.1-5.el7                                 base                        267 k
依存性関連での更新をします:
 libxml2                                  x86_64                        2.9.1-6.el7_2.3                             base                        668 k
 python-urlgrabber                        noarch                        3.10-8.el7                                  base                        108 k
 yum                                      noarch                        3.4.3-150.el7.centos                        base                        1.2 M

トランザクションの要約
======================================================================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)
更新                       ( 3 個の依存関係のパッケージ)

総ダウンロード容量: 2.8 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告: /var/cache/yum/x86_64/7/base/packages/libxml2-2.9.1-6.el7_2.3.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY  --:--:-- ETA
libxml2-2.9.1-6.el7_2.3.x86_64.rpm の公開鍵がインストールされていません
(1/7): libxml2-2.9.1-6.el7_2.3.x86_64.rpm                                                                                      | 668 kB  00:00:00
(2/7): libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm                                                                               | 247 kB  00:00:00
(3/7): python-chardet-2.2.1-1.el7_1.noarch.rpm                                                                                 | 227 kB  00:00:00
(4/7): python-kitchen-1.1.1-5.el7.noarch.rpm                                                                                   | 267 kB  00:00:00
(5/7): python-urlgrabber-3.10-8.el7.noarch.rpm                                                                                 | 108 kB  00:00:00
(6/7): yum-utils-1.1.31-40.el7.noarch.rpm                                                                                      | 116 kB  00:00:00
(7/7): yum-3.4.3-150.el7.centos.noarch.rpm                                                                                     | 1.2 MB  00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                  2.1 MB/s | 2.8 MB  00:00:01
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : python-urlgrabber-3.10-8.el7.noarch                                                                                  1/10
  更新します              : yum-3.4.3-150.el7.centos.noarch                                                                                      2/10
  インストール中          : python-chardet-2.2.1-1.el7_1.noarch                                                                                  3/10
  インストール中          : python-kitchen-1.1.1-5.el7.noarch                                                                                    4/10
  更新します              : libxml2-2.9.1-6.el7_2.3.x86_64                                                                                       5/10
  インストール中          : libxml2-python-2.9.1-6.el7_2.3.x86_64                                                                                6/10
  インストール中          : yum-utils-1.1.31-40.el7.noarch                                                                                       7/10
  整理中                  : yum-3.4.3-132.el7.centos.0.1.noarch                                                                                  8/10
  整理中                  : python-urlgrabber-3.10-7.el7.noarch                                                                                  9/10
  整理中                  : libxml2-2.9.1-5.el7_1.2.x86_64                                                                                      10/10
  検証中                  : yum-utils-1.1.31-40.el7.noarch                                                                                       1/10
  検証中                  : libxml2-2.9.1-6.el7_2.3.x86_64                                                                                       2/10
  検証中                  : libxml2-python-2.9.1-6.el7_2.3.x86_64                                                                                3/10
  検証中                  : python-chardet-2.2.1-1.el7_1.noarch                                                                                  4/10
  検証中                  : yum-3.4.3-150.el7.centos.noarch                                                                                      5/10
  検証中                  : python-kitchen-1.1.1-5.el7.noarch                                                                                    6/10
  検証中                  : python-urlgrabber-3.10-8.el7.noarch                                                                                  7/10
  検証中                  : libxml2-2.9.1-5.el7_1.2.x86_64                                                                                       8/10
  検証中                  : yum-3.4.3-132.el7.centos.0.1.noarch                                                                                  9/10
  検証中                  : python-urlgrabber-3.10-7.el7.noarch                                                                                 10/10

インストール:
  yum-utils.noarch 0:1.1.31-40.el7

依存性関連をインストールしました:
  libxml2-python.x86_64 0:2.9.1-6.el7_2.3            python-chardet.noarch 0:2.2.1-1.el7_1            python-kitchen.noarch 0:1.1.1-5.el7

依存性を更新しました:
  libxml2.x86_64 0:2.9.1-6.el7_2.3               python-urlgrabber.noarch 0:3.10-8.el7               yum.noarch 0:3.4.3-150.el7.centos

完了しました!

[root@CentOS7 src]#

 yumdownloaderでカーネルソースパッケージをダウンロードする

yumdownloaderが含まれるyum-utilsのインストールが完了したら
準備完了です。

早速,カーネルソースパッケージをダウンロードしてみます。
コマンドは

# yumdownloader --source kernel

コマンド実行時のカレントディレクトリにパッケージが保存されます。

(参考)yumdownloader –source kernelの実行ログ

[root@CentOS7 src]# yumdownloader --source kernel
読み込んだプラグイン:fastestmirror
Enabling updates-source repository
Enabling base-source repository
Enabling extras-source repository
base-source                                                                                                                    | 2.9 kB  00:00:00
extras-source                                                                                                                  | 2.9 kB  00:00:00
updates-source                                                                                                                 | 2.9 kB  00:00:00
(1/3): extras-source/7/primary_db                                                                                              |  52 kB  00:00:01
(2/3): updates-source/7/primary_db                                                                                             |  65 kB  00:00:01
(3/3): base-source/7/primary_db                                                                                                | 967 kB  00:00:03
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
kernel-3.10.0-514.6.1.el7.src.rpm                                                                                              |  85 MB  00:00:59
[root@CentOS7 src]# ll
合計 86880
-rw-r--r--. 1 root root 88959056  1月 19 21:48 kernel-3.10.0-514.6.1.el7.src.rpm

まとめ

  • yumはパッケージのインストールに,yumdownloaderはパッケージのダウンロードに利用する  * yumdownloaderはyum-utilsに含まれる
  • yumdownloaderはsrcパッケージの入手時に重宝する

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)
macOS Sierra
   システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
VirtualBox
 VirtualBox バージョン 5.1.14 r112924 (Qt5.6.2)
 Oracle_VM_VirtualBox_Extension_Pack-5.1.14r112924

ゲストOS

[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

MacBookで有線LAN j5 create JUE130 USB 3.0 ギガビットイーサネットを使ってみる

毎度。一馬力です。

本業が忙しすぎて,すっかりBLOGの更新が止まってました。
久しぶりの更新です。

今日はMacBookで有線LANを使う話。

j5 create JUE130 USB 3.0 ギガビットイーサネットを買ってみましたので
利用法まとめです。

目次


はじめに

MacBookは便利です。素敵なデザイン,爆速の起動,きれいなディスプレイ。
自分の利用しているMacBookMacBook Pro (Retina, 13-inch, Late 2013)で今や4年も前の機種ですが 現役バリバリで使ってます。

付き合いもながくなってきたMacBookですが,一つだけ不便な点が。
有線LANのポートが無い所。

普通に使う分にはWiFiがあればいいじゃないって話ですが
どうしても有線でつなぎたいシーンてあるものです。

そんな欲に負けて今回はj5 create JUE130 USB 3.0 ギガビットイーサネットを買ってしまったので
皆さんに紹介します。

利用方法

ドライバのダウンロード

まずはじめにドライバのダウンロードから

購入したj5 create JUE130 USB 3.0 ギガビットイーサネットの箱の中にも
インストールメディア(CD)は入っていますが,最新版を入れておけば安心ですよね

ダウンロードは下のURLからです。 http://www.j5create.com/jpn/support.html#JUE130

サイトを開くと下の対象のドライバをダウンロードするベージが開けます
今回はMacなので赤枠の部分をクリックしたダウンロードです。

f:id:htbariki:20170401151439p:plain

ドライバのインストール

ダウンロードしたドライバの仮想ディスクイメージをファイルをクリックします。

今回ダウンロードしたファイルは
j5UsbEthernetAdapter-v2.8.0-2.4.1-mac.dmg (9MB)
でした。

起動すると下のような画面が開きます。
ちょいと分かりにくいですが,赤枠の部分をクリックするとインストールが始まります。

f:id:htbariki:20170401151427p:plain

インストーラーが起動したら,完了まで次々にメニューを進めます。

参考インストーラー(AX88179/178A USB3.0/2/0 Gigabit Ethernet Adapter Driverのインストール)画面

f:id:htbariki:20170401151356p:plain f:id:htbariki:20170401151405p:plain

f:id:htbariki:20170401151411p:plain

f:id:htbariki:20170401151400p:plain f:id:htbariki:20170401151415p:plain f:id:htbariki:20170401151422p:plain

再起動

インストールが完了したら自動で再起動が入ります。
このステップが完了するまでUSBにj5 create JUE130 USB 3.0 ギガビットイーサネットを接続するのはNGのようです。

 j5 create JUE130 USB 3.0 ギガビットイーサネットの接続

再起動が完了後、j5 create JUE130 USB 3.0 ギガビットイーサネットの接続です。

接続はイメージは

SWやHUB,ルータ等 →UTPケーブル→
j5 create JUE130 USB 3.0 ギガビットイーサネットMac

です。

ネットワークの設定確認

接続が完了したらネットワークの設定で接続が有効になっている事を確認します

 システム環境設定>ネットワーク 

の順にひらいて確認します。

 システム環境設定

f:id:htbariki:20170401151449p:plain

 システム環境設定 > ネットワーク

“AX8817…"表示されている部分がJUE130の設定部分です。(赤枠部分) f:id:htbariki:20170401151454p:plain

 システム環境設定 > ネットワーク > 詳細 > ハードウェア

念のため,ハードウェアの状態も確認します。
1000baseT / 全二重で通信しできています

f:id:htbariki:20170401151444p:plain

これでMacBookでも有線ネットワークに接続できるようになりました^^
皆さんの参考になれば幸いです

参考 (WiFiと有線のスピード比較)

 j5 create JUE130 USB 3.0 ギガビットイーサネット利用時

f:id:htbariki:20170401151409p:plain

 参考 内蔵wifi接続時

f:id:htbariki:20170401151420p:plain

試した環境

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)



macOS Sierra
   システムのバージョン:     macOS 10.12.4 (16E195)


    カーネルのバージョン:     Darwin 16.5.0
j5 create JUE130 USB 3.0 ギガビットイーサネット