脳死のyumインストールはundoでやり直せたのか
概要
- WordPressにphpが必要だったので脳死で
yum install php
を実行したが要件とは違うバージョンだった yum erase
コマンドでアンインストールしたが依存関係とかで一緒にインストールされたパケージを調べていちいち指定するのが凄く面倒yum history undo <id>
を使用すれば依存関係含めてアンインストールしてくれることを初めて知った
背景
WordPressの要件でphpが必要とあったので脳死でインストールを実行した。
ただ特にリポジトリの追加とかしていなかったのでインストールしてみると、WordPressの要件ではphp7.4以上が必要だが5.4がインストールされていた。
要件満たしていないし、アンインストールするかと思ったが自分が知っているアンインストール方法がyum erase php
だったので実行しようと思ったがどうやら依存関係も一緒にアンインストールしてくれないらしい。
[root@centos ~]# yum erase php 読み込んだプラグイン:fastestmirror 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php.x86_64 0:5.4.16-48.el7 を 削除 --> 依存性解決を終了しました。 依存性を解決しました ============================================================================================= Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================= 削除中: php x86_64 5.4.16-48.el7 @base 4.4 M トランザクションの要約 ============================================================================================= 削除 1 パッケージ インストール容量: 4.4 M 上記の処理を行います。よろしいでしょうか? [y/N]
なので面倒だがyum history package-list php
でphpをインストールしたyumのidを確認し、yum info <id>
でインストールしたパッケージ名を確認してerase実行の際に面倒だが全部指定してアンインストールした。
[root@centos ~]# yum history package-list php 読み込んだプラグイン:fastestmirror ID | 操作 | Package ------------------------------------------------------------------------------- 2 | インストール | php-5.4.16-48.el7.x86_64 [root@centos ~]# yum history info 2 読み込んだプラグイン:fastestmirror トランザクション ID : 2 開始時間 : Wed Jun 23 23:24:23 2021 開始 rpmdb : 311:5a9b6def48d577ce4831358c73b5a31a376127d0 終了時間 : 23:24:25 2021 (2 秒) 終了 rpmdb : 320:d9c4f12805f236f194710b521d3834dd4a52744f ユーザー : root <root> 終了コード : 成功 コマンドライン : install php トランザクションの実行: インストール rpm-4.11.3-25.el7.x86_64 @anaconda インストール yum-3.4.3-154.el7.centos.noarch @anaconda インストール yum-plugin-fastestmirror-1.1.31-42.el7.noarch @anaconda 切り替えたパッケージ: 依存インストール apr-1.4.8-7.el7.x86_64 @base 依存インストール apr-util-1.5.2-6.el7.x86_64 @base 依存インストール httpd-2.4.6-97.el7.centos.x86_64 @updates 依存インストール httpd-tools-2.4.6-97.el7.centos.x86_64 @updates 依存インストール libzip-0.10.1-8.el7.x86_64 @base 依存インストール mailcap-2.1.41-2.el7.noarch @base インストール php-5.4.16-48.el7.x86_64 @base 依存インストール php-cli-5.4.16-48.el7.x86_64 @base 依存インストール php-common-5.4.16-48.el7.x86_64 @base
で、そのままインストールを続けてたのですが、また別のパッケージをアンインストールする必要が出てきて(何度脳死インストールするんだと)、さすがにちゃんと調べたらyumでインストールしたやつ一括でアンインストールするコマンドあるんじゃね?と思い調べた。 ありましたわ。
[root@centos ~]# yum history undo 2 読み込んだプラグイン:fastestmirror Undoing transaction 2, from Wed Jun 23 23:24:23 2021 依存インストール apr-1.4.8-7.el7.x86_64 @base 依存インストール apr-util-1.5.2-6.el7.x86_64 @base 依存インストール httpd-2.4.6-97.el7.centos.x86_64 @updates 依存インストール httpd-tools-2.4.6-97.el7.centos.x86_64 @updates 依存インストール libzip-0.10.1-8.el7.x86_64 @base 依存インストール mailcap-2.1.41-2.el7.noarch @base インストール php-5.4.16-48.el7.x86_64 @base 依存インストール php-cli-5.4.16-48.el7.x86_64 @base 依存インストール php-common-5.4.16-48.el7.x86_64 @base 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ apr.x86_64 0:1.4.8-7.el7 を 削除 ---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を 削除 ---> パッケージ httpd.x86_64 0:2.4.6-97.el7.centos を 削除 ---> パッケージ httpd-tools.x86_64 0:2.4.6-97.el7.centos を 削除 ---> パッケージ libzip.x86_64 0:0.10.1-8.el7 を 削除 ---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を 削除 ---> パッケージ php.x86_64 0:5.4.16-48.el7 を 削除 ---> パッケージ php-cli.x86_64 0:5.4.16-48.el7 を 削除 ---> パッケージ php-common.x86_64 0:5.4.16-48.el7 を 削除 --> 依存性解決を終了しました。 依存性を解決しました ============================================================================================= Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================= 削除中: apr x86_64 1.4.8-7.el7 @base 221 k apr-util x86_64 1.5.2-6.el7 @base 194 k httpd x86_64 2.4.6-97.el7.centos @updates 9.4 M httpd-tools x86_64 2.4.6-97.el7.centos @updates 168 k libzip x86_64 0.10.1-8.el7 @base 104 k mailcap noarch 2.1.41-2.el7 @base 62 k php x86_64 5.4.16-48.el7 @base 4.4 M php-cli x86_64 5.4.16-48.el7 @base 8.8 M php-common x86_64 5.4.16-48.el7 @base 3.8 M トランザクションの要約 ============================================================================================= 削除 9 パッケージ インストール容量: 27 M 上記の処理を行います。よろしいでしょうか? [y/N]
所感
- undo指定があったの初めて知った。今までeraseやってたのばかみたい。
- さすがに更新されたパッケージはundo出来ないっぽい
- 脳死インストールはしないようにと思ったが、undoがあるならもういいかなって気がしてきた。できる幅が良くも悪くも広がった。
httpdインストールでいつもポート開放忘れる
概要
- CentOS7.4でhttpdインストールして直ぐにブラウザでアクセスできると思ったらアクセスできなかった
- 原因はサーバ側のポート開放忘れ
- firewall-cmdコマンドで80番ポート(http)を開けて解決
背景
WordPressを構築しようと思い、下記で要件を確認するとhttpdが必要とあるのでとりあえずインストールしてみた。サービスもちゃんと起動。 https://ja.wordpress.org/about/requirements/
yum -y install httpd systemctl status httpd systemctl start httpd
そこで直ぐにapacheのテストページが見れると思ったら見れなかったので原因切り分け。 まずはpingで確認をするか、、、と思ったがそもそもsshでアクセスして操作しているのでIPやネットワークの経路とかは大丈夫そう。 なのでポートが開いているかコマンドプロンプトから確認。(この時点でそういえばポート開放必要だったのをうっすら思い出していたが念のため)
telnet <ip> 80
しかし接続中から画面が進まず、ほぼポートで確定と判断。 そのためサーバで下記コマンド実施。
firewall-cmd --list-all --zone=public --permanent # services, portsにhttpや80が設定されていないことを確認 firewall-cmd --add-service=http --zone=public --permanent systemctl restart firewalld # 設定の反映
これで再度ブラウザからアクセスしてちゃんとテストページが表示されることを確認。
所感
ふと思いついたので書き出す
結局ほとんど記事書かず放置になってたけど、最近なんとなくWordPressを構築しようと思い色々試してた際、躓いたことがちらほらったのをどこにもアウトプットしないのはもったいないと思いここを思い出した。 せっかくだしここに色々躓いたことを書こうと。 もともとそういう躓きを書こうと思って始めたのに全然更新してなかった。。。 AWX構築とか他にも色々ネタあったのにな。。。
なので久しぶりに書こうと思いまーす。 明日から。とりあえず宣誓だけ。
whoisじゃなくrdapなんてのもあるのね
AWS上に練習として個人的にサーバを立ててるんですが、色んなIPアドレスからアクセスされてました。 なのでどこからアクセスされてるのかな~、と思いwhois情報を自動で取得するスクリプトを作成してみた。 備忘として置いておきます。※ほぼshellスクリプトほぼ初心者なのでだいぶひどいと思いますが、、、 ちなみに情報取得するのにすごく時間かかります。1分間に5件くらい
#!/bin/bash iFile=iplist.log oFile=whois.log count=0 date >> $oFile echo "whois.sh is now start" >> $oFile DATA=`cat $iFile` ipCount=`wc -l $iFile` while read line do count=`expr $count + 1` echo $count "/" $ipCount >> $oFile echo "###########################" >> $oFile echo "ipaddress : $line" >> $oFile echo "###########################" >> $oFile whois $line >> $oFile done << FILE $DATA FILE date >> $oFile echo "whois.sh has end" >> $oFile
会社でもこれ使えないかなと思ったんだけど、FWで43ポートは使用できないようになってるようで困ったな~と思ってたら、whoisに代わる次世代プロトコルとしてRDAPなんてのがあるらしい。 これならcurlで利用でき、またjson形式で取得されるのでいろいろと捗りそう。まだ仕組みが分かってないので、もう少し調べる必要はありそうですが。。。
ARA(Ansible Report Analysis)をインストールしたい
上記記事を拝見し、仕事でもAnsibleを使用する機会が増えてきたため、araができたら面白いかなと思い、最初はDockerのコンテナで入れて遊んでみていた。
ただ試していたコンテナでは、ansibleでリモートのサーバを操作する際、paramikoをインストールしろと怒られ、paramikoをコンテナにインストールしてみるもなぜか引き続きインストールしろと怒られる。。。
なのでコンテナに頼らず、自分でインストールして試してみるかと思い、下記githubを参考に(Quickstartも簡単そうだし)インストールしてみると、sqliteを3.8.3までバージョンアップしろと怒られる。
じゃあsqliteをyumでアップデートすればいいのかなと思い、アップデートしてみると3.7.17までしか上がらない。
調べてみると、どうやら自分でペッケージを持ってきて、ビルドするところから必要らしい。
ここでめげて、備忘含めちゃんと記事を投稿しようと思い立ち(現実逃避)、初投稿。
最近ansibleにはまってます。