Приветствую всех, сегодня мы разберем задания и команды, связанные с файловой системой Linux Bash, работой с жестким диском, а также установкой и настройкой программного обеспечения для Linux.
Начнем:
- Проверьте геометрию диска, установленного на вашем компьютере с помощью fdisk -l. (изучите таблицу разделов вашего жесткого магнитного диска).
/sbin/fdisk -l /dev/sda
- На каком разделе вашего диска имеется область подкачки swap?
В разделе sda5 (у вас может быть другой раздел) - Определите размер сектора жесткого диска.
512 байт(fdisk -l)
- Изучите содержимое файла /etc/fstab, определите подходит ли какая-либо запись для монтирования CD-ROM? Если нет, то какая запись в /etc/fstab должна быть?
cat /etc/fstab
(если такой записи нет, нужно добавить:
mount -t iso9660 -r /dev/cdrom /media/cdrom
) - Выведите информацию об использовании дискового пространства на всех смонтированных блочных устройствах в системе.
df -h
- Получите информацию об использовании дискового пространства домашним каталогом
du -sh ~
(s — без информации о подкаталогах)Работа с файловой системой Bash
- Смонтируйте и отмонтируйте флешку из командной строки.
монтирование:mount /dev/sdb1 /media/nikiqq
(/media/nikiqq — папка, созданная мной, у вас будет своя)
отмонтирование:umount /dev/sdb1
- Скопируйте содержимое флешки в файл usb.image папки linux_lab7.
mount /dev/sdb1 /home/nikiqq/linux_lab7/usb.image
- Скопируйте первые 512 байт из файла устройства жесткого диска, с которого загружается операционная система, в файл first_sect.img и определите тип его содержимого.
Копирование:dd if=/dev/sda of=first_sect.img bs=512 count=1
Проверка типа:file first_sect.img
(тип: x86 boot sector) - Создайте пустой файл и сожмите его gzip. Уменьшился ли размер этого файла?
gzip pusto
(появился файл pusto.gz, размер не изменился) - От имени суперпользователя создайте полный сжатый архив etc.tar.gz всех файлов в каталоге /etc.
sudo tar czf etc.tar.gz /etc
- Получите содержимое архива для просмотра списка файлов в нем.
tar -tf etc.tar.gz | less
- Извлеките из созданного архива единственный файл /etc/passwd так, чтобы он был сохранен в каталоге /tmp с тем же именем.
tar -xSzvf etc.tar.gz etc/passwd | mv etc/passwd /
- Разделите созданный архив на части, размером по 100 байт, используя для этого утилиту split.
split -b 100 etc.tar.gz
- Соберите из полученных частей целый архив. Какой размер полученного архива?
tar -czf etc.tar.gz *
(размер увеличился) - Создайте большой текстовый файл zip.txt. Сожмите его алгоритмами gzip и bzip2. Сравните размер полученных файлов.
gzip zip.txt
bzip2 zip.txt
(файл получился меньше) - Создайте файлы, копируя данные командой dd из устройств /dev/zero и /dev/random.
dd if=/dev/zero of=file1 | dd if=/dev/random of=file2
- Разрежьте файл на две равные по размеру части, используя dd.
dd if=examples.desktop of=part-1 bs=6k count=1 | dd if=examples.desktop of=part-2 bs=6k skip=1
(файл был размером 12 килобайт) - Выведите на экран первые 100 байт содержимого файла zip.txt:
dd if=zip.txt bs=100 count=1
- Создайте небольшой каталог testarch с файлами в каталоге linux_lab7. Выполните резервное копирование этого каталога командой rsync.
rsync -avz ~/linux_lab7/testarch ~/codetown
- Создайте в каталоге testarch новый файл newfile. Создайте инкрементальную копию.
rsync -avz newfile codetown
- Файл newfile случайно удален (удалите его). Восстановите файл newfile из бэкапа.
rsync -avz newfile linux_lab7/testarch
(восстановили из резервного каталога) - Изучить скорость работы дисковой подсистемы, копируя данные командой dd. Построить графики зависимости скорости копирования от размера блока (bs) и от количества блоков при фиксированном размере блока.
time dd if=codetown.txt of=dd1 bs=100
time dd if=codetown.txt of=dd1 bs=10
time dd if=codetown.txt of=dd1 count=10
time dd if=codetown.txt of=dd1 count=1
(сравниваем результаты и делаем вывод о влиянии параметров вызова команды на скорость)Управление программным обеспечением
- Выведите список подкаталогов /usr/local и для каждого из них занимаемый размер.
ls -dsh /usr/local/*/
- Получите последнюю версию пакета демона BIND c ftp-сервера, используя wget.
wget http://ftp.isc.org/isc/bind9/9.7.0rc1/bind-9.7.0rc1.tar.gz
- Установлены ли в системе какие-либо библиотеки без участия системы управления пакетами (см. /usr/local)?
ls /usr/local/lib
(затемdpkg --list '*то что установлено*'
, смотрим есть ли они в системе управления пакетами) - Выведите состояние установки пакетов, содержащих в названии debian.
rpm -qa | grep debian
илиdpkg --list '*debian*'
- Выведите информацию о полном имени, размере и зависимостях пакета gcc.
dpkg --status gcc | grep -E "Size|Depends|Package"
- Получите список из десяти пакетов, файлы из которых занимают на диске максимальное место (на основе данных из самих пакетов)
dpkg-query -W -f='${Installed-Size}\n' | sort -nr | head -10
Управление дисковой системой
Если у вас есть замечания или вопросы, то задавайте их в комментариях!
Будьте первым, кто оставит комментарий