日記帳

プログラミングのことをつぶやく日記です。

yum Error: Cannot find a valid baseurl for repo: baseの対処法

CentOS6のyum installを実行したら、「yum Error: Cannot find a valid baseurl for repo: base」というエラーが出ました。baseurlは、どこで記述があるんだ?と調べたら以下の記事に答えがありました。/etc/yum.repos.d/CentOS-Base.repoにyumでのライブラリ取得先が記述してあります。

yum Error: Cannot find a valid baseurl for repo: baseの対処法 – rilakkuma3xjapan's blog

sudo vim /etc/yum.repos.d/CentOS-Base.repo

以下が/etc/yum.repos.d/CentOS-Base.repoの一部です。baseurlをhttp://mirror.centos.org/centos/$releasever/updates/$basearch/からhttp://archive.kernel.org/centos-vault/6.10/os/x86_64にしました。http://mirror.centos.orgのCentOS6のライブラリは、古いのでなくなってしまったようです。すべてのbaseurlを書き換えます。書き換えたあと、無事にyum installができるようになりました。

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://archive.kernel.org/centos-vault/6.10/os/x86_64
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

CentOS6にyumを再インストールした

誤ってCentOS6でyum自体を消してしまったので再インストールした。コマンドは以下の通り。

cd ~
# yumを取得
wget https://archive.kernel.org/centos-vault/6.10/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
# インストールする
rpm -ivh *

参考資料

CentOSにyumをインストールする方法(例:CentOS5.3) | 独学PHP・MySQL学習入門

DNSに指定した8.8.8.8は何者か

VirtualBoxを用いてCentOSの環境を作成することがあり、接続先の編集をする機会があった。資料を見ながら環境構築していてDNSに8.8.8.8を指定しており、これは何のアドレスなのか気になった。

8.8.8.8はGoogle Public DNSである。以下は公式の文章を引用して理解してみる。1

Why does DNS matter? The Domain Name System (DNS) protocol is an important part of the web's infrastructure, serving as the Internet's phone book: every time you visit a website, your computer performs a DNS lookup. Complex pages often require multiple DNS lookups before they start loading, so your computer may be performing hundreds of lookups a day.

DNSプロトコルはインターネットの電話帳のようなものを配るWEBのインフラの重要な部分である。いつでもあなたはWEBサイトを訪れることができ、あなたのコンピュータはDNSの逆引きを実行する。複雑なページはロードをスタートする前に、時々複数のDNSの逆引きを要求する。だからあなたのコンピュータは1日に数百の逆引きを実行することになるだろう。

Configure your network settings to use the IP addresses 8.8.8.8 and 8.8.4.4 as your DNS servers.

あなたのDNSサーバーのように、IPアドレス8.8.8.8と8.8.4.4を使うため、あなたのネットワークセッティングを行う。

なぜGoogle Public DNSを使うべきなのか?

公式サイトに以下の記述があった。

  • ブラウザの体験をスピードアップさせる
  • あなたのセキュリティを向上させる
  • リダイレクトせずに期待したどおりの結果が得られる

ほかのPublicなDNSもある?

ここをみていろいろDNSがあることを知った。2

Windowsランチャーアプリ「Keypirinha」を導入した

Mac->Windwosに移行したときにalfred3みたいなランチャーアプリを探していたら「Keyprinha」に落ち着きそうなので、導入でやったことをメモした。

スタートメニューは使いづらい

移行当初は、Winキーを押して出現するスタートメニューをランチャー代わりにしていたけど、動作がもっさりしていて使用感が良くなかった。

Hain を試したけどUWPをsearchできない

最初は「Hain」というランチャーアプリを試した。

GitHub - hainproject/hain: An 'alt+space' launcher for Windows, built with Electron

使用感はよさそうに思ったが、UWP(MicrosoftStoreでインストールしたアプリのこと)が起動できない。僕はWindows Teminalを頻繁に立ち上げるので、これはできてほしい。解決方法は存在しないか調べてみた。このUWPの実行ファイルは C:\Program Files\WindowsAppsフォルダに隠しフォルダとして格納されている。しかしHainからこの場所を参照するには権限の変更が必要であった。権限の変更など正直面倒だったので、Hainはやめることにした。この記事を書いているときに気が付いたが、Hainの開発は2018で止まっていた。UWPの権限回りはここを見て知った。

KeyprinhaならUWPを立ち上げることができそうだ

調べたら以下の記事にたどり着いた。どうやらKeyprinhaならプラグインを入れればUWPを立ち上げることができそうだ。導入した上でやったことを書き残す。

shikiyura.com

導入手順

導入に当たっては以下の3点の資料を読んだ。

Keyprinhaの公式ドキュメント

Keyprinhaのパッケージ管理のリポジトリ

UWPアプリを起動させるためのパッケージのReadme

公式ドキュメント通り、Download full version (portable) をダウンロードした。デフォルトのショートカットだと Ctrl + win + K でKeyprinhaが起動する。次にUWPも参照できるようにする。新たにパッケージを入れる必要がある。まずはKeyprinhaでパッケージを管理できるようにする。Keypirinha: Consoleを開いて以下のコマンドを実行した。このコマンドはKeyprinhaのパッケージ管理のリポジトリのReadmeに記述があった。

import keypirinha as kp,keypirinha_net as kpn,os;p="PackageControl.keypirinha-package";d=kpn.build_urllib_opener().open("https://github.com/ueffel/Keypirinha-PackageControl/releases/download/1.0.4/"+p);pb=d.read();d.close();f=open(os.path.join(kp.installed_package_dir(),p),"wb");f.write(pb);f.close()

実行したらLaunchBoxを開いて、Install Package と入力した。そのあとにKeypirinha-WindowsAppsと入力した。しばらくして、LaunchBoxWindowsTerminalと打って、UWPアプリが起動できることを確認した。

f:id:leokun0210:20211022180327p:plain

ショートカットキーを変更する

デフォルトのショートカットでKeyprinhaを立ち上げるの指が攣るので、Alt + SpaceLaunchBoxが開けるようにした。Configure Kyeprinhaでiniファイルを編集した。以下のように書けばショートカットを変更できた。

[app]
hotkey_run = Alt+Space

Mysql2::Error: SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol を解決した

MySQLに接続しようと思ったら下記のようなエラーが出ました。

Mysql2::Error: SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol

調べたところUbuntu20.04で見られるエラーらしいです。1

StackOverFlowにはUbuntu20.04はデフォルトではTLS1は使えないようです。どうやらTLS v1.2がデフォルトで使用する設定のようです。2

stackoverflow.com

参考にした資料通りに設定を変更します。

> sudo vim /usr/lib/ssl/openssl.cnf

ファイル上部に下記を追加しました。

openssl_conf = default_conf

ファイル下部に末尾を追加しました。

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1

この辺りは詳しくないので間違っていたら教えていただきたいです。