單純提供一個相對的解答,並不是標準答案!
單純就是個解答的參考,寫完之後再來這邊查查看答案跟你想的一樣不一樣!?
# A. 確認一下,是否已經安裝了 logrotate 軟體? [root@station200 ~]# rpm -qa | grep logrotate logrotate-3.14.0-3.el8.x86_64 [root@station200 ~]# rpm -q logrotate logrotate-3.14.0-3.el8.x86_64 # 可以使用抓關鍵字的方法處理,如果確定軟體名稱無誤,也能直接查詢! # B. 找出 logrotate 這個軟體內含的檔案檔名 [root@station200 ~]# rpm -ql logrotate /etc/cron.daily /etc/cron.daily/logrotate /etc/logrotate.conf /etc/logrotate.d ...... # C. 找出這個 logrotate 的軟體功能說明 information [root@station200 ~]# rpm -qi logrotate Name : logrotate Version : 3.14.0 Release : 3.el8 Architecture: x86_64 Install Date: 西元2020年02月26日 (週三) 09時06分00秒 Group : Unspecified Size : 146922 License : GPLv2+ Signature : RSA/SHA256, 西元2019年07月02日 (週二) 07時58分49秒, Key ID 05b555b38483c65d Source RPM : logrotate-3.14.0-3.el8.src.rpm Build Date : 西元2019年05月11日 (週六) 22時54分12秒 Build Host : x86-01.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys <bugs@centos.org> Vendor : CentOS URL : https://github.com/logrotate/logrotate Summary : Rotates, compresses, removes and mails system log files Description : The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files. Logrotate allows for the automatic rotation compression, removal and mailing of log files. Logrotate can be set to handle a log file daily, weekly, monthly or when the log file gets to a certain size. Normally, logrotate runs as a daily cron job. Install the logrotate package if you need a utility to deal with the log files on your system. # D. 從既有的檔案去找出該檔案所屬的軟體為何 [root@station200 ~]# rpm -qf /bin/sh bash-4.4.19-10.el8.x86_64 # E. 其實沒關係,因為檔名紀錄是在資料庫,與檔案本身有沒有存在無關!所以還是可以查出來: [root@station200 ~]# rpm -qf /etc/crontab crontabs-1.11-16.20150630git.el8.noarch # 之後主要重新安裝一次 (或強制安裝) crontabs 軟體,該檔案就會回復到源有的狀態。 # F. 怎麼知道 chrony 這個軟體的相依軟體與檔案有哪些?可以簡單這樣做: [root@station200 ~]# rpm -qR chrony /bin/bash /bin/sh /bin/sh ....... shadow-utils systemd systemd systemd
# A. 查詢 logrotate 是否被更動過? [root@station200 ~]# rpm -V logrotate # 若不曾被更動過,就不會有任何訊息顯示 # B. 那麼 /etc/crontab 呢? [root@station200 ~]# rpm -qf /etc/crontab crontabs-1.11-16.20150630git.el8.noarch # 先從檔案找到軟體名稱 [root@station200 ~]# rpm -V crontabs S.5....T. c /etc/crontab 再從軟體名稱去檢查有沒有更動過檔案的資訊 # C. 星期天 2:00 進行一次全系統驗證,並儲存 [root@station200 ~]# vim /etc/crontab 0 2 * * 0 root rpm -Va &> /root/rpmv.txt
# A. 找出 ifconfig 這個『指令』的所屬軟體 [root@station200 ~]# yum provides "*bin/ifconfig" net-tools-2.0-0.51.20160912git.el8.x86_64 : Basic networking tools 軟體庫 :BaseOS 符合來源: 其他 :*bin/ifconfig # B. 嘗試了解該軟體的功能 [root@station200 ~]# yum info net-tools 已安裝軟體包 Name : net-tools Version : 2.0 發行版 : 0.51.20160912git.el8 Architecture : x86_64 Size : 1.0 M 來源 : net-tools-2.0-0.51.20160912git.el8.src.rpm Repository : @System 來源軟體庫 : anaconda Summary : Basic networking tools URL : http://sourceforge.net/projects/net-tools/ 授權 : GPLv2+ Description : The net-tools package contains basic networking tools, : including ifconfig, netstat, route, and others. : Most of them are obsolete. For replacement check iproute package. # C. 列出以 qemu 為開頭的軟體名稱 [root@station200 ~]# yum search qemu 上次中介資料過期檢查:0:08:44 以前,時間點為西元2020年05月25日 (週一) 20時46分32秒。 ============================== Name & Summary 符合: qemu ============================== qemu-guest-agent.x86_64 : QEMU guest agent qemu-kvm-core.x86_64 : qemu-kvm core components qemu-kvm-block-ssh.x86_64 : QEMU SSH block driver qemu-kvm-block-curl.x86_64 : QEMU CURL block driver qemu-kvm-block-iscsi.x86_64 : QEMU iSCSI block driver qemu-kvm-block-rbd.x86_64 : QEMU Ceph/RBD block driver qemu-kvm-block-gluster.x86_64 : QEMU Gluster block driver qemu-kvm.x86_64 : QEMU is a machine emulator and virtualizer qemu-img.x86_64 : QEMU command line tool for manipulating disk images qemu-kvm-common.x86_64 : QEMU common files needed by all QEMU targets libvirt-daemon-driver-qemu.x86_64 : QEMU driver plugin for the libvirtd daemon ipxe-roms-qemu.noarch : Network boot loader roms supported by QEMU, .rom format ipxe-roms-qemu.noarch : Network boot loader roms supported by QEMU, .rom format ================================= Summary 符合: qemu ================================== libvirt-lock-sanlock.x86_64 : Sanlock lock manager plugin for QEMU driver # D. 找出 qemu-kvm 這個軟體的功能 [root@station200 ~]# yum info qemu-kvm 已安裝軟體包 Name : qemu-kvm Epoch : 15 Version : 2.12.0 發行版 : 88.module_el8.1.0+248+298dec18 Architecture : x86_64 Size : 0.0 來源 : qemu-kvm-2.12.0-88.module_el8.1.0+248+298dec18.src.rpm Repository : @System 來源軟體庫 : AppStream Summary : QEMU is a machine emulator and virtualizer URL : http://www.qemu.org/ 授權 : GPLv2 and GPLv2+ and CC-BY Description : qemu-kvm is an open source virtualizer that provides hardware : emulation for the KVM hypervisor. qemu-kvm acts as a virtual : machine monitor together with the KVM kernel modules, and emulates the : hardware for a full system such as a PC and its associated peripherals. # 所以,就是虛擬化功能的軟體喔! # E. 查出到目前為止, yum 進行過什麼行為? [root@station200 ~]# yum history ID | 指令列 | 日期與時間 | 動作 | 已變動 ------------------------------------------------------------------------------- 3 | install tcsh | 2020-04-13 08:53 | Install | 1 2 | install ibus-libzhuyin | 2020-03-01 15:48 | Install | 5 1 | | 2020-02-26 09:02 | Install | 1350 EE
# a. 用 rpm 查詢 pam-devel 安裝了沒? [root@station200 ~]# rpm -qa | grep pam-devel # b. 用 yum 查詢是否有 pam-devel 軟體? [root@station200 ~]# yum search pam-devel =============================== Name 精確符合:pam-devel =============================== pam-devel.i686 : Files needed for developing PAM-aware applications and modules for PAM pam-devel.x86_64 : Files needed for developing PAM-aware applications and modules for # c. 線上直接安裝喔! [root@station200 ~]# yum install pam-devel # d. 使用 rpm 查詢該軟體所屬檔案 [root@station200 ~]# rpm -ql pam-devel /usr/include/security /usr/include/security/_pam_compat.h /usr/include/security/_pam_macros.h .......
# a. 先使用 yum check-update 嘗試分析目前伺服器上有比本機 Linux 還要新的軟體群 [root@station200 ~]# yum check-update NetworkManager.x86_64 1:1.20.0-5.el8_1 BaseOS NetworkManager-adsl.x86_64 1:1.20.0-5.el8_1 BaseOS NetworkManager-bluetooth.x86_64 1:1.20.0-5.el8_1 BaseOS ....... sudo.x86_64 1.8.25p1-8.el8_1.1 BaseOS ....... # b. 隨意選擇一個軟體 (例如 sudo) 來進行單一軟體的升級 [root@station200 ~]# yum update sudo # c. 進行一次全系統升級 [root@station200 ~]# yum update # d. 如果需要每天凌晨 3 點自動背景進行全系統升級,該如何處理? [root@station200 ~]# vim /etc/crontab 0 3 * * * root /bin/yum -y update # 上面的這個 -y 是重點!這樣系統才會自動的輸入 yes 通過!
# a. 將剛剛安裝的 pam-devel 移除掉 [root@station200 ~]# yum remove pam-devel # b. 剛剛已經全系統安裝完畢,請問是否需要重新開機?為什麼? # 答案是『不一定!』如果是一般服務的升級,那只要將服務關閉再啟動,就可以使用最新程式! # 但是,如果是核心,或者是一些基礎函式庫的更新,則最好重新開機! # 尤其是 kernel 的升級,一定要重新開機才能生效!這個可以由 4 個同心圓去理解! [root@station200 ~]# reboot
# A. 從 http://ftp.ksu.edu.tw 去找到三個 URL,然後修改底下的資料,共分三個檔案喔! [root@station200 ~]# vim /etc/yum.repos.d/CentOS-AppStream.repo [AppStream] name=CentOS-$releasever - AppStream #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra baseurl=http://ftp.ksu.edu.tw/FTP/CentOS/8/AppStream/x86_64/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [root@station200 ~]# vim /etc/yum.repos.d/CentOS-Base.repo [BaseOS] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra baseurl=http://ftp.ksu.edu.tw/FTP/CentOS/8/BaseOS/x86_64/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [root@station200 ~]# vim /etc/yum.repos.d/CentOS-Extras.repo [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=http://ftp.ksu.edu.tw/FTP/CentOS/8/extras/x86_64/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial # B. 清除快取! [root@station200 ~]# yum clean all # C. 進行 yum update 看看 [root@station200 ~]# yum update CentOS-8 - AppStream 7.7 MB/s | 7.0 MB 00:00 CentOS-8 - Base 5.5 MB/s | 2.2 MB 00:00 CentOS-8 - Extras 74 kB/s | 5.9 kB 00:00 依賴關係解析完畢。 無事可做。 完成!
# A. 先列出本機上面所有的軟體倉儲 [root@station200 ~]# yum repolist all 軟體庫 ID 軟體庫名稱 狀態 AppStream CentOS-8 - AppStream 已啟用: 5,318 AppStream-source CentOS-8 - AppStream Sources 已停用 BaseOS CentOS-8 - Base 已啟用: 1,661 BaseOS-source CentOS-8 - BaseOS Sources 已停用 Devel CentOS-8 - Devel WARNING! FOR BUILDROOT USE ONLY! 已停用 HighAvailability CentOS-8 - HA 已停用 PowerTools CentOS-8 - PowerTools 已停用 base-debuginfo CentOS-8 - Debuginfo 已停用 c8-media-AppStream CentOS-AppStream-8 - Media 已停用 c8-media-BaseOS CentOS-BaseOS-8 - Media 已停用 centosplus CentOS-8 - Plus 已停用 centosplus-source CentOS-8 - Plus Sources 已停用 cr CentOS-8 - cr 已停用 extras CentOS-8 - Extras 已啟用: 16 extras-source CentOS-8 - Extras Sources 已停用 fasttrack CentOS-8 - fasttrack 已停用 # B. 將 Extras 這個軟體倉儲設定成為預設關閉 [root@station200 ~]# yum config-manager --disable extras [root@station200 ~]# yum repolist all CentOS-8 - AppStream 868 B/s | 4.3 kB 00:05 CentOS-8 - Base 618 kB/s | 3.9 kB 00:00 軟體庫 ID 軟體庫名稱 狀態 AppStream CentOS-8 - AppStream 已啟用: 5,318 AppStream-source CentOS-8 - AppStream Sources 已停用 BaseOS CentOS-8 - Base 已啟用: 1,661 BaseOS-source CentOS-8 - BaseOS Sources 已停用 Devel CentOS-8 - Devel WARNING! FOR BUILDROOT USE ONLY! 已停用 HighAvailability CentOS-8 - HA 已停用 PowerTools CentOS-8 - PowerTools 已停用 base-debuginfo CentOS-8 - Debuginfo 已停用 c8-media-AppStream CentOS-AppStream-8 - Media 已停用 c8-media-BaseOS CentOS-BaseOS-8 - Media 已停用 centosplus CentOS-8 - Plus 已停用 centosplus-source CentOS-8 - Plus Sources 已停用 cr CentOS-8 - cr 已停用 extras CentOS-8 - Extras 已停用 extras-source CentOS-8 - Extras Sources 已停用 fasttrack CentOS-8 - fasttrack 已停用 # C. 找到並安裝 epel 軟體 [root@station200 ~]# yum --enablerepo=extras search epel =================================== Name 符合: epel =================================== epel-release.noarch : Extra Packages for Enterprise Linux repository configuration [root@station200 ~]# yum --enablerepo=extras install epel-release # D. 讓 epel 軟體倉儲變成預設是不啟用的 [root@station200 ~]# yum config-manager --disable epel [root@station200 ~]# yum config-manager --disable epel-modular [root@station200 ~]# yum repolist all CentOS-8 - AppStream 287 kB/s | 4.3 kB 00:00 CentOS-8 - Base 109 kB/s | 3.9 kB 00:00 軟體庫 ID 軟體庫名稱 狀態 AppStream CentOS-8 - AppStream 已啟用: 5,318 AppStream-source CentOS-8 - AppStream Sources 已停用 BaseOS CentOS-8 - Base 已啟用: 1,661 BaseOS-source CentOS-8 - BaseOS Sources 已停用 Devel CentOS-8 - Devel WARNING! FOR BUILDROOT USE 已停用 HighAvailability CentOS-8 - HA 已停用 PowerTools CentOS-8 - PowerTools 已停用 base-debuginfo CentOS-8 - Debuginfo 已停用 c8-media-AppStream CentOS-AppStream-8 - Media 已停用 c8-media-BaseOS CentOS-BaseOS-8 - Media 已停用 centosplus CentOS-8 - Plus 已停用 centosplus-source CentOS-8 - Plus Sources 已停用 cr CentOS-8 - cr 已停用 epel Extra Packages for Enterprise Linux 8 - x86 已停用 epel-debuginfo Extra Packages for Enterprise Linux 8 - x86 已停用 epel-modular Extra Packages for Enterprise Linux Modular 已停用 epel-modular-debuginfo Extra Packages for Enterprise Linux Modular 已停用 epel-modular-source Extra Packages for Enterprise Linux Modular 已停用 epel-playground Extra Packages for Enterprise Linux 8 - Pla 已停用 epel-playground-debuginfo Extra Packages for Enterprise Linux 8 - Pla 已停用 epel-playground-source Extra Packages for Enterprise Linux 8 - Pla 已停用 epel-source Extra Packages for Enterprise Linux 8 - x86 已停用 epel-testing Extra Packages for Enterprise Linux 8 - Tes 已停用 epel-testing-debuginfo Extra Packages for Enterprise Linux 8 - Tes 已停用 epel-testing-modular Extra Packages for Enterprise Linux Modular 已停用 epel-testing-modular-debuginfo Extra Packages for Enterprise Linux Modular 已停用 epel-testing-modular-source Extra Packages for Enterprise Linux Modular 已停用 epel-testing-source Extra Packages for Enterprise Linux 8 - Tes 已停用 extras CentOS-8 - Extras 已停用 extras-source CentOS-8 - Extras Sources 已停用 fasttrack CentOS-8 - fasttrack 已停用 # E. 預設的軟體倉儲是否有 netcdf 軟體查詢 [root@station200 ~]# yum search netcdf # F. 使用 yum --enablerepo=epel 之後,再次查詢有沒有 netcdf?若有,請安裝 [root@station200 ~]# yum --enablerepo=epel search netcdf Extra Packages for Enterprise Linux 8 - x86_64 660 kB/s | 6.8 MB 00:10 ================================ Name 精確符合:netcdf ================================= netcdf.x86_64 : Libraries for the Unidata network Common Data Form ============================= Name & Summary 符合: netcdf ============================= netcdf-cxx4.x86_64 : NetCDF-4 C++ library [root@station200 ~]# yum --enablerepo=epel install netcdf 錯誤: 問題: conflicting requests - nothing provides libsz.so.2()(64bit) needed by netcdf-4.7.0-2.el8.x86_64 (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) [root@station200 ~]# yum --enablerepo=epel,PowerTools install netcdf # G. 使用 rpm 查詢 netcdf 軟體內含的檔名,並查出所有含有 bin 在內的指令名稱 [root@station200 ~]# rpm -ql netcdf | grep bin /usr/bin/nccopy /usr/bin/ncdump /usr/bin/ncgen /usr/bin/ncgen3
# A. 檢查一下上述的三個資料中,哪幾個是服務?哪幾個是執行檔? [root@station200 ~]# systemctl status systemd-journald ● systemd-journald.service - Journal Service Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor pre> Active: active (running) since Mon 2020-05-25 21:34:02 CST; 14h ago Docs: man:systemd-journald.service(8) man:journald.conf(5) Main PID: 789 (systemd-journal) Status: "Processing requests..." Tasks: 1 (limit: 11486) Memory: 2.9M CGroup: /system.slice/systemd-journald.service └─789 /usr/lib/systemd/systemd-journald [root@station200 ~]# systemctl status rsyslog ● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: ena> Active: active (running) since Mon 2020-05-25 21:34:06 CST; 14h ago Docs: man:rsyslogd(8) http://www.rsyslog.com/doc/ Main PID: 1671 (rsyslogd) Tasks: 3 (limit: 11486) Memory: 2.6M CGroup: /system.slice/rsyslog.service └─1671 /usr/sbin/rsyslogd -n [root@station200 ~]# systemctl status logrotate Unit logrotate.service could not be found. [root@station200 ~]# which logrotate /usr/sbin/logrotate # 所以前面兩個是系統服務,後面一個不是。logrotate 應該是指令而已非服務。 # B. 並檢查服務項目有沒有啟動?而執行檔又是如何執行的? # 如上所示,前面兩個不但開機自動啟動,而且目前是啟動的狀態。 [root@station200 ~]# rpm -qf /usr//sbin/logrotate logrotate-3.14.0-3.el8.x86_64 [root@station200 ~]# rpm -ql logrotate /etc/cron.daily /etc/cron.daily/logrotate <==看起來似乎是 cron 執行的結果! /etc/logrotate.conf /etc/logrotate.d ....... # 所以 logrotate 是使用 cron 每天執行一次的指令!
# 1. 先設定 rsyslogd 的設定檔: # 從 /etc/rsyslog.conf 當中,我們知道 /etc/rsyslog.d/*.conf 可用! [root@station200 ~]# vim /etc/rsyslog.d/admin.conf *.* /var/log/admin.log # 2. 要重新啟動 rsyslog 才行! [root@station200 ~]# systemctl restart rsyslog.service [root@station200 ~]# ll /var/log/admin.log -rw-------. 1 root root 778 5月 26 13:10 /var/log/admin.log # 這個檔案就會被自動生成了!
# A. 不加任何參數與選項,列出所有的日誌資料 [root@station200 ~]# journalctl # B. (1)先用 date 找出日期格式 YYYY-MM-DD 的日期,並以該日期的資訊顯示 log, # 以及(2)僅今天及(3)僅昨天的日誌資料內容 [root@station200 ~]# date +%Y-%m-%d 2020-05-26 [root@station200 ~]# journalctl --since $( date +%Y-%m-%d ) <==當日訊息 -- Logs begin at Mon 2020-05-25 21:33:59 CST, end at Tue 2020-05-26 13:22:42 CST. -- 5月 26 00:00:13 station200.centos systemd[1]: Starting update of the root trust anchor> 5月 26 00:00:13 station200.centos systemd[1]: Started update of the root trust anchor > ..... [root@station200 ~]# journalctl --since today <==當日訊息 [root@station200 ~]# journalctl -S yesterday -U today <==昨日訊息 # C. 只找出 crond.service 的資料,同時只列出最新的 10 筆即可 [root@station200 ~]# journalctl -u crond -n 10 # D. 找出 su, sudo 執行的登錄檔,同時只列出最新的 10 筆即可 [root@station200 ~]# journalctl _COMM=su _COMM=sudo -n 10
[root@station200 ~]# rpm -q logwatch 軟體包 logwatch 尚未安裝 [root@station200 ~]# yum install logwatch
[root@station200 ~]# rpm -ql logwatch | grep etc /etc/cron.daily/0logwatch <==這裡! /etc/logwatch /etc/logwatch/conf ......
[root@station200 ~]# grep -v '#' /etc/cron.daily/0logwatch | grep -v '^$' LOGWATCH_SCRIPT="/usr/sbin/logwatch" OPTIONS="--output mail" $LOGWATCH_SCRIPT $OPTIONS exit 0 [root@station200 ~]# yum install postfix [root@station200 ~]# systemctl start postfix [root@station200 ~]# systemctl enable postfix [root@station200 ~]# /usr/sbin/logwatch --output mail
[root@station200 ~]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 2 messages 2 new >N 1 logwatch@station200. Tue May 26 13:55 167/6861 "Logwatch for station200.cento" N 2 logwatch@station200. Tue May 26 13:55 167/6861 "Logwatch for station200.cento" & 2 ....... & exit
# a.1. 下載最新軟體,在 2020/05 的現在,使用 4.7.4 版本 [root@station200 ~]# wget https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-c-4.7.4.tar.gz # 如果 wget 回報 www.unidata.ucar.edu 的認證有問題,就使用底下的方法下載: [root@station200 ~]# wget --no-check-certificate \ > https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-c-4.7.4.tar.gz [root@station200 ~]# ll netcdf-c-4.7.4.tar.gz -rw-r--r--. 1 root root 5999520 3月 28 03:28 netcdf-c-4.7.4.tar.gz # a.2. 開始在預設的 /usr/local/src 目錄底下解開此軟體 [root@station200 ~]# tar -zxf netcdf-c-4.7.4.tar.gz -C /usr/local/src [root@station200 ~]# cd /usr/local/src/netcdf-c-4.7.4/ [root@station200 netcdf-c-4.7.4]# ll -rw-r--r--. 1 student student 19605 3月 28 00:05 INSTALL.md -rw-r--r--. 1 student student 4209 3月 28 00:05 README.md # 上面兩個檔案的內容可以看一看,很重要! # a.3. 確認你的系統已經有 make 與 autogen 及 gcc 等軟體喔 [root@station200 netcdf-c-4.7.4]# LANG=C yum grouplist Available Environment Groups: Server Minimal Install Workstation Virtualization Host Custom Operating System Installed Environment Groups: Server with GUI Installed Groups: Container Management Development Tools <==有這個東西就是對了! Headless Management ...... # a.4. 開始進行環境偵測,讓系統自己建立編譯環境檔 [root@station200 netcdf-c-4.7.4]# ./configure --prefix=/usr/local/ --disable-dap --disable-netcdf-4 ....... # NetCDF C Configuration Summary ============================== # General ------- NetCDF Version: 4.7.4 Dispatch Version: 2 Configured On: Tue May 26 14:46:22 CST 2020 Host System: x86_64-pc-linux-gnu Build Directory: /usr/local/src/netcdf-c-4.7.4 Install Prefix: /usr/local ....... # 最後得要出現上面的訊息,才算是有順利的建立起可編譯環境的 Makefile 檔案 [root@station200 netcdf-c-4.7.4]# ll Makefile -rw-r--r--. 1 root root 40411 5月 26 14:46 Makefile # a.5. 開始自動編譯: [root@station200 netcdf-c-4.7.4]# make # a.6. 開始安裝囉! [root@station200 netcdf-c-4.7.4]# make install [root@station200 netcdf-c-4.7.4]# ll /usr/local/bin -rwxr-xr-x. 1 root root 266 4月 19 21:30 checkfile -rwxr-xr-x. 1 root root 226 5月 3 15:38 listcmd2.sh -rwxr-xr-x. 1 root root 216 5月 3 15:17 listcmd.sh -rwxr-xr-x. 1 root root 44 5月 3 21:13 lm -rwxr-x---. 1 root progroup 51856 3月 16 00:42 mycat -rwsr-xr-x. 1 root root 51856 3月 23 14:22 mycat2 -rwxr-xr-x. 1 root root 43 4月 19 21:27 myls.sh -rwxr-xr-x. 1 root root 7832 5月 26 14:49 nc-config -rwxr-xr-x. 1 root root 61768 5月 26 14:49 nccopy -rwxr-xr-x. 1 root root 95512 5月 26 14:49 ncdump -rwxr-xr-x. 1 root root 254672 5月 26 14:49 ncgen -rwxr-xr-x. 1 root root 105296 5月 26 14:49 ncgen3 # b. 使用 ncdump -h 確認軟體是否可用即可。 [root@station200 netcdf-c-4.7.4]# type -a ncdump ncdump 是 /usr/local/bin/ncdump ncdump 是 /usr/bin/ncdump [root@station200 netcdf-c-4.7.4]# /usr/local/bin/ncdump -h # 有說明文件就是對了! # c. 理解安裝後,將該軟體移除 [root@station200 netcdf-c-4.7.4]# pwd /usr/local/src/netcdf-c-4.7.4 [root@station200 netcdf-c-4.7.4]# make uninstall # 必需要在原本的編譯原始碼的目錄底下,才可以進行軟體移除的行為喔!
# a.1. 安裝數位簽章,並且安裝軟體倉儲設定檔 [root@station200 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@station200 ~]# yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm # a.2. 查詢剛剛裝好的軟體倉儲,並且依據之前的建議,將非正規需要的倉儲關閉 [root@station200 ~]# yum repolist all ELRepo.org Community Enterprise Linux Repository - el8 28 kB/s | 154 kB 00:05 軟體庫 ID 軟體庫名稱 狀態 AppStream CentOS-8 - AppStream 已啟用: 5,318 AppStream-source CentOS-8 - AppStream Sources 已停用 BaseOS CentOS-8 - Base 已啟用: 1,661 BaseOS-source CentOS-8 - BaseOS Sources 已停用 Devel CentOS-8 - Devel WARNING! FOR BUILDROOT USE 已停用 HighAvailability CentOS-8 - HA 已停用 PowerTools CentOS-8 - PowerTools 已停用 base-debuginfo CentOS-8 - Debuginfo 已停用 c8-media-AppStream CentOS-AppStream-8 - Media 已停用 c8-media-BaseOS CentOS-BaseOS-8 - Media 已停用 centosplus CentOS-8 - Plus 已停用 centosplus-source CentOS-8 - Plus Sources 已停用 cr CentOS-8 - cr 已停用 elrepo ELRepo.org Community Enterprise Linux Repos 已啟用: 91 elrepo-extras ELRepo.org Community Enterprise Linux Extra 已停用 elrepo-kernel ELRepo.org Community Enterprise Linux Kerne 已停用 elrepo-testing ELRepo.org Community Enterprise Linux Testi 已停用 ...... [root@station200 ~]# yum config-manager --disable elrepo # b. 搜尋並安裝 kernel-ml [root@station200 ~]# yum --enablerepo=elrepo-kernel search kernel-ml ELRepo.org Community Enterprise Linux Kernel Repository 111 kB/s | 940 kB 00:08 =============================== Name 精確符合:kernel-ml =============================== kernel-ml.x86_64 : The Linux kernel. (The core of any Linux-based operating system.) [root@station200 ~]# yum --enablerepo=elrepo-kernel install kernel-ml # c.1. 查詢是否有新的核心安裝了? [root@station200 ~]# ll /lib/modules drwxr-xr-x. 7 root root 4096 5月 25 21:31 4.18.0-147.8.1.el8_1.x86_64 drwxr-xr-x. 6 root root 4096 5月 25 21:31 4.18.0-147.el8.x86_64 drwxr-xr-x. 6 root root 4096 5月 26 15:07 5.6.14-1.el8.elrepo.x86_64 [root@station200 ~]# uname -r 4.18.0-147.8.1.el8_1.x86_64 # 最新為 5.6.14 版本,目前則是 4.18.0 版本 # c.2. 進行 reboot!記得開機過程中一定要盯著螢幕!開機時 5 秒選擇 5.16 版本核心開機! [root@station200 ~]# reboot [root@station200 ~]# uname -r 5.6.14-1.el8.elrepo.x86_64 # 確定是新版喔! # d. 畢竟是測試,請重新開機,然後挑選原本的舊的核心後,再移除剛剛的核心! [root@station200 ~]# reboot [root@station200 ~]# uname -r 4.18.0-147.8.1.el8_1.x86_64 [root@station200 ~]# rpm -qa | grep kernel-ml kernel-ml-5.6.14-1.el8.elrepo.x86_64 kernel-ml-modules-5.6.14-1.el8.elrepo.x86_64 kernel-ml-core-5.6.14-1.el8.elrepo.x86_64 [root@station200 ~]# yum remove kernel-ml