👌

M1 Mac で telnet をできるようになるまで 

2021/01/09に公開3

新しいもの買いたいなと思い M1 Mac を買いました。
その結果がこれです。

購入後初めて知りました。
最近の Apple の方針として、telnet と ftp は廃止の方針のようですね。

Use ssh and scp instead of telnet and ftp in Terminal

なので、私のよく利用するeve-ngでの利用が致命的なダメージを受けることになります。
これはあかんということで telnet ができるようになるまでを備忘録として残します。

構成

PC : Mac Book Pro 2020 M1 13inch
OS : macOS Big Sur バージョン11.1

やったこと

・ homebrew のインストール
・ telnet のインストール

homebrew のインストール

正直いまだに homebrew がなんなのかよくわかってないです。centOS の yum とかのようなものというくらいの認識しかないです。ですが、Macでは何かをインストールしたりするのによく使うようで、今回の telnet のインストールにも使いました。

昨年12月のアップデート時には既に M1 Mac でもネイティブに動作するようにバージョンアップされているようなのでインストールすることにします。
Homebrew パッケージマネージャー

公式ページの以下のコマンドでインストールを開始します。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

admin@~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew
(省略)

無事インストールが完了しました。
しかし、インストールが完了した後にこんなメッセージが書かれています。

Warning: /opt/homebrew/bin is not in your PATH.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (or will be during this `install` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Add Homebrew to your PATH in /Users/admin/.zprofile:
    echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/admin/.zprofile
    eval $(/opt/homebrew/bin/brew shellenv)
- Run `brew help` to get started
- Further documentation:
    https://docs.brew.sh

どうやら M1 Mac での homebrew の推奨インストール先は /opt/homebrew 先になるので、このインストールしただけでは PATH が通ってないですよということらしいです。

※公式ドキュメントにも推奨のインストール先は /opt/homebrew という記述があります。詳細は以下のページに色々記載がありました。
https://docs.brew.sh

なので上記のメッセージに従って、Next steps:以下①②のコマンドを打っていきます。
一つ一つ対応していくことにします。

Next steps:
- Add Homebrew to your PATH in /Users/admin/.zprofile:
    ①echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/admin/.zprofile
    ②eval $(/opt/homebrew/bin/brew shellenv)
- Run `brew help` to get started

実行した後に、 homebrew が動いているかどうか、brew doctor を試しに打ってみました。

admin@~ % brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: The following directories are not writable by your user:
/opt/homebrew/share/zsh
/opt/homebrew/share/zsh/site-functions

You should change the ownership of these directories to your user.
  sudo chown -R $(whoami) /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions

And make sure that your user has write permission.
  chmod u+w /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions

すると、こんなメッセージが出てきました。
インストールガイドに従ったのに、、、って感じでしたが、homebrew をつかう上では問題がないようですね。私は一応今後のためも考えて権限の変更も行っていますが、気にならない方はやる必要がないかなと

権限の変更を行ったあとに再度確認です。

admin@~ % brew doctor
Your system is ready to brew.
admin@~ %

これでインストール完了です。

telnet のインストール

これは ”brew install telnet” で完了です。
特にいうことなしです。

試しに telnet

無事 telnet ができるようになりました!

工事完了!閉廷!

Discussion

sugitksugitk

curl があるなら curl で telnet すればいいと思いますが、どうでしょう。

$ curl -v telnet://192.168.0.11:32769
billybilly

コメントありがとうございます。
そうですね。それでもいいと思いますよ。

ただ、今後スクリプトからのtelnetだったりとかを考えると入れておいた方がいいかもなぁ
と思ったので別に入れている感じですね。

あと単純に curlでtelnetするとコンフィグシークエンスが私が慣れていないだけかもしれませんがめちゃくちゃやりづらいです。