[12:54 AM] Ilya Sarbash
Здравствуйте, Кирилл. Не могли бы Вы ДЛЯ ВСЕХ уточнить, что нужно сделать к следующему уроку? У Вас написано "Установить Apache, Pазместить страничку HOMEPAGE (предварительная версия N04)", но не понятно, как предоставить сделанную работу. И какие файлы внутри архива использовать — их там жутко много обо всём. Спасибо за ответ!
Здравствуйте ВСЕ! :)
Поскольку не совсем понятно, на сколь широкую аудиторию мне следует разослать ответ, помещу его в публичном секторе на http://kirill.tpt.edu.ee. Кроме того, я уже забыл, как выглядела моя страничка в день нашей последней встречи (аббревиатура N04 наталкивает на мысль, что это было 4-го декабря). Что ж, сделаю какую-нибудь демку, и покажу как ее установить.
Дано:
Задание:
Решение:
#!/bin/bash
set -x # echo on
if [ "$UID" -eq "0" ]
then
echo
"You are root. script command wouldn't work. Exiting.."
exit 1
fi
# remove old installation if any..
sudo apt autoremove --purge -y \
apache2 p7zip-full wget tree > /dev/null
if [ $? -eq 0 ] ; then echo "Success with purge" ; fi
sudo rm -rf /var/www/html/* > /dev/null
# preinstall necessary stuff
sudo apt-get update
sudo apt-get -y upgrade > /dev/null
if [ $? -eq 0 ] ; then echo "Success with apt upgrade " ; fi
sudo apt install -y apache2 p7zip-full wget tree > /dev/null
if [ $? -eq 0 ] ; then echo "Success with apt install " ; fi
sudo mv /var/www/html/index.html /var/www/html/index.html.0
# extract and publish the demo homepage
cd ~
wget -c http://kirill.tpt.edu.ee/src/demohomepage.7z
7z x demohomepage.7z
sudo mv demohomepage/* /var/www/html
sudo chmod 755 /var/www/html/images
rm -f demohomepage.7z
# check the results:
sudo systemctl status apache2
sudo tree /var/www/html/
sudo ip a
echo "I should manually add resulting screenshot here"
echo
chmod +x kirill-hw.sh
kirill-hw.log
показываю:
"NOE Checking/submitting homework"
в разделе
http://kirill.tpt.edu.ee/tips-N.html./kirill-hw.sh
)Свою работу прикрепил к последнему заданию в Teams:
Для удобства скопировал tip N0E сюда:
проверка/подача домашних работ (wsl debian):
cd ~
git clone https://github.com/pixelb/scripts
sudo cp scripts/scripts/ansi2html.sh /usr/local/bin
sudo apt install -y coreutils gawk git highlight \
python3-pygments python3 python-is-python3 apache2
cat my.log | sudo ansi2html.sh --bg=light | \
sudo dd of=/var/www/html/my.html
в .bashrc
alias hicat='highlight -O ansi --force'
alias pycat='pygmentize -g'
анонимный prompt, узкая печать:
PS1="$ "
echo $PATH | fold -w 64
собственно, работа к сдаче:
nano hw.sh # сочиняем скрипт
chmod +x hw.sh
script hw.log
./hw.sh
exit
cat hw.log | ansi2html.sh --bg=light | sudo dd of=/var/www/html/hw.html
теперь в Chrome: localhost/hw.html, сохранить как pdf, отправить в Teams.
* * *
P.S. Еще вот нашел одно письмо касательно этой же проблемы:
Paзберем подробнее на примере:
Дано: доступ к консоли Debian 11, с возможностью получения прав администратора root (sudo -i, sudo -s, su, su-, и т.п.)
Требуется: Создать, выполнить и уничтожить скрипт, выводящий на консоль текст "Здравствуй, Мир".
Решение: Заходим в консоль. Создаем папку и заходим в нее (чтобы не мусорить вокруг). Пишем скрипт doit
, выполняющий все задание одним нажатием клавиши (enter):
#! /bin/bash
echo 'Убираем мусор, если что осталось от прошлого запуска'
sudo rm -f /usr/local/bin/hello
cd ~
rm -rf example
echo "=== Поехали.. ==="
mkdir -p example
cd example
cat << STOP! > hello
#! /bin/bash
echo -e "\033[33mЗдравствуй, Мир\033[0m"
STOP!
chmod +x hello
sudo cp hello /usr/local/bin/
hello
echo "=== Печать себя ==="
cat $0
cd ~
выполняем задание:
script me.log
bash doit
exit
посылаем ответ в виде лог файла (me.log)