56 lines
1.9 KiB
EmacsLisp
56 lines
1.9 KiB
EmacsLisp
;;; 40-package-management-lesson.el --- package-management-lesson
|
|
|
|
(defun package-management-lesson ()
|
|
"Linux+ lesson for apt vs dnf package management."
|
|
(interactive)
|
|
(delete-other-windows)
|
|
(let ((buf (get-buffer-create "*Package Management Lesson*"))
|
|
(shell (or shell-file-name (getenv "SHELL") "/bin/sh")))
|
|
(switch-to-buffer buf)
|
|
(read-only-mode -1)
|
|
(erase-buffer)
|
|
(insert
|
|
"Linux+ Lesson: Package Management (Debian vs Red Hat)\n"
|
|
"=====================================================\n\n"
|
|
"You MUST know both ecosystems.\n\n"
|
|
"Debian-based systems (Debian, Ubuntu):\n"
|
|
" apt update → refresh package list\n"
|
|
" apt upgrade → upgrade installed packages\n"
|
|
" apt install pkg → install package\n"
|
|
" apt remove pkg → remove package\n\n"
|
|
"Red Hat-based systems (RHEL, Rocky, Alma):\n"
|
|
" dnf check-update → check for updates\n"
|
|
" dnf upgrade → upgrade system\n"
|
|
" dnf install pkg → install package\n"
|
|
" dnf remove pkg → remove package\n\n"
|
|
"Hands-on tasks:\n\n"
|
|
"DEBIAN VM:\n"
|
|
" sudo apt update\n"
|
|
" sudo apt install tree\n"
|
|
" tree\n"
|
|
" sudo apt remove tree\n\n"
|
|
"ROCKY VM:\n"
|
|
" sudo dnf check-update\n"
|
|
" sudo dnf install tree\n"
|
|
" tree\n"
|
|
" sudo dnf remove tree\n\n"
|
|
"What to notice:\n"
|
|
"- Command differences (apt vs dnf)\n"
|
|
"- Same concepts, different syntax\n\n"
|
|
"Linux+ exam traps:\n"
|
|
"- apt is NOT used on Red Hat\n"
|
|
"- dnf/yum are NOT used on Debian\n\n"
|
|
"When finished, run:\n"
|
|
" M-x package-management-quiz\n")
|
|
(goto-char (point-min))
|
|
(view-mode 1)
|
|
(split-window-below)
|
|
(other-window 1)
|
|
(let ((term (get-buffer "*term*")))
|
|
(if (buffer-live-p term)
|
|
(switch-to-buffer term)
|
|
(ansi-term shell "term")))
|
|
(other-window -1)))
|
|
|
|
;;; 40-package-management-lesson.el ends here
|