背景 CentOS7を新規インストール時、不要なパッケージを入れたくなかったので「Minimal ISO」のイメージを使用しました。当然ながらGUI環境が入ってなかったので、GUIを使えるように、追加でインストールを行いました。
GUI環境のインストール まずはGUI環境を以下のコマンドでインストールします。「groupinstall」を使えば、関連するパッケージ群を1つのグループとしてまとめてインストール可能です。
sudo yum -y groupinstall "GNOME Desktop" GUIを有効化する GUI環境一式のインストール完了したら、以下のコマンドでGUIを有効にします。
startx 有効化すると以下のような初期設定画面が表示されるので、言語設定などをします。 初期設定が完了すると、GUI環境で作業ができるようになる。 GUI環境で起動するようにする GUI環境は整ったが、このままではシステムを再起動するとCUIに戻ってしまいます。
次回起動時もGUI環境で立ち上げたい場合は、システム起動時のランレベルを変えてあげる必要があります。ランレベルは簡単に言えば「起動モード」みたいなものです。
sudo systemctl set-default graphical.target これで次回起動時からGUI環境で立ち上がるようになります。ちなみに、「やっぱり起動時はCUIにしたい」というときは以下のコマンドで元に戻せます。
sudo systemctl set-default multi-user.target
CRC VMの内部動作を確認する CRC VMのIPアドレスを確認する
[centos@ip-172-31-19-74 ~]$ crc ip 192.168.130.11 CRC VMへSSH接続する
[centos@ip-172-31-19-74 ~]$ ssh -i ~/.crc/machines/crc/id_ecdsa core@$CRC_IP CRC VMの中でpodmanでdnsmasq(DNSサーバ)が起動していることが分かる
[core@crc-xxcfw-master-0 ~]$ sudo podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 128a6fe17e5e quay.io/crcont/gvisor-tap-vsock:3231aba53905468c22e394493a0debc1a6cc6392 3 weeks ago Exited (0) 7 hours ago gvisor-tap-vsock e3593ab79e1d quay.io/crcont/dnsmasq:latest 3 weeks ago Up 7 hours ago 0.0.0.0:53->53/udp crc-dnsmasq CRC実行ホストのNetwork Manager設定 CRCセットアップ後のホスト上のdnsmasqのCRC用インスタンスは下記のようになっています。
[centos@ip-172-31-19-74 ~]$ cat /etc/NetworkManager/dnsmasq.d/crc.conf server=/apps-crc.testing/192.168.130.11 server=/crc.testing/192.168.130.11 なお、このcrc.confはcrc setupおよびcrc start時にチェックされ、設定を変更することができません
CRCホストの/etc/hosts CRCセットアップ後、CRCを実行するホストの/etc/hostsには設定が追加されます
[centos@ip-172-31-19-74 ~]$ sudo cat /etc/hosts 127....
背景 Linuxでコマンドの実行ログを保存したいことは非常に多いと思います。これは、後で見返せるようにするためでもありますし、派遣社員などの場合は自分の身を守るための手段にもなります。
使用方法 script <ログを保存したいファイル名> ファイル名を指定しなかった場合は、カレントディレクトリにtypescript というファイルで保存されます
日付の入ったファイル名で保存したい場合
script `date +%Y%m%d`.log このようにすれば日付名で作業ログを保存できます。
実際に使ってみます。 $ script スクリプトを開始しました、ファイルは typescript です $ date 2021年 3月 28日 日曜日 06:46:13 EDT 終了する場合はexitするかctrl+dを実行します
$ exit exit スクリプトを終了しました、ファイルは typescript です ファイルにログが残っているか確認する
$ cat typescript スクリプトは 2021年03月28日 06時46分11秒 に開始しました$ date 2021年 3月 28日 日曜日 06:46:13 EDT $ exit exit スクリプトは 2021年03月28日 06時47分10秒 に終了しました きちんと記録されていました。
既存ファイルへの追記方法 次に、ファイルへの追記方法を記載します。 同じファイルに追記したい場合はオプション-aを使うことで可能です。
ログファイルをlessコマンドで綺麗に読むためには scriptコマンドで取得したログにエスケープシーケンスが含まれる場合、普通のテキストとして読むとエスケープシーケンスがESCのように表示され可読性が非常に落ちます。この場合、
less -R で読むと綺麗に読むことができます。
参考記事 https://qiita.com/networkelements/items/aa4aec5417306b4c7e71 https://mk-55.hatenablog.com/entry/2017/05/21/013930
背景 CentOS 7 にはデフォルトでFirefoxがインストールされてます。しかし、Google Chromeの方がより便利なこともあるので、Chromeをインストールする方法を紹介します
環境確認 [cloudg@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) レポジトリファイルの作成 [cloudg@localhost ~]$ vi /etc/yum.repos.d/google.chrome.repo 下記の内容を記載する。
[google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub インストール [cloudg@localhost ~]$ yum install google-chrome-stable Internet の部分にGoogle Chromeが表示される 起動方法 下記コマンドで起動できる
[cloudg@localhost ~]# google-chrome エラーが発生する場合 下記のエラーが発生することがある。
[root@localhost ~]# google-chrome [4206:4206:0327/064251.530967:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/63818 /opt/google/chrome/google-chromeの一番最後の行を変更する
vi /opt/google/chrome/google-chrome exec -a "$0" "$HERE/chrome" "$@" --no-sandbox --user-data-dir=~ これで問題なく起動できるようになります。
0.実行した環境 NAME="Ubuntu" VERSION="20.04.3 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.3 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal 1. インストール用のシェルスクリプト apt-get update apt-get -y install ffmpeg ffmpeg -version 2. (番外編)CentOS用のffmpegインストールスクリプト yum -y update yum -y upgrade yum -y install yum-utils yum -y install epel-release yum -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm yum -y install ffmpeg fmpeg-devel
CentOSでプロキシサーバを構築する 背景 業務でインターネット接続ができないサーバから、インターネットに接続できるサーバをproxyとして外部NWと通信する必要があった。今後も似たようなことは多いと思われるのでこちらにまとめる。 Proxyとして動作させるサーバへSquidをセットアップする yumでインストールを行う sudo yum update sudo yum install squid バージョンを確認して正常にインストール出来ていることを確認する。 squid -v Squidの自動起動設定を行い、再起動する。 sudo systemctl enable squid sudo systemctl restart squid 4.Squidがポート3128を使用していることを確認する。
sudo lsof -i:3128 5.出力例
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME squid 21800 squid 11u IPv6 37157 0t0 TCP *:squid (LISTEN) 6.firewallの穴あけ
デフォルトではSquidのポートは3128が設定されており、Port番号3128へ送られるパケットは受け取れるように設定する。
sudo firewall-cmd --zone=public --permanent --add-port=3128/tcp #許可ポートの追加 sudo firewall-cmd --reload #設定反映 sudo firewall-cmd --zone=public --list-all #結果確認(portに3128が追加されていることを確認) proxy clientへのセットアップ proxyを踏み台にプライベートIPでclientにSSHする。 それぞれの設定ファイルにプロキシの設定を記入する。...
0.Pelicanとは Python製の静的サイトジェネレータ。静的サイトジェネレータにも様々なものがあるが、下記の理由で今回はPelicanを利用することにした。
開発が活発。(GitHubのスターの数も良好。) themeも様々なものが選べる。 1.実行環境 MacBook Air (M1, 2020) m1チップ venvの仮想環境で実行 GitHub, GitHub Actions Python 3.9.9 Pelican versino 4.7.1 2.試しに利用してみる 2.0 pelican用の仮想環境を作成する venvで作成する
下のコマンドは/Users/ユーザ名で実行しました。適宜読者の環境に合わせて変更してください。
python3 -m venv venv 2.1 インストール Python製のパッケージであるため、pip経由でインストールする。 markdownには標準で未対応のため、Markdownを利用できるようにmarkdownのパッケージをインストールする。 (省略可能)GitHub Pagesへの操作を可能にするためghp-importをインストールする
pip install pelican markdown ghp-import 2.2 Pelican環境構築 pelican-quickstart を実行すると対話形式でセッティングが始まる。
2.3記事を記載する content ディレクトリ以下にmarkdownで記事をかく。
記事の先頭にはpelicanの決まりでいくつか内容を記載し、その下に投稿したい内容を記載する
2.4 記事を生成する markdownを作成したら、下記のコマンドでHTMLファイルを生成する
make html このコマンドで、手元のローカル環境用のファイルが生成される
2.5 記事をローカルで確認する make serve http://localhost:8000 開いて確認可能
0.CCNP取得前の私のスキル 地方の国立大学を卒業。(一応理系) 縁あって通信企業に入社。 CCNAを2019に取得。この頃は実機試験もありました。 1.なぜCCNPを取得しようと考えたか?
概要 OpenShift4.x以降はMinishiftがなくなり、OpenShift CodeReady Container(CRC)となっている。 以下では公式ドキュメントに沿って手元のベアメタルサーバへインストールを行う。このサーバで色々なことを試してみる。 https://crc.dev/crc/
環境 ホストOS:CentOS7.7 構成図 マシン上でCRCをインストールすると自動的にNWが作成されてCRCが作成される 。 OpenShiftのWebコンソールへアクセスする際には、ベアメタルマシンへリモデスした上でマシン上のブラウザからアクセスする必要がある。 環境確認 [root@ip-172-31-19-74 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) 手順 公式ドキュメントの手順に沿ってインストールする。
1.NetworkManagerをインストールし、起動する [root@ip-172-31-19-74 ~]# yum -y install NetworkManager [root@ip-172-31-19-74 ~]# systemctl restart NetworkManager 2.資材をダウンロードして、解凍して、パスの通ったフォルダへ移動 [root@ip-172-31-19-74 ~]# yum -y install wget [root@ip-172-31-19-74 tmp]# curl -k -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz -o /tmp/crc-linux-amd64.tar.xz #ダウンロードにかなり時間を要します。 [root@ip-172-31-19-74 ~]# cd /tmp [root@ip-172-31-19-74 tmp]# xz -dc /tmp/crc-linux-amd64.tar.xz | tar xfv - [root@ip-172-31-19-74 tmp]# cp -pi crc-linux-1....
0. 背景 hugo-papermodには検索機能を使えるオプションが備わっているらしいのだが、ネットで探してもオプションの実装方法が出てこなかった。(2022/1月時点) そのため、hugoで検索機能を自分で実装することにした。
参考にしたサイト https://blog.mamansoft.net/2019/11/11/add-search-page-in-blog-made-by-hugo/