[CentOS]コマンド4
z77 : CentOS 7.1.1503
https://qiita.com/SkyLaptor/items/56c9b5f5784f19cac225
ここを参考にやってみる。
# yum -y install xrdp
エラーになったので、メッセージ通りに--skip-brokenを付けて再実行。
# yum -y install --skip-broken xrdp
しかし、xorgxrdpなどがエラーでインストールされない。
# yum -y install tigervnc-server
こちらはインストール出来た。
https://higherhope.net/?p=3652
ここを見て以下やってみた。
# yum clean all
# yum update --enablerepo=cr xorgxrdp
これも失敗。
バージョン指定でカーネルをインストール(成功)
ここを参考にやってみる。
CentOS kernel version up
https://qiita.com/hihihiroro/items/5759b4ce98a226e6c25b
ここを見て、バージョン指定でカーネルを変更してみる。
カーネルモジュールのフルパスを確認するためにブラウザで以下へアクセス。
https://cdn.kernel.org/pub/linux/kernel/v4.x/
4.5系の最終バージョンをダウンロードする事にする。
linux-4.5.7.tar.gz
# cd /usr/local/src/
# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.5.7.tar.gz
# tar zxvf linux-4.5.7.tar.gz
# cd linux-4.5.7/
# KERNEL_VERSION=`uname -r`
# cp -i /boot/config-$KERNEL_VERSION ./.config
# make oldconfig
※ 聞かれたら、ひらすらENTERを押す。100個くらい?
# make -j4
:
scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
:
# yum -y install openssl-devel
※ Ubuntuとかでは、libssl-devらしい。
これでopenssl/bio.hが生成されたようなので、再度make
# make -j4
1時間くらい待っても終わらない。
画面が消えてしまって戻らないので、数時間後に見計らって電源長押しでOFF。
# make modules_install
:
INSTALL /lib/firmware//9600.bin
DEPMOD 4.5.7
2分くらいで終わった。
# make install
sh ./arch/x86/boot/install.sh 4.5.7 arch/x86/boot/bzImage \
System.map "/boot"
grub2.cfgはなかったので、grub2-efi.cfgに対して以下実行。
# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2-efi.cfg
CentOS Linux (4.5.7) 7 (Core)
CentOS Linux (4.5.7) 7 (Core) with debugging
CentOS Linux 7 (Core), with Linux 5.2.2-1.el7.elrepo.x86_64
CentOS Linux 7 (Core), with Linux 0-rescue-f08xxxxxxxxxxxxxxxx
カーネル4.5.7が入っている事が確認できた。
起動カーネル変更する。
# grub2-set-default 0
設定を反映する。
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot
再起動後にカーネルバージョン確認すると、上がってた。
# uname -r
CentOSバージョンのダウングレード(失敗)
CentOS7のバージョン固定とダウングレードのやり方
https://www.jifu-labo.net/2018/05/centos7_ctrl_version/
ホスト: z77
現バージョン: 7.6.xxxx
まずはどのバージョンにダウングレードするか、目標のバージョン名を確認する。
http://ftp.iij.ad.jp/pub/linux/centos/
目標バージョンは、7.1.1503、にする。
以降rootになって作業。
# echo 7.1.1503 > /etc/yum/vars/releasever
※ releaseverは存在しなかったが、これで生成された。
以下を実行する前に、念のためCentOS-Base.repoをバックアップしておいた。
# sed -i".org" -e "s/^mirror/#mirror/" -e "s/^#baseurl/baseurl/g" -e "s/mirror.centos/vault.centos/g" /etc/yum.repos.d/CentOS-Base.repo
ダウングレードしようとするとsystemdが削除出来ないように保護されているため、このままでは出来ないとか。
削除保護用の設定ファイルを退避して、ダウングレード出来るようにする。
# mv /etc/yum/protected.d/systemd.conf /etc/yum/protected.d/systemd.conf.bak
キャッシュクリーン後にダウングレード実施。
# yum clean all
# yum distribution-synchronization
:
Error: Package: libkadm5-1.15.1-37.el7_6.x86_64 (@updates/7)
Requires: libkdb5.so.8()(64bit)
Removing: krb5-libs-1.15.1-37.el7_6.x86_64 (@updates/7)
libkdb5.so.8()(64bit)
Downgraded By: krb5-libs-1.12.2-15.el7_1.x86_64
-libkdb5.so.7()(64bit)
Error: nss-pem conflicts with nss-3.19.1-7.el7_1.2.x86_64
You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
anaconda-core-19.31.123-1.el7.centos.2.x86_64 has missing requires of fcoe-utils >= ('0', '1.0.12', '3.20100323git')
openmpi-1.8.4-1.x86_64 has missing requires of libpapi.so.5.2.0.0()(64bit)
エラーになった。
メッセージに従い、オプション付けてみた。
# yum distribution-synchronization --skip-broken
しかし、やっぱりエラー。
Bluetooth接続トラックポイントキーボード接続(成功)
ホスト: CentOS 7.6.1810
# systemctl enable bluetooth
# vi /etc/bluetooth/main.conf
AutoEnable=true
# hciconfig hci0 up
※ これをやらないと、後々scan onでFailed to start discoveryとなる。
# bluetoothctl
[bluetooth]# scan on
Discovery started
:
ここでThinkPad Compact Bluetooth Keyboard with TrackPointが検出される。
# pair <キーボードのMACアドレス>
# connect <キーボードのMACアドレス>
connect successfully
これで接続できた。
しかし、OS起動時の自動接続がうまくいかない。
Ansibleでcobblerインストール(CentOS8 ansibleインストール失敗)
ホスト: h67
OS: CentOS8.0.1905
1.dvd1.isoからh67へOSインストール
2.yum -y update
3.EPELレポジトリ追加
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# rpm -ivh epel-release-latest-8.noarch.rpm
4.Ansibleインストール
# yum -y install ansible
っとやってもパッケージが見つからないので、以下方法で。
https://computingforgeeks.com/how-to-install-and-configure-ansible-on-rhel-8-centos-8/
# dnf -y install python3-pip
# pip3 install --upgrade pip
# pip3 install ansible --user
Traceback (most recent call last):
FIle "/usr/bin/pip3", line 7, in <module>
from pip import main
ImportError: cannot import name 'main'
なんかエラーになってしまう。
https://kokensha.xyz/python/python-pip3-cannot-import-name-main-error-after-upgrading-pip/
さっきpip3をアップグレードをしたのが間違いという情報見つけたので、
# yum remove python36
# yum -y install python36
っとやってみたが現象同じ。
Ansibleでcobblerインストール(CentOS7)
ホスト: h67
OS: CentOS7
1.minimal.isoからh67へOSインストール
2.yum -y update
3.Ansibleインストール
# yum -y install ansible
4.GNOME Desktopインストール(githubからansibleのプレイブックを入手するため)
# yum -y groupinstall "GNOME Desktop"
5.cobbler構築用のansibleプレイブックをダウンロード
Chromeインストール(CentOS7)
# 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
反映させる
# yum update
# yum -y install google-chrome-stable
rootだと起動にクセがあるようなので、一般ユーザで起動
# google-chrome-stable
これで起動する。
Ansibleの基本(CentOS7)
用意するサーバ
・Ansibleサーバ(h67): CentOS7
・操作対象(g33): CentOS7
操作対象側準備
# yum -y openssh-server
# vi /etc/hosts.allow
sshd: 192.168.xx.0
# systemctl start sshd
# systemctl enable sshd
# firewall-cmd --add-service=ssh --permanent
Ansibleサーバ側準備
# yum -y install ansible
# vi /etc/ansible/hosts
ここに操作対象のIPを羅列する。
Ansibleは安全のため、hostsに記載無いIP以外は対象外にするらしい。
localhost
192.168.xxx.yyy
自分自身で動作確認する場合は、以下も忘れずに。
# vi /etc/hosts.allow
sshd: 192.168.xx.0
# systemctl start sshd
# systemctl enable sshd
動作確認してみる。成功した。
# ansible localhost -m ping
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
自身でない操作対象に対して、何らかの操作をしてみる。
まずはプレイブックを書く。
# vi test.yml
- hosts: all ※ hostsとコロンの間は空白禁止!
tasks: ※ tasksとコロンの間は空白禁止! 行頭は空白2個。
- name: hogehoge ※ nameとコロンの間は空白禁止! 行頭は空白4個にして、tasksよりインデント下にする。
yum: name=vim ※ yumとコロンの間は空白禁止! 行頭は空白6個にして、ハイフンでなく、nameとインデント合わせる。
尚、file test.ymlで確認すると、ASCII textになってる。
.vimrcでの設定は、set encoding=utf-8、set fileformat=unixにしてる。
YAML形式?の基本がわかってなくて、空白の位置とかインデントやらでハマったので備忘録。
シンタックスに注意してやったら以下の通り成功した。
# ansible-playbook test.yml
PLAY [all] ****************************
TASK [Gathering Facts] ******************
ok: [192.168.xxx.yyy]
TASK [hogehoge]
ok: [192.168.xxx.yyy]
PLAY RECAP ******************
192.168.xxx.yyy : ok=2 changed=0 unreachable=0 failed=0
sshまとめ
クライアント側
自分の公開鍵を作る
# ssh-keygen -t rsa
ここでパスフレーズを入力すると、後々公開鍵を使ったsshをやっても、毎回パスフレーズを求められるようだ。
生成した公開鍵がある場所へ移動してからサーバ側へコピーする。
# scp -r id_rsa.pub user@192.168.xx.yy:/home/user
この時点では公開鍵を使わずに、パスワードでサーバ側へsshログインする。
# ssh user@192.168.xx.yy
サーバ側
クライアントからサーバ側へsshログインしたら以下。
# cd /home/user
# mkdir .ssh
# chmod 700 .ssh
# cd .ssh
# touch authorized_keys
# chmod 600 authorized_keys
クライアントからコピーしてきたid_rsa.pub内容をauthorized_keysへ追記。
# cat id_rsa.pub >> authorized_keys
作業が終わったら、サーバ側へのsshログインを終了。
# exit
クライアント側
あとは公開鍵を使って、sshログインできるようになる。
# ssh user@192.168.xx.yy