著者アーカイブ takahashi

takahashi 著者:takahashi

CentOS 7 でepelリポジトリのnpmでアップデートを行うとnpmが消されてしまう問題の回避方法

CentOS 7 の新環境を作り、epelリポジトリからyumでnpmをインストール。

sudo yum -y install epel-release
sudo yum -y install npm

npmのバージョンを確認すると
3.10.10
と古かったため

sudo npm -g update npm

としたところ

- fstream-npm@1.2.0 node_modules/npm/node_modules/fstream-npm
- normalize-git-url@3.0.2 node_modules/npm/node_modules/normalize-git-url
- realize-package-specifier@3.0.3 node_modules/npm/node_modules/realize-package-specifier
/usr/lib
└── (empty)

npm ERR! Linux 3.10.0-862.el7.x86_64
npm ERR! argv "/usr/bin/node" "/bin/npm" "-g" "update" "npm"
npm ERR! node v6.14.3
npm ERR! npm  v3.10.10
npm ERR! path /usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic
npm ERR! code EEXIST
npm ERR! errno -17
npm ERR! syscall mkdir

npm ERR! EEXIST: file already exists, mkdir '/usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic'
npm ERR! File exists: /usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic
npm ERR! Move it away, and try again.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/username/npm-debug.log
npm ERR! code 1

のようなエラーが出てしまい、更新に失敗します。
そればかりか…

$ npm -v
-bash: npm: コマンドが見つかりません

$ which npm
/usr/bin/which: no npm in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/username/.local/bin:/home/username/bin)

なんとnpm本体が消えてしまいました。
そんな馬鹿な…

流石にちょっと困ってしまったので、いろいろ調べたところ、npm公式のGitHubページのIssueでも同様の報告が上がっていました。

Try to update the npm cli and got an error #15821 – GitHub

内容を見ていくと、epelではなくnodejs公式のnodesourceというリポジトリを使用したら成功したという記述が。
半信半疑ながらも、nodesourceを使うことにしました。

とりあえず、一旦npmをアンインストールします。

sudo yum -y remove npm
$ sudo yum -y remove npm
読み込んだプラグイン:fastestmirror
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ npm.x86_64 1:3.10.10-1.6.14.3.1.el7 を 削除
--> 依存性の処理をしています: npm = 1:3.10.10-1.6.14.3.1.el7 のパッケージ: 1:nodejs-6.14.3-1.el7.x86_64
--> 依存性の処理をしています: npm = 1:3.10.10-1.6.14.3.1.el7 のパッケージ: 1:nodejs-6.14.3-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ nodejs.x86_64 1:6.14.3-1.el7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================
 Package                 アーキテクチャー        バージョン                                リポジトリー            容量
========================================================================================================================
削除中:
 npm                     x86_64                  1:3.10.10-1.6.14.3.1.el7                  @epel                  9.8 M
依存性関連での削除をします:
 nodejs                  x86_64                  1:6.14.3-1.el7                            @epel                   16 M

トランザクションの要約
========================================================================================================================
削除  1 パッケージ (+1 個の依存関係のパッケージ)

インストール容量: 26 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : 1:npm-3.10.10-1.6.14.3.1.el7.x86_64                                                     1/2
警告: ファイル /usr/lib/node_modules/npm/scripts/update-authors.sh: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/scripts/relocate.sh: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/scripts/release.sh: 削除に失敗しました: そのようなファイルやディレクトリはあり ません
警告: ファイル /usr/lib/node_modules/npm/scripts/publish-tag.js: 削除に失敗しました: そのようなファイルやディレクトリは ありません
警告: ファイル /usr/lib/node_modules/npm/scripts/maketest: 削除に失敗しました: そのようなファイルやディレクトリはありま せん
警告: ファイル /usr/lib/node_modules/npm/scripts/install.sh: 削除に失敗しました: そのようなファイルやディレクトリはあり ません
警告: ファイル /usr/lib/node_modules/npm/scripts/index-build.js: 削除に失敗しました: そのようなファイルやディレクトリは ありません
警告: ファイル /usr/lib/node_modules/npm/scripts/gen-changelog: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/scripts/doc-build.sh: 削除に失敗しました: そのようなファイルやディレクトリはあ りません
警告: ファイル /usr/lib/node_modules/npm/scripts/dev-dep-update: 削除に失敗しました: そのようなファイルやディレクトリは ありません
警告: ファイル /usr/lib/node_modules/npm/scripts/dep-update: 削除に失敗しました: そのようなファイルやディレクトリはあり ません
警告: ファイル /usr/lib/node_modules/npm/scripts/clean-old.sh: 削除に失敗しました: そのようなファイルやディレクトリはあ りません
警告: ファイル /usr/lib/node_modules/npm/scripts/changelog.js: 削除に失敗しました: そのようなファイルやディレクトリはあ りません
警告: ファイル /usr/lib/node_modules/npm/scripts: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/package.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules/realize-package-specifier: 削除に失敗しました: そのようなファイル やディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules/normalize-git-url: 削除に失敗しました: そのようなファイルやディレ クトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules/fstream-npm: 削除に失敗しました: そのようなファイルやディレクトリ はありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/write-file-atomic/package.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/write-file-atomic/index.js: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/write-file-atomic/README.md: 削除に失敗しました: そのよう なファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/write-file-atomic/LICENSE: 削除に失敗しました: そのような ファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/write-file-atomic: 削除に失敗しました: そのようなファイル やディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/wrappy/wrappy.js: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/wrappy/package.json: 削除に失敗しました: そのようなファイ ルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/wrappy/README.md: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/wrappy/LICENSE: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/wrappy: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/which.js: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/package.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/windows.js: 削除に失敗しました:  そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/package.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/mode.js: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/index.js: 削除に失敗しました: そ のようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/access.js: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/README.md: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/LICENSE: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe/.npmignore: 削除に失敗しました:  そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules/isexe: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/node_modules: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/bin/which: 削除に失敗しました: そのようなファイルや ディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/bin: 削除に失敗しました: そのようなファイルやディレ クトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/README.md: 削除に失敗しました: そのようなファイルや ディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/LICENSE: 削除に失敗しました: そのようなファイルやデ ィレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which/CHANGELOG.md: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/which: 削除に失敗しました: そのようなファイルやディレクト リはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/package.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules/builtins/package.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules/builtins/builtins.json: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules/builtins/Readme.md: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules/builtins/History.md: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules/builtins/.travis.yml: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules/builtins: 削除に失 敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/node_modules: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/index.js: 削除に失敗しました: そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/README.md: 削除に失敗しました:  そのようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/LICENSE: 削除に失敗しました: そ のようなファイルやディレクトリはありません
警告: ファイル /usr/lib/node_modules/npm/node_modules.bundled/validate-npm-package-name/.npmignore: 削除に失敗しました: そのようなファイルやディレクトリはありません
(省略)

大量の”ファイルが見つかりません”エラーが。
やっぱり本当に消えてしまってるようです…

アンインストールが完了したらnodesourceリポジトリをインストールします。

curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -

処理が完了したら、”npm”ではなく”nodejs”パッケージをインストールします。

sudo yum install -y nodejs

パッケージ名はnodejsですが、実際には同時にnpmもインストールされているため、インストールが完了すればnpmも使えます。

$ npm -v
6.4.1

バージョンも新しくなっています。

$ sudo npm -g update npm
$ which npm
/usr/bin/npm

アップデートも問題なく動作するようになったようです。

しかし、安定性の高いはずのepelリポジトリのnpmが致命的なバグを抱えたままになっているというのは…大丈夫なんでしょうか…

takahashi 著者:takahashi

CentOS 7 にPHP7.1をインストールする方法

最近、徐々にPHP 7系を要求するアプリケーションやフレームワークが多くなってきました。
一方で、CentOS 7はデフォルトでは古めのパッケージのみを提供しているので

sudo yum -y install php 

としてもphp5.6系しかインストールできません。

しかし、CentOSで利用できる外部のリポジトリ”epel”と”remi”を用いることでphp7系をCentOS 7へインストールすることが可能になっています。
今回は、その方法をご紹介したいと思います。

まず、現時点で古いバージョンのPHPが入っている場合は、一度アンインストールが必要になります。
もし古いバージョンのPHPも必要な場合は複数のバージョンのPHPを共存させる必要となり、今回の手順ではセットアップできませんのでご注意ください。

PHPが既にインストールされているか確認します。

php -v

として

PHP 5.4.16 (cli) (built: Apr 12 2018 19:02:01) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

のようになっていれば、既に古いバージョンがインストールされているので、一旦アンインストールします。

sudo yum -y  remove  php-cli php-common

epelリポジトリをインストールします。

sudo yum -y install epel-release

remiリポジトリをインストールします。

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

ここまで行えば、php7.1のインストールが可能になっています。
次のコマンドでphp7.1をインストールしてみます。

sudo yum install --enablerepo=remi,remi-php71 php php-devel 

インストール完了後、再度php -vをして

php -v
PHP 7.1.24 (cli) (built: Nov  7 2018 18:45:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

となっていれば成功です。

なお、remiリポジトリからphpに入れた際、PHPモジュールの参照先が別の場所になってしまうことがあるようです。
その場合は、php.iniに次の記述を追加してください。

extension_dir = "/opt/remi/php71/root/usr/lib64/php/modules" 

※PHPバージョンによって異なります。”sudo rpm -ql インストールしたphpのパッケージ名”を実行してインストール先を確認してください。

takahashi 著者:takahashi

macOS mojaveへのアップグレード方法

先日、ついに自分が所有するMacbook Air を Mojaveに更新しました!

今回もかなり簡単に更新ができたので、手順をご紹介したいと思います。
まずはmacOSのインストーラーをApp Storeからダウンロードします。

macOS Mojave – Mac App Storeプレビュー

ダウンロードが完了すると、アプリケーションフォルダに”macOS mojave インストール”アプリが追加されます。

クリックすると、インストールウィザードが立ち上がります。

なお、以前記事にも書きましたが、3TB ストレージを搭載したiMac (27-inch, Late 2012)モデルでmojaveにアップグレードする際、BootCamp領域の削除が必要になり、mojaveへアップグレード後はBootCampが利用できなくなるので注意してください。

ここからいよいよインストールをしていきます。

利用規約を確認すると

インストール先のディスクを選択する画面が出てきます。
基本的には1台のはずですが、複数台のディスクを接続している場合はそれも表示される可能性があるので、アップグレードしたいmacOSがインストールされているディスクを選択します。

”インストール”をクリックするとインストールが始まります。

管理者ユーザーのIDとパスワードを求められるので、情報を入力して”ヘルパーを追加”をクリックします。

インストール中。
SSDモデルであれば時間はさほどかからないかと思います。

準備が完了すると、再起動を促されるので再起動します。

画面が汚くてすみません(汗
再起動後、いつもの林檎マークが出てきて、アップグレード作業が始まります。
ここはかなり時間がかかり、自分のmacでは体感1時間ぐらいかかった気がします。

完了すると初期ウィザードが表示されます。
まずはApple IDを入力し、Appleアカウントにログインしておきます。

2段階認証の設定をするかどうかを聞かれます。
僕の場合は2段階認証を使わないのでチェックは外しました。

iCloudキーチェーン(認証情報共有機能)の設定です。
これをやっておくと、macOSのキーチェーンに保存されている認証情報を、同じアカウントでログインしているmacに同期できるようです。

いよいよ今回の目玉の一つである、”ダークモード”の選択肢が出てきました…!
ダークモードを選ぶと、macOSの基本UIがすべて黒基調になります。

ダークモードを選択した画面。
ウィザードの時点で既にカッコイイ…

設定はこれで以上のようです。
暫く待つと…

デスクトップが表示されました…!!

ダークモードにしたのですべて黒基調になってます!
とてもクールですね!

細かい使用感などはまたしばらく仕様してみてから投稿したいと思います。

takahashi 著者:takahashi

他のデバイスのWindowsのサブディスプレイ化が簡単にできるアプリ”spacedesk”

Windows 10 から、Windowsには標準機能で”このPCへのプロジェクション”機能がついています。
この機能を使うと、Miracast対応デバイスをWindows PCのサブディスプレイとして使うことができます。
標準機能なので手間もかからず、安心して使えるのはとてもいいところなのですが、まだ粗削りな部分が多く、解像度の相性が悪かったりすると画面のサイズが合わなかったり、うまく動作しなかったりという部分がまだあります。
また、Miracast対応デバイスでないと接続できないため、mac OS/iOSやLinux等では通常利用できません。

そんなこともあって代替えになりそうなアプリをいろいろ探していたところ、こちらのアプリを見つけました。

spacedeskというアプリです。

サーバー(仮想ディスプレイを使う側)はWindowsのみ対応になっていますが、クライアント側(仮想ディスプレイになる側)はWindowsの外に、iOSとAndroidのデバイスも使うことができ、さらにHTML5版も用意されているので、macOSやLinux、ChromeOSなどでも利用することができます。

自分の手元のPCで試したところ、アプリ版よりもHTML5版の方がより高速に動作している印象でした。

大きなメニューアイコンが出てくるのが玉に瑕ですが、使っている分にはあまり気になりませんでした。

操作も簡単で使いやすいので、暫く使ってみたいと思います。

takahashi 著者:takahashi

位置情報ゲームIngressがリニューアル!Ingress Primeがついに公開!!

先日、IngressのTwitterアカウントで公式以前から予告されていたIngressのリニューアル版、Ingress Prime がリリースされたというツイートが投稿されました。

早速インストールしてみました!

起動するとIngressの開発元であるNianticのロゴが表示され…

ログイン画面が表示されるので、旧バージョンで使用していたGoogleアカウントでログインします。

Facebookアカウントも使えるようになったようですね…!

ログイン中…

めちゃくちゃクールなサイバーな音とともに、Ingressのスプラッシュが表示されました…!

現在地測位中の画面がすでに超クールになってます…!

XMスキャナー起動中画面…ヤバイ、クールすぎる…

起動準備完了(?)したようで、”タップして起動”の文字が。

この後、チュートリアルとしてXMやポータル、Ingressのルールについての説明が出てきますが、極秘書類のようなのでこちらでは伏せておきます(w

ちなみに、既にエージェントになっているユーザーはチュートリアルは表示されないようです。
チュートリアルではADAやジャービスのフルボイスも聞けたということらしいのでちょっと残念です。

最後にレジスタンス陣営のトップでもあるADAさんが直々に挨拶(?)していきましたw

そしていよいよスキャナが起動…

うおおおおすげええええ
めっちゃ綺麗になってる!!!
UIも一新されています。

中心のボタンを押すとメニューが表示されます。
アイテムストレージの”Inventory”、ポータルへアタックするためのXMウェポンの一覧を表示する”Attack”、同陣営やエージェント全体とテキストメッセージのやり取りができる”Comm”が一番押しやすい位置に置かれています。

これらはよく使う機能なので、押しやすい位置に移動したのはかなり好感が持てますね。

早速Attackを選ぶと

こんな画面に。
アイテムのデザインも一新されていて、とにかくキラキラしてますw

実体がないXMから作られているアイテムなので、こうちょっと幻想的なデザインになっているのはちょっと惹かれますね。


旧バージョンのスキャナと同様、攻撃時に長押しするとサークルが表示され、一番中心にに来た時に離すと一番強い威力でアタックできる仕様は引き継がれていましたが、個人的には新バージョンの方がやりやすい印象でした。

ただ、アタックしたときのポータルのダメージエフェクト、例えばModが破壊されたときのエフェクトがちょっと見づらくて、いつまで武器を打ち続ければいいのかわかりづらいのがちょっと惜しかったです。

インベントリもかなり変更されていて、ポータルキーとアイテムが分けて表示されるようになりました。
アイテムが探しやすくなったのはありがたいです。

そして総じてデザインがカッコイイ…!!!

他にもいろいろと変更されていますが、何より全体的にエフェクトが豪華になっていることでより没入感が増していて、とても興奮しました!

なお、端末が対応できなかったり、旧来のIngressの方がいい、という場合は、旧バージョンのアプリも引き続き利用できるとのことです。

新アプリはそこそこ重いので、旧アプリも使えるのはありがたいですね。

まだ新バージョンを入れたばっかりで触り切れていないので、また機会があれば記事にしてみたいと思います。

Ingress Prime – GooglePlayStore

Scanner [REDACTED](未公開版)- GooglePlayStore

takahashi 著者:takahashi

個人版Office365のインストール台数制限がいつの間にか無制限になっていた件

最近久しぶりにOffice365のマイページにログインして気づきました。

なんとOffice365の個人向けのプランでオフィスアプリをインストールできる端末数が無制限、しかも同時利用台数が5台まで増えていました…!

Microsoft Office 365 Soloがインストールの台数制限を撤廃! – 日経 xTECH

自分は個人でPCを3台(macはbootcamp構成なので実質4台)、持っているのですが、いままでそのうちの2台までしか入れられなかったのでちょっと不便でした。

今後はすべてのPC(OS)に心置きなくインストールできるので、とてもありがたいですね。

takahashi 著者:takahashi

噂されていた”極狭ベゼル”なiPadが現実に!? iPhone Xを踏襲した新型iPad ProをAppleが発表!

前回の記事先日のAppleの発表会「Apple Spetial Event」で発表されたMacについて書きましたが、今回はiPadについて書きたいと思います。

・噂されていたホームボタン無し/極狭ベゼルのiPadがついに現実に!?

先日ご紹介したMacの2新機種発表の時点でかなり驚きましたが、さらに新型iPadの発表もされたのでさらにびっくりしました。

以前リーク情報として新型のiPadのイメージ図が出ていましたが、まさかほぼそのまんまの姿で現れるとは思いませんでした。

ホームボタンが無くなり、iPhone X/Xs/XR 同様にジェスチャーでホーム画面やアプリを切り替える方式になりました。
また、高精度の顔認証機能である”Face ID”も搭載しますが、iPad Proの場合はセンサーのスペースが十分に取れたのかノッチはありません。

新しいiPad Proの凄いところは、最近のモバイルPCを追い越すほどのスペックを搭載している点です。

今回の新型iPad Proは7コアGPUと8コアCPUを搭載していて

市場にあるポータブルPCのうち92%のモバイルノートPCよりもiPad Proの方が高速だとのことです。

なので、よりリアリティのある3ゲームもヌルヌル動くし、Adobeが開発するiPad Pro向けのフルバージョンのPhotoshopも使うことができるとのことです。

そしてもうひとつ大きな変更点として、Apple製のモバイルデバイスで初めてUSB Type-cが採用された点です。

Type-Cが採用されたことで、他のType-C対応機器との接続が容易になったり、

iPhoneなどのほかのUSB機器に充電できたりといったことができるようになったとのこと。
iPadからiPhoneに電源供給されている光景はちょっと面白いですね。

ベゼルが狭くなっている点については、「どうやって持つんだろう…w」というのが正直な印象ですが、機能面ではより使い勝手が良くなっているようなので、全世代のiPadProよりもかなり気になるデバイスになっているのではないかなと感じました。

いづれのハードウェアも、前回と比較してかなり進化した印象を感じた発表でしたね。

いよいよ大手IT企業各社がデバイスの開発に本腰を入れ始めた感のある今期、今後シェアの変動やハードウェアがどのように展開されていくのか、とても楽しみですね。

takahashi 著者:takahashi

WindowsのSSHクライアント”Rlogin”で多段SSH接続したときに定期的に接続が切れてしまうときの対処法

最近、複雑なネットワーク構成のサーバー(とくにAWS系のシステム)でしばしばSSHの多段接続が必要になることがあります。
多段接続とは、VNCやTeamviewerなどのリモートデスクトップに例えると、手元のPCからリモートマシンへ接続した後、さらにそのリモートPC内にあるリモートデスクトップソフトを立ち上げて、さらに別のマシンへ接続するような繋げ方をすることをいいます。

なんでこんなめんどくさいことをするかというと、最終的に接続するサーバーがインタ―ネットと直接使がっていない場合があり、そういった時はインタ―ネットと直接つながっている端末経由で接続する必要があるためです。

本当は直で繋げたいところですが、セキュリティ上の理由であったりグローバルIPの制約で公開できるサーバーの数が限られていたりなど様々な理由で敢えてこのような設計にせざるを得ない場合があります。
この場合、単純にシェルをたたくだけなら問題ないのですが、例えばFTPなどを使ってファイルをやり取りしたり、その他のアプリケーションやプロトコルで目的のサーバーと通信したいときなどはちょっと困ることがあります。

こういう時のために、Windows用のSSHクライアント”Rlogin”ではSSHプロキシ接続機能が用意されていて、あらかじめ設定しておけば、踏み台となるサーバーのSSHサーバーを経由して内部のサーバーに直接接続ができる経路を作ってくれる”トンネリング”を行うことができます。

今回は、Rloginで行えるSOCKS5プロトコル経由でプロキシした際に発生した”定期的にSSHが切断される”問題の解決方法をご紹介します。

実はSSHサーバーには、デフォルトで一定時間通信しない(idle状態にしておく)と接続を切ってしまう仕様になっているものがあります。
そのせいか、自分の手元の環境では、踏み台サーバーへのトンネルが一定時間後に切られてしまうことが結構ありました。

サーバーではバックグラウンドで長時間処理させることもしばしばあるので、肝心な時にコネクションが切れてしまうとなかなか大変です。

いろいろ設定を変えてはみたのですが、なかなか改善せず、ずっと悩んでいましたが…
今回ようやく解決方法を見つけました!

Rloginのサーバー設定の左ペインにあるサーバー->プロトコル をクリック。

下記のような画面が出てくるかと思いますので、

赤枠部分にチェックを入れ、KeepAliveの間隔を数十秒ほどにしておきます。
実際に適した設定値は各SSHサーバーの無通信でいつまで接続を維持するかの設定によって異なってきます。切断される前にKeepAiveの信号が送られるように秒数を変更してください。

ここを変更しただけで、いままで1分ほどで切られていたコネクションが、10分以上放置しておいても維持されるようになりました。

お困りの方は是非試してみてください。

takahashi 著者:takahashi

Appleの発表会で噂されていた新型のMacBook Air と Mac miniがついに発表!!! そのスペックはもはや”廉価版Mac”ではない!?

昨晩のAppleの製品発表会、Apple Special Event ですが、僕もリアルタイム配信で見ていました。
いやぁめちゃくちゃ盛り上がってましたね!とても楽しかったです。

Apple Special Event2018年10月30日 – Apple

今回はかなり盛りだくさんの内容で、

・MacBook Air
・Mac mini
・iPad Pro
・Apple Pencil

これだけの新作ハードウェアが発表されました。
その中で、今回はMac周りに絞ってどんなことが発表されたのか、かいつまんでご紹介したいと思います。

・ついに発表! 新型MacBook Air

以前から登場が噂されてはいたものの、なかなかその姿を現さなかった新型MacBook Airですが、今回の発表会でついに発表されました!!!

この発表に会場も大歓声があがりました。

一見すると外見のデザインは踏襲されているように見えますが、他のMacBook同様にUSB Type-Cポート(Thunderbolt 3)2つに統合されました。
またディスプレイ部分はアルミのベゼルではなくMacBook Proのような黒ベゼルに変わり、Retina Displayが採用、解像度も400万ピクセルにパワーアップしたとのこと。
キーボードは新世代のバタフライキーボードが採用され、耐久性が増しているということです。

そして驚くのはここから。

なんと最大で1.5TBまでストレージを増やすことができるように。
このオプションを選ぶと+11万円になりますが、モバイルPCで1TB以上もの容量のSSDが実際に搭載されるようになったというのは驚きですね。

そして筐体のサイズが、従来よりも17%小さくなっているようで、より持ち運びがしやすくなっているのも魅力的ですね。

他にも専用のセキュリティチップを搭載したり、Touch IDに対応したりと、”廉価版Mac”とは言わせないといわんばかりのスペックアップが図られています。

MacBook Air – Apple

・4年ぶりにリニューアル!新型Mac mini

なんとさらにもう一つ、以前から登場が噂されていたMacが発表されました!


新型のMac mini !!!

実に4年ぶりのリニューアルだそうです。
こちらもカスタマイズ次第で超高性能デスクトップPCにすることができます。

そして小さい筐体でありながら、使いそうなポートが沢山備えられているのも魅力です。

Ethernetポートは10Gbpsに対応し、Thunderbolt 3ポートにはeGPUを接続可能とのことです。

そんな高性能で筐体が小さいMacなので、映像制作現場でスタックさせて使うこともできますし

何ならデータセンターのサーバーマシンとしても使えますよというような説明にちょっと笑ってしまいました。

Mac mini – Apple

今回は以前から噂されていた新しいMacが2つも発表されたので、正直とてもびっくりでした。
自分は旧モデルのMacBook Air 11インチを使っていまして、持ち運ぶのにはとても使いやすい大きさなのですが、現在は残念ながらラインナップから消えてしまっていました。
このままMacBook Air自体もなくなってしまうのかな?と思っていたので、今回の新機種発表はとても嬉しいニュースですね。

旧モデルの13インチMacBook Airよりも筐体の大きさも小さくなっているようですので、もし次乗り換えるなら選択肢としてありかもなぁ、と感じました。

takahashi 著者:takahashi

IBMがRedHatを買収 気になるRedHat系OSへの影響

昨日、衝撃のニュースが発表されました。

IBMがRedHat買収合意を発表。買収額約3.8兆円、クラウド分野でアマゾン・マイクロソフト追撃 – Engadget 日本版

なんとオープンソース界隈で非常に大きな影響力をもつRedHat社がIBMに買収されてしまいました。
しかもその買収額は3兆8000億というとんでもない額。これには世界中のIT界隈の人々が驚いたことだと思います。

RedHat社は商用(有料)Linuxディストリビューションの中でも非常に人気の高いRedHat Enterprise Linux (RHEL)を開発、販売している会社です。
また、Linuxディストリビューションのfedoraや、RHELのオープンソース部分を使用して作られたCentOSなどともかかわりが深く、開発に協力していたり、これらのディストリの成果をRHELにも取り込んでいたりと、かなり密接な関係をもつ、オープンソース界隈でもかなり影響力の高い企業でした。

今回の買収でRedHatが完全にIBM傘下に収められたわけですが、個人的に懸念していることがあります。
RedHatは完全にオープンソースへの協力を積極的に行っている企業なのは目に見えてわかりますが、一方IBMについては、個人的に「…?」という印象でした。
もしかすると実際はいろいろなプロジェクトを支援しているのかもしれませんが、少なくとも最近になってオープンソース支援へとシフトしつつあるMicrosoftよりも地味な印象でした。

買収後もRedHatの動きについては現状のままにしたいとIBMは言っているようですが、IBMのオープンソースへのスタンスがいまいちわからないので、個人的にはちょっと不安です。

CentOSは、もともとRHELのオープンソース部分を利用して、有志のメンバーがRHELと同等の機能を持つことを目指して開発されている、RedHat Linuxから派生したRedHat系のLinuxディストリビュージョンです。CentOS自体はもともとRedHatとは関係がありませんでしたが、2014年にRedHatが正式に派生OSとして承認を出し、RedHatから直に開発支援を受けられる状態になりました。

今更聞けない!CentOSとRed Hatの違いとは? – エンジニアの入り口

そんなわけで、現在CentOSはサーバーOSとして非常に人気が高く、LinuxをサーバーOSとして使用する企業や団体の多くで使用されている上、各IaaSクラウドサービスのほどんどで公式フレーバーが提供されているほどになっています。

今後IBMが介入してくることでこういったCentOSや同じくRedHatが支援するfedoraとの関係が変化してしまうのではないか、と個人的に心配しています。

ただ、買収されたからと言って悪い方に転ぶとは限りませんし、今よりより良くなっていく可能性もあると思います。
今後RedHatの買収によってこの辺りがどうなっていくのか…注目していきたいですね。