| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -0,0 +1,117 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Задания
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 0.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Обновите список пакетов из настроенных репозиториев в /etc/apt/sources.list командой apt.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 1.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Установите пакет apt-file с помощью apt.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 2. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Найдите с помощью apt-file пакет, содержащий команду ar.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 3.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Определите с помощью команды `apt search`, какие варианты пакета содержащего команду ar доступны. Установите подходящий для вашей системы.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 4.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Скачайте http://ftp.ru.debian.org/debian/pool/main/c/cmake/cmake_3.24.1-1_amd64.deb в отдельную папку. Перейдите в папку с пакетом и распакуйте .deb командой `ar -x  путь-к-пакету`. В папке должны появиться: control.tar.xz  data.tar.xz  debian-binary. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 5. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Создайте папку control и распакуйте в неё control.tar.xz с помощью команды `tar xfC путь-к-архиву control`. Изучите содержимое. Сравните с выдачей `dpkg --info ` для .deb файла.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 6. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Создайте папку data и распакуйте в неё data.tar.xz с помощью команды `tar xfC путь-к-архиву data`. Изучите data с помощью команды `tree`. Сравните с выдачей  `dpkg --contents ` для .deb файла.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 7. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Попробуйте вызвать исполняемый файл `usr/bin/cmake` из папки. Сопоставьте информацию в control файле пакета с выдачей команды `ldd usr/bin/cmake`. Если исполняемый файл не работает, найдите и установите зависимости в систему. Воспользуйтесь формой поиска на сайте https://www.debian.org/distrib/packages, если поиск по настроенным репозиториям не даёт результата. Добавьте репозиторий в котором есть нужная библиотека командой `apt edit-sources`. Обновите базу данных пакетов командой `apt update`. Завершите установку зависимостей и проверьте, что cmake работает.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 8.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите список пакетов, зарегистрированных в dpkg базе данных. Есть ли среди них зависимости cmake, которые вы установили вручную?
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 9. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите среди установленных локально пакетов пакет, начинающихся с ‘libc6’. Утилитой apt-cache выполните тот же поиск по кэшу apt. Утилитой apt выполните тот же поиск по кэшу apt. Сравните, чем они отличаются. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 10. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите статус пакета sudo и gcc. Чем выдача отличается от содержимого control файла .deb, скаченного ранее? 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 11.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите список установленных файлов пакета sudo (не выводятся файлы созданные скриптами).
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 12.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите список файлов с метаданными пакета (control files), установленных в систему.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 13.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите содержимое одного из файлов с метаданными пакета (control files).
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 14.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выведите пути к файлам с метаданными пакета (control files).
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 15.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg-query выполните поиск пакетов, которые установили в систему файл pam.conf.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 16.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Утилитой dpkg установите cmake .deb пакет, скаченный ранее. Ещё раз посмотрите на зависимости пакета. Как отреагировал dpkg на отсутствие зависимости cmake-data - установил или выдал ошибку? 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 17.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Скачайте cmake-data и его транзитивные зависимости https://packages.debian.org/sid/amd64/cmake. Завершите установку cmake, и проверьте, что команда cmake установлена в систему (например, командами `which`, `find`) и работает `cmake --version`. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 18.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Проверьте файлы всех установленных пакетов в системе на наличие изменений/повреждений командой dpkg. Какие файлы не прошли проверку (`??5??????`)?
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 19.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Сохраните список выбранных действий и состояний (selections) для пакетов в системе утилитой dpkg в файл.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 20.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Измените в сохранённом списке действие для пакета vim c текущего на deinstall (`man dpkg`, “Package selection states”). 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 21.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Запустите команду `apt-get dselect-upgrade`. Какие пакеты будут установлены или удалены?
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 22.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Настройте в `/etc/sudoers` конфигурационном файле для пользователя stud возможность выполнять команды от лица суперпользователя без запроса пароля:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				%sudo   ALL=(ALL:ALL) NOPASSWD: ALL
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Удалите, а затем установите пакет sudo командой `apt remove`. Проверьте содержимое конфигурационного файла на изменения. Проделайте то же самое, но c командой `apt purge`.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 23.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Удалите cmake и cmake-data с помощью apt. Найдите в репозиториях, какая версия cmake доступна. Создайте файл в директории `/etc/apt/apt.conf.d/default-release` с следующим содержимым (man apt.conf):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				APT::Default-Release "stable";
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Повторите поиск. Установите stable версию. Проверьте работоспособность команды и её версию `cmake --version`. Вы можете узнать значения текущих конфигурационных переменных `apt` командой `apt-conf dump`.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 24.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Заморозьте версию cmake командой `apt-mark` или с помощью `dpkg --get-selections`, `dpkg --set-selections`. Поменяйте умолчания `/etc/apt/apt.conf.d/default-release` на "unstable". Проведите обновление пакетов в системе. cmake не должен сохранить stable версию.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 25.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Удалите cmake для следующего упражнения в установке из исходного кода. Выполните `apt autoremove` для удаления ставших ненужными пакетов.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 26.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Установите git, если он ещё не установлен. Перейдите в /tmp и вызовите:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				git clone --depth=1 https://github.com/Kitware/CMake
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Ваша цель установить пакет в директорию /opt. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Прочитайте README.md секцию "Building CMake from Scratch". Установите компилятор g++, make. Для поддержки openssl - libssl-dev заголовочные файлы. В качестве --prefix используйте `/opt/cmake/`. Выполните 3 этапа: конфигурация компиляции, компиляция проекта, и установка. Для использования многопоточной компиляции используйте флаг `-j` при вызове `make`. 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### 27.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Используйте команду `dpkg-reconfigure`, чтобы перенастроить пакеты, связанные с локализацией `console-setup` и раскладкой клавиатуры `keyboard-configuration`.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Справка
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Релевантные команды:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt-get
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt-cache
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt-mark
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt-config
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - dpkg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - dpkg-query
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - dpkg-reconfigure
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Страницы документации:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - sources.list
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt.conf
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - dpkg.conf
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  - apt_preferences
 |