2021年7月8日木曜日

はじめてのRedHat7.7のISOダウンロードとインストール、Subscriptionの紐付けまで

客先でメールサーバに関する設定調査を行う必要があるので自前の環境を構築。

久しぶりにLinuxをインストール。これまではCentOSだったけどDevelopperのサブスクリプションが使えるのでRedHatでやってみた。


前提として以下のURLにアクセスしてアカウントを作成しておく必要あり。

 https://access.redhat.com/


アカウント作成後、以下のURLにアクセスしてISOイメージをダウンロードする。

https://developers.redhat.com/products/rhel/download

最新版でなけれればView Older Downlodsのボタンをポチって対象のバージョンを探す。

ダウンロード時に個人情報の登録を求められるので入力する。


開発者用のサブスクリプションはダウンロード時に自動で発行されている状態っぽい。

以下URLにアクセスすることでサブスクリプションの詳細を確認することが出来る。

https://access.redhat.com/management


アクティブなサブスクリプションというリンクをクリックするとサブスクリプションのインベントリ情報を表示可能。


VMware WorkstationでダウンロードしたISOイメージからインストールを行う。

インストール直後にyum updateを行っても以下の出力が出て失敗する。


-----------------------------------------------------

[root@localhost.local ~]# yum -y update

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-

              : manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

There are no enabled repos.

 Run "yum repolist all" to see the repos you have.

 To enable Red Hat Subscription Management repositories:

     subscription-manager repos --enable <repo>

 To enable custom repositories:

     yum-config-manager --enable <repo>

-----------------------------------------------------


リポジトリの追加も不可

-----------------------------------------------------

[root@localhost.local ~]# yum install epel-release

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

There are no enabled repos.

-------------------------------------------------

----


これはサブスクリプションの紐付けが出来ていないことが原因。
登録の手順は下記URLを参照。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-subscription_and_support-registering_a_system_and_managing_subscriptions


Red Hat Subscription Management を利用して紐付ける。



-----------------------------------------------------

[root@localhost.local ~]# subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username: hoge
Password: 
The system has been registered with ID:******************
The registered system name is: localhost.local

-----------------------------------------------------

これでyum updateを実行できる。


-----------------------------------------------------

[root@localhost.local ~]# yum install epel-release

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
rhel-7-server-rpms                                       | 3.5 kB     00:00     
(1/3): rhel-7-server-rpms/7Server/x86_64/group             | 631 kB   00:00     
(2/3): rhel-7-server-rpms/7Server/x86_64/updateinfo        | 4.0 MB   00:00     
(3/3): rhel-7-server-rpms/7Server/x86_64/primary_db                                                    |  81 MB  00:00:08     
No package epel-release available.
Error: Nothing to do
[root@localhost.local ~]# yum -y upgrade
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package ModemManager.x86_64 0:1.6.10-3.el7 will be updated

-----------------------------------------------------

2017年12月16日土曜日

前向いて仕事してたら転職できたよ

これは転職Adventカレンダー16日目の記事です。
転職 Advent Calendar 2017

バタバタしていてた当日の終わりがけの更新となってしまいました。申し訳ありません。。。
書いては書き直し、書いては書き直しを繰り返し、時間切れで書きたいことの半分くらいしか書けず、推敲もできておらず自己嫌悪中です。。。

自分自身、今年転職した身なので、記録するってくらいの軽い気持ちでAdventカレンダーに登録してみました。


■ダチョウ大臣とは
九州出身の30代。妻ちゃんとお子がいるサラリーマン。
物事あまり考えずに生きてきて、今ここにいます。
零細ブラックIT企業から某外資系企業に転職(一応エンジニアです)


■経歴について
・大学を半年留年して卒業(スポーツや運動、健康が専攻。しょぼいですが十種競技とかしてました。)。
・地方都市の自転車タクシーの立ち上げメンバーのお仕事。
・とある理由で地方都市の中小企業に入社(ソフトウェア開発会社)。OJTの開発プロジェクトで心折れる。
・転勤で上京。某Sierが販売する金融機関向けパッケージのサービスサポートに参画。
・大手銀行のメッセージ交換・決済システムの部署に派遣。
・妻ちゃんと出会い付き合う。
・在職中にとある理由で会社倒産→上長の知り合いの会社に所属をスライド。
・倒産で会社の寮が廃止されたので妻ちゃんと同棲する。
・サービスサポート参画時の知り合いに引き抜かれてサービスサポートに出戻り。
・妻ちゃんと結婚する。
・会社に色々と問題があり、キャリアや生活に不安が募る。
・お子が生まれる。決定的なことがあり、転職活動を行う。
・ご縁あって今の会社に入社。社会人になって一番楽しい時期が来ている所。


■転職のきっかけについて
会社がブラックなことと、社長の考え方と合わない、クソ性格の悪いバカ社員が同じチームにいたこと、上位会社のお局様リーダーがクソだったこと、キャリアアップ・給料アップが望めないこと。それらがきっかけです。
多くは書きませんが、社員の無知に漬け込み法は無視する、パワハラ、えこひいき等々。よくある話ですね。

今だから言えることですが、法を無視する会社はもちろん悪いけど、分かっていながら残り続ける人も自己責任だよなと思いました。
だって辞めることもできれば違う会社選択することもできるから。

あと法に関しても無知は罪。おかしいと思ったら関係機関に相談するなり、無料法律相談に行って確認すべき。
転職前の自分に説教したいです。
ブラック企業に勤めてる人、我慢する必要はないので転職しましょう。
感情的ではなく計画的に。


■自分が転職できた理由
今回私が転職できたのは、アプリケーションサーバやDB等、パッケージを構成していたミドル・インフラの基本的なアーキテクチャを一通りざっくりと理解していたこと、狭すぎるのですが業務知識を持っていたこと(私の場合は中央銀行に口座を持った金融機関の決済業務)、信頼、あとは運だと思います。

参画していたサービスサポートの仕事ですが、通算8年位やっていました。
所謂サポートセンターというやつです。
仕事はエンドユーザ・システム担当・ベンダーからの問い合わせの一次対応が主で、パッケージの仕様確認、障害時の窓口、カスタマイズ要件の受付・ヒアリング、自分たちが実機確認で使用する環境の管理等です。

特に問い合わせの対応は「パッケージについて調査を行う」のみで、「構成しているミドル・インフラの調査は行わない」という謎の方針でした。
なので、「ミドルは知らない、分からない、関係ない」というマインドで仕事をしている人が大半でした。
昔は私もその中の一人でした。

とは言え、検証環境をある程度自由に使えることが出来たのでAIX、RHEL、WMQ、OracleDB、WASを触れることと、またインターネットが使える現場なので調べたり学ぼうと思えば学べる環境は用意されていました。

いつ頃かは忘れましたが、興味本位でミドル・インフラの各種マニュアルやサポートページを見たり、ログを見たりと一歩突っ込んで自分なりに調査したり、調べた結果について認識に齟齬がないが開発担当者に質問するようになっってから色々と変化がありました。

システムの振る舞いが予想でき、問題が起きている処理の当たりがつくようになる、ログ出力結果から該当のプログラムの処理の詳細を追って仕様書と突合するといったことができるようになりました。
開発チームの方にもよく質問させていただき、最近のトレンドの技術について感想を言い合える関係を作れました。

また、パッケージだけでなく、中央銀行側のシステムの仕様にも興味が出ていわゆる接続仕様書や利用細則などを読み込み、金融機関のエンドユーザやベンダーとの会話も仕事として楽しめるようになりました。
それまでは何を言ってるのか訳がわかりませんでしたから(^_^;)

私の振る舞いも変わりました。障害やバク対応であれば、よりエンドユーザに寄り添い、だけど開発側の都合も鑑み、その中で落としどころをどう調整するのかという点に注力しました。
あくまでもユーザーよりなのはお客様に対するサービスサポートだから。その軸はブレないように心がけていました。

お陰様で、中でも外にも自信を持って仕事を行えるようになり、関係者から信頼を得ることができました。



そこから話は飛んでしまうのですが、転職で今の会社の面接を受けた際、サポートしていたユーザ企業がクライアントとのことで、そこのインフラ部門に要員を追加提案したいという状況で人を探しているとのことでした。
構築はできないけど話はできるしキャッチアップもできると自信を持って回答した所、無事採用されました。

その後ユーザー企業との面談では、なんとサポートしていたときの窓口の方が面接担当という奇跡的な状況で、上司の方に私は信頼できると上申していただけ、今は無事にその現場に参画しています。

今回、どちらかという末端と言われる仕事からキャリアアップできたのは、指示された仕事を思考停止してやるのではなく、興味を持ってやる、軸を持ってやる、当たり前かもしれないけどその2つでした。
同じような状況でキャリアアップできないと思っている人がいたら、まずは今やってる仕事を一歩踏み込んでやっていきましょう、自分が変わらなきゃそれから先の自分は変わらないよ、とお伝えしたいです。

愚痴だけ言って過ごしても何も変わらない、前向いて興味持って仕事して、次の職場でも前向いていくつもりで臨めば、道は切り開けることを実体験できました。

ブラック企業にお勤めの方、そこで自分をすり減らしてももったいないだけです。法を守ってる会社に転職しましょう。
まともに評価されない方、評価基準を明確にしている会社に転職しましょう。

訴えても会社はそう簡単に変わらないです。訴えても会社が受けるダメージは少ないです。訴えるくらいならまずは転職しましょう。
自分の生活基盤整えてからでも遅くないです。ちなみに、私は転職してストレスから開放された途端、訴える時間や労力がもったいなくなり、そういったことを考えるのを辞めました。

今のところ、お給料も社会的な安定も得られたので、頑張ってた当時の自分を褒めたいです。
まとまりなく、本当にスミマセン。これ落書きレベルだな。。。

明日は転職に成功した、私以上に高みを目指しているインフラガール『ぽんで』さんです!

若手インフラエンジニアの転職活動

それではでは!

2017年8月19日土曜日

docker pushでレジストリ登録、docker searchでレジストリを検索

[root@localhost ~]# docker push hogehogeRegistry/httpd
The push refers to a repository [docker.io/hogehogeRegistry/httpd]
9a6080c5a748: Pushed
5f70bf18a086: Layer already exists
8d12f3483b2e: Pushing [===============>                                   ] 63.28 MB/203.1 MB
8d12f3483b2e: Pushed
ver1.0: digest: sha256:e83b5b43bc0addd182e8faa79ca6177b9c0764ccd23119a4a459fb3d280e8406 size: 1153
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# docker serch hogehogeRegistry/httpd
docker: 'serch' is not a docker command.
See 'docker --help'.
[root@localhost ~]# docker search hogehogeRegistry/httpd
INDEX       NAME                                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/httpd                       The Apache HTTP Server Project                  1203      [OK]
docker.io   docker.io/hypriot/rpi-busybox-httpd   Raspberry Pi compatible Docker Image with ...   36
docker.io   docker.io/centos/httpd                                                                14                   [OK]
docker.io   docker.io/armhf/httpd                 The Apache HTTP Server Project                  8
docker.io   docker.io/macadmins/netboot-httpd     use in combination with bruienne/bsdpy          4                    [OK]
docker.io   docker.io/centos/httpd-24-centos7     Apache HTTP 2.4 Server                          2
docker.io   docker.io/lolhens/httpd               Apache httpd 2 Server                           2                    [OK]
docker.io   docker.io/i386/httpd                  The Apache HTTP Server Project                  1
docker.io   docker.io/lead4good/httpd-fpm         httpd server which connects via fcgi proxy...   1                    [OK]
docker.io   docker.io/amd64/httpd                                                                 0
docker.io   docker.io/antoineco/httpd             Extra OS variants for the official HTTPd i...   0                    [OK]
docker.io   docker.io/childsb/httpd                                                               0
docker.io   docker.io/dockerpinata/httpd                                                          0
docker.io   docker.io/efrecon/httpd               A micro-sized httpd. Start serving files i...   0                    [OK]
docker.io   docker.io/interferex/httpd            Simple HTTPd Server + TC Rate Limiting          0                    [OK]
docker.io   docker.io/jbpt/httpd                                                                  0                    [OK]
docker.io   docker.io/manageiq/httpd              Container with httpd, built on CentOS for ...   0                    [OK]
docker.io   docker.io/manasip/httpd                                                               0
docker.io   docker.io/objectstyle/httpd           ObjectStyle HTTPD Image                         0                    [OK]
docker.io   docker.io/openbucks/httpd                                                             0
docker.io   docker.io/ppc64le/httpd               The Apache HTTP Server Project                  0
docker.io   docker.io/publici/httpd               httpd:latest                                    0                    [OK]
docker.io   docker.io/publicisworldwide/httpd     The Apache httpd webserver.                     0                    [OK]
docker.io   docker.io/trollin/httpd                                                               0
docker.io   docker.io/visualops/httpd                                                             0
[root@localhost ~]# docker search hogehogeRegistry
INDEX       NAME                     DESCRIPTION   STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/hogehogeRegistry/httpd                 0
[root@localhost ~]#

docker cpでコンテナ上のファイルをホスト側にコピーする

[root@localhost sysconfig]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                  NAMES
0addec887dca        yosizo/httpd:ver1.0   "/bin/bash"         34 minutes ago      Up 34 minutes       0.0.0.0:8000->80/tcp   web01
[root@localhost sysconfig]# docker cp web01:/var/log/httpd /tmp
[root@localhost sysconfig]# ls -la /tmp/httpd
合計 12
drwx------.  2 root root   41  8月 19 11:29 .
drwxrwxrwt. 20 root root 4096  8月 19 12:04 ..
-rw-r--r--.  1 root root  422  8月 19 11:31 access_log
-rw-r--r--.  1 root root  476  8月 19 11:31 error_log
[root@localhost sysconfig]#

2017年8月18日金曜日

コンテナ上でhttpdを起動・ブラウザでアクセスしてみる

[root@localhost sysconfig]# docker run -it -p 8000:80 --name web01 yosizo/httpd;ver1.0 /bin/bash
Unable to find image 'yosizo/httpd:latest' locally
Trying to pull repository docker.io/yosizo/httpd ...
Pulling repository docker.io/yosizo/httpd
/usr/bin/docker-current: Tag latest not found in repository docker.io/yosizo/httpd.
See '/usr/bin/docker-current run --help'.
bash: ver1.0: コマンドが見つかりませんでした...
[root@localhost sysconfig]# docker run -it -p 8000:80 --name web01 yosizo/httpd:ver1.0 /bin/bash
[root@0addec887dca /]#
[root@0addec887dca /]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 02:26 ?        00:00:00 /bin/bash
root         13      1  0 02:26 ?        00:00:00 ps -ef
[root@0addec887dca /]# ls -l /var/www/html/
total 0
[root@0addec887dca /]# touch /var/www/html/index.html
[root@0addec887dca /]# vi /var/www/html/index.html
<h1>Hello,Docker/<h1>
~
"/var/www/html/index.html" 1L, 22C written
[root@0addec887dca /]# cat /var/www/html/index.html
<h1>Hello,Docker/<h1>
[root@0addec887dca /]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2 for ServerName
                                                           [  OK  ]
[root@0addec887dca /]#
[root@localhost sysconfig]#

→ブラウザからアクセスしてみると表示された。


docker rmでコンテナを削除する

[root@localhost sysconfig]# docker ps -a
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                     PORTS               NAMES
956ebd5d66b4        enakai00/centos:centos6   "/bin/bash"         26 hours ago        Exited (0) 6 minutes ago                       centos01
[root@localhost sysconfig]#
[root@localhost sysconfig]# docker rm centos01
centos01
[root@localhost sysconfig]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost sysconfig]#

docker commitによるスナップショットの複製と新リポジトリーの作成

 docker commit centos01 yosizo/httpd:ver1.0
 docker commit [イメージ名] [リポジトリ名:タグ名]
→commitサブコマンドで対象のイメージを指定、作成するリポジトリ名を指定

[root@localhost sysconfig]# docker attach centos01
[root@956ebd5d66b4 /]#
[root@956ebd5d66b4 /]# exit
exit
[root@localhost sysconfig]# docker ps -a
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                     PORTS               NAMES
956ebd5d66b4        enakai00/centos:centos6   "/bin/bash"         26 hours ago        Exited (0) 5 seconds ago                       centos01
[root@localhost sysconfig]#
[root@localhost sysconfig]# docker commit centos01 yosizo/httpd:ver1.0
sha256:24a55adfc23e9963b2771a0acfae076954c26f0d1b841202e0ada476efaeadde
[root@localhost sysconfig]#
[root@localhost sysconfig]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
yosizo/httpd                ver1.0              24a55adfc23e        8 seconds ago       267.7 MB
docker.io/enakai00/centos   centos6             b8c94c5d2d7c        2 years ago         203.1 MB
docker.io/enakai00/centos   centos7             3bd78cf8ed76        2 years ago         172.2 MB
docker.io/enakai00/centos   latest              3bd78cf8ed76        2 years ago         172.2 MB
[root@localhost sysconfig]#
[root@localhost sysconfig]# docker images yosizo/httpd:ver1.0
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
yosizo/httpd        ver1.0              24a55adfc23e        46 seconds ago      267.7 MB
[root@localhost sysconfig]#