Редакция июль, 2021
Аннотация
apt-get
и её графическая оболочка synaptic позволяют пользователям легко обновлять свои системы и быть в курсе актуальных новостей мира свободных программ.
Содержание
SCDWriter.exe
;
Autoboot in 03 sec. PRESS SPACE TO DISABLE IT.
Key pressed. Autoboot canceled. CPU#00: Starting menu. BOOT SETUP Press command letter, or press 'h' to get help :
:d
CPU#00: Drive [2]: SATA - PCI BUS[1]:DEV[3]:FUNC[0], MCST SATA COMBINED Port
[0] - KINGSTON SMS200S3120G
CPU#00: Partition [0]: Linux EXT2;
U:246194e7-0512-4db3-a821-cbcbe3c92c38 L:""
CPU#00: Partition [1]: Linux swap
CPU#00: Partition [3]: Extended
CPU#00: Partition [4]: Unknown file system type
CPU#00: Drive [10]: ATAPI device
:c
CHANGE BOOT PARAMETERS Current Settings: drive_number: '2' drive label: '*' partition_number: '0' file system id: '07bde958-ec62-492e-933c-17334bb02da2' command_string: '' filename: '' initrdfilename: '' autoboot in: '10' To advance to next setting press ENTER. To skip setting press ESC Enter drive number :10
Enter partition number: < Skipped > Enter command string : < Skipped > Enter filename : < Skipped > Enter initrd file name: < Skipped > Enter autoboot value : < Skipped > Current Settings: drive_number: '10' drive label: '' partition_number: '0' file system id: '' command_string: '' filename: '' initrdfilename: '' autoboot in: '10' CPU#00: Search drive and partition by label or uuid succeed
:b
boot#install
CPU#00: Label 'install' found, loading parameters CPU#00: Search drive and partition by label or uuid succeed Trying to load and start image with following parameters: drive_number: '10' drive label: '' partition_number: '0' file system id: '' command_string: 'hardreset fastboot live automatic=method:cdrom' filename: '/alt0/vmlinux.0' initrdfilename: '/alt0/full.cz'
Примечание
Примечание
Примечание
Предупреждение
Примечание
Предупреждение
Примечание
Важно
/boot
с файловой системой ext2 (т.е. без extents и журнала).
/home
) или с другими операционными системами. Отформатировать можно любые разделы, которые вы хотите «очистить» (т.е. удалить все данные).
Примечание
Примечание
Важно
Примечание
task-edu task-edu-gradeschool task-edu-highschool task-edu-kde5 task-edu-preschool task-edu-school task-edu-secondary-vocational task-edu-server-apps task-edu-teacher task-edu-university task-edu-video-conferencing
Примечание
Важно
/etc/fstab
). В список доступных источников программных пакетов добавляется репозиторий, находящийся на установочном лазерном диске — выполняется команда apt-cdrom add
, осуществляющая запись в конфигурационный файл /etc/apt/sources.list
.
Примечание
Важно
Примечание
Примечание
Примечание
#apt-get update
#apt-get dist-upgrade
#update-kernel
#apt-get clean
#reboot
Примечание
$ su -
или зарегистрировавшись в системе (например, на второй консоли Ctrl+Alt+F2) под именем root. Про режим суперпользователя можно почитать в главе Режим суперпользователя.
Примечание
Примечание
miniterm.py /dev/ttyUSB0 115200
либо по кабелю COM-COM с применением команды cu
из пакета uucp:
cu -l /dev/ttyS0 -s 115200
Далее можно вводить данные, которые вы хотите отправить в порт. Приходящие в порт данные от внешних устройств также будут выводиться.
Примечание
--lf
или --eol LF
).
Autoboot in xx sec, PRESS SPACE TO DISABLE IT
boot.conf
(при его наличии) (метка, указанная как default;). Приоритетом обладает загрузка по параметрам, указанным в файле boot.conf
. В этом случае из энергонезависимой памяти берется только значение номера устройства загрузки.
boot.conf
приниматься в расчет не будет.
boot.conf
(b основного режима или #boot
расширенного), загрузить одну из меток файла boot.conf
.
Примечание
Важно
vlock
позволяет заблокировать сеанс при работе в консоли.
Примечание
# apt-get install vlock
vlock
без дополнительных параметров заблокирует текущий сеанс виртуальной консоли, без прерывания доступа других пользователей:
$ vlock
Блокировка tty2 установлена user.
Используйте Alt-функциональные клавиши для перехода в другие виртуальные консоли.
Пароль:
$ vlock -a
Теперь вывод на консоль полностью заблокирован user.
Пароль:
В этом случае vlock
блокирует текущую активную консоль, а параметр -a
предотвращает переключение в другие виртуальные консоли.
exit
:
$ exit
host-15 login:
$ systemctl reboot
$ systemctl poweroff
$ systemctl suspend
/home/<имя пользователя>
. В этой папке по умолчанию хранятся пользовательские файлы (например, аудиозаписи, видеозаписи, документы). У каждого пользователя свой «Домашний» каталог. Каждый пользователь имеет доступ только в свой «Домашний» каталог.
Примечание
HAL
и установки пакета thunar-volman-plugin расширяют возможности пользователя в использовании данной настройки.
Содержание
Примечание
Важно
ODF
), формат Microsoft Word (DOC
, DOCX
) или HTML
. Кроме того, LibreOffice Writer позволяет экспортировать документ в формате переносимого документа (PDF
). Текстовый процессор поддерживает и другие форматы.
Примечание
#apt-get update
#apt-get install fonts-ttf-ms fonts-ttf-google-crosextra-caladea fonts-ttf-google-crosextra-carlito
Важно
/home/имя_пользователя
). Открыть её можно, щёлкнув на значке папки на рабочем столе. Откроется файловый менеджер Thunar, позволяющий просматривать содержимое дерева каталогов, удалять, переименовывать и производить прочие операции над файлами и папками.
Примечание
Документы
— папка, предназначенная для хранения документов;
Загрузки
— в данную папку по умолчанию загружаются файлы из Интернета;
Рабочий стол (Desktop)
— содержит файлы, папки и значки, отображающиеся на рабочем столе.
Примечание
Примечание
.jpg
файл) откроется программа просмотра изображений Ristretto, в которой откроется изображение. Таким образом, вы можете открывать интересующие вас файлы простым щелчком прямо из файлового менеджера Thunar.
Примечание
Важно
xfce4-taskmanager
.
medit -e windows-1251
и нажать кнопку :
Содержание
fp
).
Примечание
veyon-cli
.
$ veyon-configurator
Потребуется ввести пароль пользователя входящего в группу wheel и нажать кнопку :
teacher_public_key.pem
) и конфигурацию (файл <имя_файла.json>
) с компьютера учителя необходимо скопировать на компьютеры учащихся (перенести с помощью носителя информации, использовать общую папку, использовать команду scp
).
$ ssh-keygen -t ed25519
На вопрос о файле для сохранения ключа нажать Enter (по умолчанию). Далее будет задан вопрос о пароле к ключу. Пароль нужно указать.
$ ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.168.0.102
$ for i in `seq 102 115`; do ssh-copy-id user@192.168.0.$i; done
$ssh user@192.168.0.102
user@comp2 $su -
Password: comp2 #cat /home/user/.ssh/authorized_keys >> /root/.ssh/authorized_keys
comp2 #exit
user@comp2 $exit
Важно
/root/.ssh
при этом должен существовать.
$ veyon-cli authkeys export teacher/public
[ИНФОРМАЦИЯ] Ключ "teacher/public" был успешно экспортирован в "teacher_public_key.pem".
[OK]
$ veyon-cli config export myconfig.json
[OK]
$scp teacher_public_key.pem user@192.168.0.102:/tmp/
$scp myconfig.json user@192.168.0.102:/tmp/
$ssh root@192.168.0.102 "veyon-cli authkeys import teacher/public /tmp/teacher_public_key.pem"
[OK] [ИНФОРМАЦИЯ] Ключ "teacher/public» был успешно импортирован. Пожалуйста, проверьте права доступа к файлу "/etc/veyon/keys/public/teacher/key», чтобы предотвратить неуполномоченный доступ. $ssh root@192.168.0.102 "veyon-cli config import /tmp/myconfig.json"
[OK]
$ ssh root@192.168.0.102 "veyon-cli service start"
Запускаем сервис veyon.[OK]
$ssh-add; for i in `seq 102 115`; do scp /home/teacher/teacher_public_key.pem root@192.168.0.$i:/tmp/; done
$ssh-add; for i in `seq 102 115`; do scp /home/teacher/myconfig.json root@192.168.0.$i:/tmp/; done
$ssh-add; for i in `seq 102 115`; do ssh root@192.168.0.$i "veyon-cli authkeys import teacher/public /tmp/teacher_public_key.pem"; done
$ssh-add; for i in `seq 102 115`; do ssh root@192.168.0.$i "veyon-cli config import /tmp/myconfig.json"; done
$ssh-add; for i in `seq 102 115`; do ssh root@192.168.0.$i "veyon-cli service start"; done
Примечание
Примечание
Важно
https://<сервер>/moodle/
. Где «сервер» — имя заданное компьютеру при установке на этапе Настройка сети. Просмотреть имя компьютера можно, выполнив команду:
$ hostname
Администратор: admin, пароль: пароль пользователя root.
https://<сервер>/moodle/admin/tool/replace/
. В поле Поиск по всей базе данных ввести адрес сервера, например «host-15», в поле Заменить на эту строку — новое название домена, в нашем случае «school-server.localnet», установить флажки Сократить результат при необходимости и Я принимаю риски этой операции. Нажать кнопку :
$Здесь «host-15» — адрес сервера после установки; «school-server.localnet» — доменное имя заданное на DNS-сервере.su -
Password: #sed -i 's/https:\/\/host-15/https:\/\/school-server.localnet/g' /var/www/webapps/moodle/config.php
https://school-server.localnet/moodle
.
Примечание
Примечание
Важно
https://<сервер>/wiki/
. Где «сервер» — localhost, или имя заданное компьютеру при установке на этапе Настройка сети. Просмотреть имя компьютера можно, выполнив команду:
$ hostname
Примечание
$wgServer
в файле /var/www/webapps/mediawiki/config/LocalSettings.php
должна быть установлена на базовый URL-адрес сервера, включая протокол, но без косой черты и без подкаталога (например, $wgServer = "https://test.alt";
). В противном случае ссылки не будут работать.
Примечание
Примечание
SSH
).
png
либо jpg
;
LocalSettings.php
.
/var/www/webapps/mediawiki/images
.
MY_LOGO.png
, то для указания его в качестве логотипа MediaWiki в файле LocalSettings.php
, который находится в каталоге на сервере /var/www/webapps/mediawiki/config/
нужно найти параметр $wgLogos
и изменить его значение:
$wgLogos = [ '1x' => "$wgResourceBasePath/images/MY_LOGO.png" ];
Примечание
$wgResourceBasePath
подставляет путь до wiki (/var/www/webapps/mediawiki/
).
MediaWiki:Sidebar
.
https://<сервер>/wiki/?title=MediaWiki:Sidebar
.
LocalSettings.php
, который находится на сервере в каталоге /var/www/webapps/mediawiki/config/
, изменить значение переменной $wgEnableUploads
:
$wgEnableUploads = true;
У нас получилось создать страницу! Теперь задача минимум — изучить основную Wiki-разметку, чтобы красиво оформлять свои знания и заинтересовать учеников.
и нажмём расположенную внизу кнопку :
=Заголовок1= ==Подзаголовок1== ===Подподзаголовок1=== ====И так далее1==== =Заголовок2= ==Подзаголовок2== ===Подподзаголовок2=== ====И так далее2==== =Заголовок3= ==Подзаголовок3== ===Подподзаголовок3=== ====И так далее3==== =Заголовок4= ==Подзаголовок4== ===Подподзаголовок4=== ====И так далее4==== =Заголовок5= ==Подзаголовок5== ===Подподзаголовок5=== ====И так далее5====
[[Изображение:Example.jpg]]
. Здесь Example.jpg
— целевое имя файла. Например, есть необходимость в размещении на вики некого изображения, которое называется medved.png
. Следовательно, целевое имя файла должно быть medved.png
вместо Example.jpg
. После записи страницы содержание тега [[Изображение:medved.png]]
превратится в ссылку вида Изображение:Medved.рng
, щёлкнув по которой, автоматически попадаем в форму загрузки файла.
Исходный код таблицы с одной строкой
|
Представление в MediaWiki
|
|||
---|---|---|---|---|
{| |Ячейка 1 |Ячейка 2 |Ячейка 3 |} |
|
Исходный код таблицы в две строки
|
Представление в MediaWiki
|
||||||
---|---|---|---|---|---|---|---|
{| |Ячейка 1*1 |Ячейка 2*1 |Ячейка 3*1 |- |Ячейка 1*2 |Ячейка 2*2 |Ячейка 3*2 |} |
|
Исходный код таблицы в три строки
|
Представление в MediaWiki
|
|||||||||
---|---|---|---|---|---|---|---|---|---|---|
{| |Ячейка 1*1 |Ячейка 2*1 |Ячейка 3*1 |- |Ячейка 1*2 |Ячейка 2*2 |Ячейка 3*2 |- |Ячейка 1*3 |Ячейка 2*3 |Ячейка 3*3 |} |
|
border=n
, где «n» — толщина линии:
Исходный код таблицы в три строки
|
Представление в MediaWiki
|
|||||||||
---|---|---|---|---|---|---|---|---|---|---|
{| border=1 |Ячейка 1*1 |Ячейка 2*1 |Ячейка 3*1 |- |Ячейка 1*2 |Ячейка 2*2 |Ячейка 3*2 |- |Ячейка 1*3 |Ячейка 2*3 |Ячейка 3*3 |} |
|
class
.
Исходный код таблицы в три строки
|
Представление в MediaWiki
|
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{| border=1 !Первый столбец !Второй столбец !Третий столбец |- !Первая строка |Ячейка 2*1 |Ячейка 3*1 |- !Вторая строка |Ячейка 2*2 |Ячейка 3*2 |- !Третья строка |Ячейка 2*3 |Ячейка 3*3 |} |
|
Исходный код
|
Представление в MediaWiki
|
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{| border=1 !Первый столбец||Второй столбец||Третий столбец |- |Ячейка 1*1||Ячейка 2*1||Ячейка 3*1 |- |Ячейка 1*2||Ячейка 2*2||Ячейка 3*2 |- |Ячейка 1*3||Ячейка 2*3||Ячейка 3*3 |} |
|
rowspan=n
, где «n» — число ячеек, которые должна объединить данная ячейка. Этот атрибут вписывается перед содержанием объединяющей ячейки.
Объединение по вертикали
|
Представление в MediaWiki
|
|||||
---|---|---|---|---|---|---|
{| border=1 |Ячейка 1 |rowspan=2 |Ячейка 2, объединяет два ряда таблицы |Ячейка 3 |- |Ячейка 4 |Ячейка 5 |} |
|
colspan=n
.
Объединение по горизонтали
|
Представление в MediaWiki
|
||||||
---|---|---|---|---|---|---|---|
{| border=1 |Ячейка 1 |colspan=2 |Ячейка 2, объединяет два столбца |- |Ячейка 3 |Ячейка 4 |Ячейка 5 |} |
|
Правка не может быть отменена из-за несовместимости промежуточных изменений.
В этом случае придётся делать «возврат к ранней версии».
Отмена 5 вандальных правок [[Участник:xxx]], возврат к версии 13:05, 21 января 2021 от участника yyy
Примечание
Важно
https://<сервер>/nextcloud/
. Где «сервер» — localhost, или имя заданное компьютеру при установке на этапе Настройка сети. Просмотреть имя компьютера можно, выполнив команду:
$ hostname
Администратор: root, пароль: пароль пользователя root.
/var/www/webapps/nextcloud/config/config.php
— файл конфигурации Nextcloud.
Важно
'memcache.local' => '\OC\Memcache\Memcached', 'memcache.distributed' => '\OC\Memcache\Memcached', 'memcached_servers' => array( array('localhost', 11211), ),
'trusted_domains' => array ( 0 => 'localhost', 1 => 'host-15', 2 => 'nextcloud.test.ru', ),
https://localhost/nextcloud/
.
Примечание
# apt-get install nextcloud-client
Предупреждение
Содержание
acc
.
Примечание
# apt-get install alterator-fbi
И запущен сервис ahttpd:
#systemctl enable ahttpd
#systemctl start ahttpd
https://ip-адрес:8080
. Например, если IP-адрес компьютера 192.168.88.232
, то интерфейс управления доступен по адресу: https://192.168.88.232:8080
Примечание
$
ip
addr
inet
:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 60:eb:69:6c:ef:47 brd ff:ff:ff:ff:ff:ff inet 192.168.88.232/24 brd 192.168.0.255 scope global enp0s3
192.168.88.232
.
Предупреждение
Примечание
Примечание
/etc/net/ifaces/<интерфейс>
. Настройки сети могут изменяться либо в ЦУС в данном модуле, либо напрямую через редактирование файлов /etc/net/ifaces/<интерфейс>
.
/etc/net/ifaces/<интерфейс>
. В этом режиме можно просмотреть настройки сети, например полученный по DHCP IP-адрес, через графический интерфейс NetworkManager.
/etc/NetworkManager/system-connections
. Этот режим особенно актуален для задач настройки сети на клиенте, когда IP-адрес необходимо получать динамически с помощью DHCP, а DNS-сервер указать явно. Через ЦУС так настроить невозможно, так как при включении DHCP отключаются настройки, которые можно задавать вручную.
$ system-config-printer
Примечание
# systemctl restart cups
от имени системного администратора root. После выполнения команды вернитесь к Настройка печати и нажмите кнопку .
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 03f0:012a HP, Inc HP LaserJet M1536dnf MFP
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 2.0 root hub
В примере сканер определен на шине USB 002 как устройство 004.
sane-find-scanner
можно проверить поддержку сканера системой SANE:
$ sane-find-scanner -q
could not open USB device 0x1d6b/0x0002 at 001:001: Access denied (insufficient permissions)
found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x012a [HP LaserJet M1536dnf MFP]) at libusb:002:004
could not open USB device 0x80ee/0x0021 at 002:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)
В выводе должны присутствовать интерфейс сканера и имя используемого устройства. В данном случае сканер был распознан на шине 002 как устройство 004.
Примечание
# ls -l /dev/bus/usb/002/
итого 0
crw-rw-r-- 1 root root 189, 128 окт 28 12:00 001
crw-rw-r-- 1 root root 189, 129 окт 28 12:00 002
crw-rw-r--+ 1 root lp 189, 130 окт 28 12:42 003
И добавить пользователя в нужную группу (в данном случае в группу lp):
# gpasswd -a user lp
Далее необходимо ОБЯЗАТЕЛЬНО перезапустить сеанс пользователя.
-L
используется для показа информации о сканере):
$ scanimage -L
device `hpaio:/usb/HP_LaserJet_M1536dnf_MFP?serial=00CND9D8YC9C' is a Hewlett-Packard HP_LaserJet_M1536dnf_MFP all-in-one
В контексте локального USB-устройства, доступ к которому имеет обычный пользователь, положительный ответ указывает, что SANE поддерживает этот сканер.
# apt-get install task-auth-ad-sssd
# hostnamectl set-hostname host-15.test.alt
/etc/net/ifaces/eth0/resolv.conf
со следующим содержимым:
nameserver 192.168.0.113где 192.168.0.113 — IP-адрес DNS-сервера домена.
/etc/resolvconf.conf
добавить/отредактировать следующие параметры:
interface_order='lo lo[0-9]* lo.* eth0' search_domains=test.altгде eth0 — интерфейс на котором доступен контроллер домена, test.alt — домен.
# resolvconf -u
Примечание
/etc/resolv.conf
должны появиться строки:
search test.alt nameserver 192.168.0.113
# system-auth write ad test.alt host-15 test 'administrator' 'Pa$$word'
Joined 'HOST-15' to dns domain 'test.alt'
#getent passwd ivanov
ivanov:*:1594401103:1594400513:Иван Иванов:/home/TEST.ALT/ivanov:/bin/bash #net ads info
LDAP server: 192.168.0.113 LDAP server name: dc.test.alt Realm: TEST.ALT Bind Path: dc=TEST,dc=ALT LDAP port: 389 Server time: Пн, 15 июн 2020 17:24:59 EET KDC server: 192.168.0.113 Server time offset: 0 Last machine account password change: Пн, 15 июн 2020 17:04:55 EET #net ads testjoin
Join is OK
Примечание
# getent passwd
на клиентской машине. Этот функционал отключен по умолчанию, для того чтобы сократить нагрузку на серверы. Поэтому для проверки необходимо точно указать имя пользователя
# getent passwd <имя_пользователя>
Список пользователей можно посмотреть на сервере командой:
# samba-tool user list
# apt-get install libnss-role
# groupadd -r localadmins
Примечание
# groupadd -r remote
#control sshd-allow-groups enabled
#sed -i 's/AllowGroups.*/AllowGroups = remote/' /etc/openssh/sshd_config
#systemctl reload sshd
# roleadd users cdwriter cdrom audio proc radio camera floppy xgrp scanner uucp fuse
# roleadd localadmins wheel remote vboxusers
#roleadd 'Domain Users' users
#roleadd 'Domain Admins' localadmins
#rolelst
#id ivanov
# apt-get install fuse-gvfs gvfs-backend-smb libgio
# gpasswd -a <пользователь> fuse
# control fusermount public
/var/run/uid_пользователя/gvfs
.
gvfs-mount smb://server/sysvol/
Примечание
/var/run/uid_пользователя/gvfs
# apt-get install pam_mount
/etc/pam.d/system-auth-sss
, перед
auth required pam_sss.soстроку:
auth optional pam_mount.soи в секцию session:
session optional pam_mount.so
/etc/security/pam_mount.conf.xml
(перед тегом <cifsmount>):
<volume uid="10000-2000200000" fstype="cifs" server="c228" path="sysvol" mountpoint="~/share" options="sec=krb5,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />
~/share
" — путь монтирования в домашней папке пользователя.
Предупреждение
Предупреждение
<volume uid="10000-2000200000" fstype="cifs" server="c228" path="sysvol" mountpoint="~/share" options="sec=krb5,vers=2.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />
mount.cifs //server/share /mnt/ -o vers=2.0,user=altlinux
smbclient
, например:
smbclient -L server -U altlinux -m SMB2
Важно
# apt-get install admx-basealt admx-samba admx-chromium admx-firefox admx-msi-setup
# admx-msi-setup
Примечание
admx-msi-setup
устанавливает последнюю версию ADMX от Microsoft (сейчас это Microsoft Group Policy — Windows 10 October 2020 Update (20H2)). С помощью параметров, можно указать другой источник:
# admx-msi-setup -h
admx-msi-setup - download msi files and extract them in <destination-directory> default value is /usr/share/PolicyDefinitions/.
Usage: admx-msi-setup [-d <destination-directory>] [-s <admx-msi-source>]
Removing admx-msi-setup temporary files...
/usr/share/PolicyDefinitions
. Скопировать локальные ADMX-файлы в сетевой каталог sysvol (/var/lib/samba/sysvol/<DOMAIN>/Policies/
):
# samba-tool gpo admxload
Примечание
# apt-get install alterator-gpupdate
Примечание
Примечание
Примечание
\\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\PolicyDefinitions
.
ping
только суперпользователю (root). Для создания новой политики, необходимо выполнить следующие действия:
ping
сможет только администратор:
$ping localhost
bash: ping: команда не найдена $/usr/bin/ping localhost
bash: /usr/bin/ping: Отказано в доступе #control ping
restricted
Важно
# gpoa --loglevel 0
В выводе команды будут фигурировать полученные групповые объекты. В частности, соответствующий уникальный код (GUID) объекта.
Предупреждение
Важно
apt-get dist-upgrade
.
update-kernel
.
Примечание
# apt-get install alterator-update-kernel
Примечание
Содержание
apt-get
. Она автоматически определяет зависимости между пакетами и строго следит за её соблюдением при выполнении любой из следующих операций: установка, удаление или обновление пакетов.
Важно
/etc/apt/sources.list
, либо в любой файл .list
(например, mysources.list
) в каталоге /etc/apt/sources.list.d/
. Описания репозиториев заносятся в эти файлы в следующем виде:
rpm [подпись] метод:путь база название rpm-src [подпись] метод:путь база названиеЗдесь:
/etc/apt/vendor.list
;
sources.list
, необходимо обновить локальную базу данных APT о доступных пакетах. Это делается командой apt-get update
.
sources.list
присутствует репозиторий, содержимое которого может изменяться (например, постоянно разрабатываемый репозиторий или репозиторий обновлений по безопасности), то прежде чем работать с APT, необходимо синхронизировать локальную базу данных с удалённым сервером командой apt-get update
. Локальная база данных создаётся заново при каждом изменении в репозитории: добавлении, удалении или переименовании пакета.
/etc/apt/sources.list
, относящиеся к ресурсам в сети Интернет.
Примечание
apt-repo
:
apt-repo
apt-repo add репозиторий
apt-repo rm репозиторий
apt-repo update
apt-repo
:
man apt-repo
или
apt-repo --help
Примечание
#apt-repo
#rm all
apt-repo
add p9
sources.list
репозитория на компакт-диске в APT предусмотрена специальная утилита — apt-cdrom
. Чтобы добавить запись о репозитории на компакт-диске, достаточно вставить диск в привод и выполнить команду apt-cdrom add
. После этого в sources.list
появится запись о подключённом диске примерно такого вида:
rpm cdrom:[ALT for Elbrus 2021-04-19]/ ALTLinux main
Важно
apt-cdrom add
, вы получаете ошибку:
Не найдена точка монтирования /media/ALTLinux/ дискаНеобходимо:
/etc/fstab
добавить строку:
/dev/sr0 /media/ALTLinux udf,iso9660 ro,noauto,user,utf8,nofail,comment=x-gvfs-show 0 0
# mkdir /media/ALTLinux
# apt-cdrom add
/etc/apt/sources.list.d/
.
Примечание
alt.list
может содержаться такая информация:
# ftp.altlinux.org (ALT Linux, Moscow) # ALT Linux Platform 9 #rpm [p9] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch x86_64 classic #rpm [p9] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch x86_64-i586 classic #rpm [p9] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch noarch classic rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch x86_64 classic rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch x86_64-i586 classic rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch noarch classic
apt-get update
или apt-repo update
).
apt-cache
. Данная утилита позволяет искать пакет не только по имени, но и по его описанию.
apt-cache search подстрока
позволяет найти все пакеты, в именах или описании которых присутствует указанная подстрока. Например:
$ apt-cache search dictionary
stardict-wn - GCIDE - The Collaborative International Dictionary of English
firefox-ru - Russian (RU) Language Pack for Firefox
gnome-dictionary-applet - GNOME panel applet for gnome-dictionary
gnome-utils - Utilities for the GNOME 2.0 desktop
libgdict - GNOME Dictionary Library.
stardict-mueller7 - V.K. Mueller English-Russian Dictionary, 7 Edition: stardict format
stardict-slovnyk_be-en - Dictionary: Slovnyk Belarusian-English
stardict-slovnyk_be-ru - Dictionary: Slovnyk Belarusian-Russian
stardict-slovnyk_be-uk - Dictionary: Slovnyk Belarusian-Ukrainian
stardict-slovnyk_cs-ru - Dictionary: Slovnyk Czech-Russian
stardict-slovnyk_en-be - Dictionary: Slovnyk English-Belarusian
stardict-slovnyk_en-ru - Dictionary: Slovnyk English-Russian
stardict-slovnyk_en-uk - Dictionary: Slovnyk English-Ukrainian
stardict-slovnyk_es-ru - Dictionary: Slovnyk Spanish-Russian
stardict-slovnyk_ru-be - Dictionary: Slovnyk Russian-Belarusian
stardict-slovnyk_ru-cs - Dictionary: Slovnyk Russian-Czech
stardict-slovnyk_ru-en - Dictionary: Slovnyk Russian-English
stardict-slovnyk_ru-es - Dictionary: Slovnyk Russian-Spanish
stardict-slovnyk_ru-uk - Dictionary: Slovnyk Russian-Ukrainian
stardict-slovnyk_uk-be - Dictionary: Slovnyk Ukrainian-Belarusian
stardict-slovnyk_uk-en - Dictionary: Slovnyk Ukrainian-English
stardict-slovnyk_uk-ru - Dictionary: Slovnyk Ukrainian-Russian
words - A dictionary of English words for the /usr/share/dict directory
apt-cache show
:
$ apt-cache show stardict-mueller7
Package: stardict-mueller7
Section: Text tools
Installed Size: 3095255
Maintainer: Anton V. Boyarshinov <boyarsh@altlinux.ru>
Version: 1.0-alt7
Pre-Depends: rpmlib(PayloadIsLzma)
Depends: stardict (>= 2.4.2)
Provides: stardict-mueller7 (= 1.0-alt7)
Architecture: noarch
Size: 3135276
MD5Sum: ea95c67ca323350b454fbc26533c3548
Filename: stardict-mueller7-1.0-alt7.noarch.rpm
Description: V.K. Mueller English-Russian Dictionary, 7 Edition: stardict format
Electronic version of V.K. Mueller English-Russian Dictionary, 7 Edition
in stardict format. You can use it with stardict client.
apt-cache
можно использовать русскую подстроку. В этом случае будут найдены пакеты, имеющие описание на русском языке. К сожалению, описание на русском языке в настоящее время есть не у всех пакетов, но наиболее актуальные описания переведены.
Важно
# apt-get install <имя_пакета>
Важно
# apt-get update
apt-get
позволяет устанавливать в систему пакеты, требующие для работы наличие других, пока ещё не установленных пакетов. В этом случае он определяет, какие пакеты необходимо установить. apt-get
устанавливает их, пользуясь всеми доступными репозиториями.
apt-get install stardict-mueller7
приведёт к следующему диалогу с APT (если пакет еще не установлен):
# apt-get install stardict-mueller7
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие НОВЫЕ пакеты будут установлены:
stardict-mueller7
0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B/3135kB архивов.
После распаковки потребуется дополнительно 3095kB дискового пространства.
Совершаем изменения...
Preparing... ####################### [100%]
1: stardict-mueller7 ####################### [100%]
Running /usr/lib/rpm/posttrans-filetriggers
Завершено.
apt-get install имя_пакета
используется также и для обновления уже установленного пакета или группы пакетов. В этом случае apt-get
дополнительно проверяет, есть ли обновлённая, в сравнении с установленной в системе, версия пакета в репозитории.
apt-get install stardict-mueller7
будет таким:
# apt-get install stardict-mueller7
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия stardict-mueller7 уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 2262 не будет обновлено.
apt-get install /путь/к/файлу.rpm
При этом APT проведёт стандартную процедуру проверки зависимостей и конфликтов с уже установленными пакетами.
apt-get
отказывается выполнять операции установки, удаления или обновления. В этом случае необходимо повторить операцию, задав опцию -f
, заставляющую apt-get
исправить нарушенные зависимости, удалить или заменить конфликтующие пакеты. В этом случае необходимо внимательно следить за сообщениями, выводимыми apt-get
. Любые действия в этом режиме обязательно требуют подтверждения со стороны пользователя.
apt-get remove имя_пакета
. Для того чтобы не нарушать целостность системы, будут удалены и все пакеты, зависящие от удаляемого. В случае удаления пакета, который относится к базовым компонентам системы, apt-get
потребует дополнительное подтверждение с целью предотвращения возможной случайной ошибки.
Важно
apt-get
удалить базовый компонент системы, вы увидите следующий запрос на подтверждение операции:
# apt-get remove filesystem
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
...
ВНИМАНИЕ: Будут удалены важные для работы системы пакеты
Обычно этого делать не следует. Вы должны точно понимать возможные последствия!
...
0 будет обновлено, 0 новых установлено, 2648 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 8994MB дискового пространства.
Вы делаете нечто потенциально опасное!
Введите фразу 'Yes, do as I say!' чтобы продолжить.
#apt-get
#update
apt-get
dist-upgrade
apt-get update
) обновит индексы пакетов. Вторая команда (apt-get dist-upgrade
) позволяет обновить только те установленные пакеты, для которых в репозиториях, перечисленных в /etc/apt/sources.list
, имеются новые версии.
apt-get
, которым APT предварит само обновление.
Примечание
apt-get dist-upgrade
обновит систему, но ядро ОС не будет обновлено.
# update-kernel
Примечание
update-kernel
необходимо выполнить команду apt-get update
.
update-kernel
обновляет и модули ядра, если в репозитории обновилось что-то из модулей без обновления ядра.
# remove-old-kernels
epm
упрощает процедуру управления пакетами, может использоваться в скриптах и установщиках, сервисных программах, в повседневном администрировании различных систем. В epm
добавлены типовые операции, которые в случае использования apt, потребовали бы ввода более одной команды.
Примечание
epm
, если она еще не установлена, выполняется командой:
# apt-get install eepm
epm
и её опциях можно получить, выполнив команду:
$ epm --help
Ниже описаны лишь некоторые возможности утилиты epm
.
epm install <имя_пакета>
Важно
epm install
не будут выполнены установочные скрипты из пакета. Это предохраняет систему от повреждения, но может привести к тому, что пакет не заработает. Вернуть стандартное поведение можно добавлением --scripts
:
epm install --scripts <имя_пакета>
epm play <имя_программы>
Список программ, которые можно установить данной командой, можно просмотреть, выполнив команду:
$ epm play
Run with a name of a play script to run:
anydesk - Install AnyDesk from the official site
assistant - Install Assistant (Ассистент) from the official site
…
yandex-browser - Install Yandex browser from the official site
yandex-disk - Install Yandex Disk from the official site
zoom - Install Zoom client from the official site
Команда epm play
требует наличия доступа в сеть Интернет.
Примечание
epm install --repack <имя_пакета>
Для deb-пакетов ключ --repack
применяется автоматически.
epm remove <имя_пакета>
epm search <текст>
$ epm list
# epm autoremove
# epm full-upgrade
Содержание
/var/log/journal
, что исключает возможность просмотра содержимого данных файлов стандартными утилитами обработки текстовых данных. Для просмотра логов используется утилита journalctl.
journalctl
с разными ключами:
journalctl
-b
— покажет сообщения только с текущей загрузки;
journalctl
-f
— покажет только последние сообщения и продолжит печатать новые записи, при добавлении их в журнал.
journalctl
_PID
=1 — покажет сообщения первого процесса (init).
man journalctl
.
/var/log/
).
/etc/systemd/journald.conf
. Справку по этому файлу можно получить выполнив команду man journald.conf
.
journalctl
--disk-usage
--vacuum-size
), необходимо установить предельно допустимый размер для хранимых на диске журналов, как только объем журналов превысит указанную цифру, лишние файлы будут автоматические удалены:
journalctl
--vacuum-size=200M
--vacuum-time
), необходимо установить для журналов срок хранения, по истечении которого они будут автоматически удалены:
journalctl
--vacuum-time=1months
/еtc/systemd/journald.conf
.
/var/log/
— не текстовые, они являются неполноценными журналами и представляют собой «свалку событий» для служб авторизации и учёта. Текстовую информацию о входе пользователей в систему и выходе оттуда можно получить по команде last
, а узнать о тех, кто в данный момент пользуется системой, помогут команды w
и who
.
ps
, top
, vmstat
), сведения об использовании дискового пространства (du
, df
, fuser
) и сведения о работе сетевых устройств (netstat
).
/
.
/media/cdrom
(путь в дистрибутиве обозначается с использованием /, а не \, как в DOS/Windows).
/
:
/bin
— командные оболочки (shell), основные утилиты;
/boot
— содержит ядро системы;
/dev
— псевдофайлы устройств, позволяющие работать с устройствами напрямую. Файлы в /dev
создаются сервисом udev
/etc
— общесистемные конфигурационные файлы для большинства программ в системе;
/etc/rc?.d
, /etc/init.d
, /etc/rc.boot
, /etc/rc.d
— каталоги, где расположены командные файлы, выполняемые при запуске системы или при смене её режима работы;
/etc/passwd
— база данных пользователей, в которой содержится информация об имени пользователя, его настоящем имени, личном каталоге, его зашифрованный пароль и другие данные;
/etc/shadow
— теневая база данных пользователей. При этом информация из файла /etc/passwd
перемещается в /etc/shadow
, который недоступен для чтения всем, кроме пользователя root. В случае использования альтернативной схемы управления теневыми паролями (TCB), все теневые пароли для каждого пользователя располагаются в каталоге /etc/tcb/имя пользователя/shadow
;
/home
— домашние каталоги пользователей;
/lib
— содержит файлы динамических библиотек, необходимых для работы большей части приложений, и подгружаемые модули ядра;
/lost+found
— восстановленные файлы;
/media
— подключаемые носители (каталоги для монтирования файловых систем сменных устройств);
/mnt
— точки временного монтирования;
/opt
— вспомогательные пакеты;
/proc
— виртуальная файловая система, хранящаяся в памяти компьютера при загруженной ОС. В данном каталоге расположены самые свежие сведения обо всех процессах, запущенных на компьютере.
/root
— домашний каталог администратора системы;
/run
— файлы состояния приложений;
/sbin
— набор программ для административной работы с системой (системные утилиты);
/selinux
— виртуальная файловая система SELinux;
/srv
— виртуальные данные сервисных служб;
/sys
— файловая система, содержащая информацию о текущем состоянии системы;
/tmp
— временные файлы.
/usr
— пользовательские двоичные файлы и данные, используемые только для чтения (программы и библиотеки);
/var
— файлы для хранения изменяющихся данных (рабочие файлы программ, очереди, журналы).
/usr
:
/usr/bin
— дополнительные программы для всех учетных записей;
/usr/sbin
— команды, используемые при администрировании системы и не предназначенные для размещения в файловой системе root;
/usr/local
— место, где рекомендуется размещать файлы, установленные без использования пакетных менеджеров, внутренняя организация каталогов практически такая же, как и корневого каталога;
/usr/man
— каталог, где хранятся файлы справочного руководства man;
/usr/share
— каталог для размещения общедоступных файлов большей части приложений.
/var
:
/var/log
— место, где хранятся файлы аудита работы системы и приложений;
/var/spool
— каталог для хранения файлов, находящихся в очереди на обработку для того или иного процесса (очереди печати, непрочитанные или не отправленные письма, задачи cron т.д.).
/dev
файловой системы дистрибутива (об этом — ниже). Диски (в том числе IDE/SATA/SCSI/SAS жёсткие диски, USB-диски) имеют имена:
/dev/sda
— первый диск;
/dev/sdb
— второй диск;
/dev/sdX
, где X — a, b, c, d, e, … в зависимости от порядкового номера диска на шине.
/dev/sdb4
— четвертый раздел второго диска.
/
) и раздел для ядра (/boot
). Если на диске много свободного места, то можно создать отдельные разделы для каталогов /usr
, /home
, /var
.
command.com
в DOS, но несравненно мощнее. При помощи командных интерпретаторов можно писать небольшие программы — сценарии (скрипты). В Linux доступны следующие командные оболочки:
bash
— самая распространенная оболочка под linux. Она ведет историю команд и предоставляет возможность их редактирования;
pdksh
— клон korn shell, хорошо известной оболочки в UNIX™ системах.
$ echo
$SHELL
history
. Команды, присутствующие в истории, отображаются в списке пронумерованными. Чтобы запустить конкретную команду необходимо набрать:
!номер команды
!!запустится последняя из набранных команд.
gunzip
, можно набрать следующую команду:
gu
$
guguile
gunzip
gupnp-binding-tool
gunzip
— это единственное имя, третьей буквой которого является «n»), а затем нажать клавишу Tab, то оболочка самостоятельно дополнит имя. Чтобы запустить команду нужно нажать Enter.
$PATH
. По умолчанию в этот перечень каталогов не входит текущий каталог, обозначаемый ./
(точка слеш) (если только не выбран один из двух самых слабых уровней защиты). Поэтому, для запуска программы из текущего каталога, необходимо использовать команду (в примере запускается команда prog
):
./prog
cal
, выводящая календарь на текущий месяц.
$
cal
Май 2021 Пн Вт Ср Чт Пт Сб Вс 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Команда$
cal
1 2022
Январь 2022 Пн Вт Ср Чт Пт Сб Вс 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cal 1 2022
состоит из двух частей — собственно команды cal
и «остального». То, что следует за командой называется параметрами (или аргументами) и они вводятся для изменения поведения команды. В большинстве случаев, первое слово считается именем команды, а остальные — её параметрами.
date
, только для работы по Гринвичу ей нужен дополнительный параметр -u
(он же --universal
).
$date
Ср мая 5 11:57:57 EET 2021
$date
-u
Ср мая 5 09:58:04 UTC 2021
--help
. К примеру, получить подсказку о том, что делает команда rm
, можно, набрав в терминале rm
--help
.
man
. Пример:
$man
ls
Примечание
ls
-l
-F
можно ввести команду ls
-lF
Учетные записи пользователей
su
su
позволяет изменить «владельца» текущего сеанса (сессии) без необходимости завершать сеанс и открывать новый.
su
[ОПЦИИ...] [ПОЛЬЗОВАТЕЛЬ]
su -
, будет запрошен пароль суперпользователя (root), и, в случае ввода корректного пароля, пользователь получит права администратора. Чтобы вернуться к правам пользователя, необходимо ввести команду:
exit
id
id
выводит информацию о пользователе и группах, в которых он состоит для заданного пользователя или о текущем пользователе (если ничего не указано).
id
[ОПЦИИ...] [ПОЛЬЗОВАТЕЛЬ]
passwd
passwd
меняет (или устанавливает) пароль, связанный с входным_именем пользователя.
Основные операции с файлами и каталогами
ls
ls
(list) печатает в стандартный вывод содержимое каталогов.
ls
[ОПЦИИ...] [ФАЙЛ...]
-a
— просмотр всех файлов, включая скрытые;
-l
— отображение более подробной информации;
-R
— выводить рекурсивно информацию о подкаталогах.
cd
cd
предназначена для смены каталога. Команда работает как с абсолютными, так и с относительными путями. Если каталог не указан, используется значение переменной окружения $HOME
(домашний каталог пользователя). Если каталог задан полным маршрутным именем, он становится текущим. По отношению к новому каталогу нужно иметь право на выполнение, которое в данном случае трактуется как разрешение на поиск.
cd
[-L|-P] [КАТАЛОГ]
$OLDPWD
. Если переход был осуществлен по переменной окружения $CDPATH
или в качестве аргумента был задан «-» и смена каталога была успешной, то абсолютный путь нового рабочего каталога будет выведен на стандартный вывод.
docs/
(относительный путь):
cd
docs/
Сделать текущим каталог /usr/bin
(абсолютный путь):
cd
/usr/bin/
Сделать текущим родительский каталог:
cd
..
Вернуться в предыдущий каталог:
cd
-
Сделать текущим домашний каталог:
cd
pwd
pwd
выводит абсолютный путь текущего (рабочего) каталога.
pwd
[-L|-P]
-P
— не выводить символические ссылки;
-L
— выводить символические ссылки.
rm
rm
служит для удаления записей о файлах. Если заданное имя было последней ссылкой на файл, то файл уничтожается.
Предупреждение
rm
[ОПЦИИ...]
<ФАЙЛ>
-f
— никогда не запрашивать подтверждения;
-i
— всегда запрашивать подтверждение;
-r, -R
— рекурсивно удалять содержимое указанных каталогов.
html
в каталоге ~/html
:
rm
-i
~/html/*.html
mkdir
mkdir
— команда для создания новых каталогов.
mkdir
[-p] [-m права] <КАТАЛОГ...>
rmdir
rmdir
удаляет каталоги из файловой системы. Каталог должен быть пуст перед удалением.
rmdir
[ОПЦИИ] <КАТАЛОГ...>
-p
— удалить каталог и его потомки.
rmdir
часто заменяется командой rm -rf
, которая позволяет удалять каталоги, даже если они не пусты.
cp
cp
предназначена для копирования файлов из одного в другие каталоги.
cp
[-fip] [ИСХ_ФАЙЛ...] [ЦЕЛ_ФАЙЛ...]
cp
[-fip] [ИСХ_ФАЙЛ...] [КАТАЛОГ]
cp
[-R] [[-H] | [-L] | [-P]] [-fip] [ИСХ_ФАЙЛ...] [КАТАЛОГ]
-p
— сохранять по возможности времена изменения и доступа к файлу, владельца и группу, права доступа;
-i
— запрашивать подтверждение перед копированием в существующие файлы;
-r, -R
— рекурсивно копировать содержимое каталогов.
mv
mv
предназначена для перемещения файлов.
mv
[-fi] [ИСХ_ФАЙЛ...] [ЦЕЛ_ФАЙЛ...]
mv
[-fi] [ИСХ_ФАЙЛ...] [КАТАЛОГ]
mv
перемещает исх_файл в цел_файл (происходит переименование файла).
mv
перемещает исходные файлы в указанный каталог под именами, совпадающими с краткими именами исходных файлов.
-f
— не запрашивать подтверждения перезаписи существующих файлов;
-i
— запрашивать подтверждение перезаписи существующих файлов.
cat
cat
последовательно выводит содержимое файлов.
cat
[ОПЦИИ] [ФАЙЛ...]
-n, --number
— нумеровать все строки при выводе;
-E, --show-ends
— показывать $ в конце каждой строки.
head
head
выводит первые 10 строк каждого файла на стандартный вывод.
head
[ОПЦИИ] [ФАЙЛ...]
-n, --lines=[-]K
— вывести первые К строк каждого файла, а не первые 10;
-q, --quiet
— не печатать заголовки с именами файлов.
less
less
позволяет постранично просматривать текст (для выхода необходимо нажать q).
less
ФАЙЛ
grep
grep
имеет много опций и предоставляет возможности поиска символьной строки в файле.
grep
[шаблон_поиска] ФАЙЛ
chmod
chmod
предназначена для изменения прав доступа файлов и каталогов.
chmod
[ОПЦИИ] РЕЖИМ[,РЕЖИМ]... <ФАЙЛ>
chmod
[ОПЦИИ] --reference=ИФАЙЛ <ФАЙЛ>
-R
— рекурсивно изменять режим доступа к файлам, расположенным в указанных каталогах;
--reference=ИФАЙЛ
— использовать режим файла ИФАЙЛ.
chmod
изменяет права доступа каждого указанного файла в соответствии с правами доступа, указанными в параметре режим, который может быть представлен как в символьном виде, так и в виде восьмеричного, представляющего битовую маску новых прав доступа.
[ugoa...][[+-=][разрешения...]...]Здесь разрешения — это ноль или более букв из набора «rwxXst» или одна из букв из набора «ugo».
f2
:
chmod
+x f2
Запретить удаление файла f3
:
chmod
+t f3
chown
chown
изменяет владельца и/или группу для каждого заданного файла.
chown
[КЛЮЧ]…[ВЛАДЕЛЕЦ][:[ГРУППА]] <ФАЙЛ>
/u
на пользователя test:
chown
test /u
Поменять владельца и группу каталога /u
:
chown
test:staff /u
Поменять владельца каталога /u
и вложенных файлов на test:
chown
-hR test /u
Поиск файлов
find
find
предназначена для поиска всех файлов, начиная с корневого каталога. Поиск может осуществляться по имени, типу или владельцу файла.
find
[-H] [-L] [-P] [-Oуровень] [-D help|tree|search|stat|rates|opt|exec] [ПУТЬ…] [ВЫРАЖЕНИЕ]
-name
— поиск по имени файла;
-type
— поиск по типу f=файл, d=каталог, l=ссылка(lnk);
-user
— поиск по владельцу (имя или UID).
find
, можно выполнять различные действия над найденными файлами. Основные действия:
-exec команда \;
— выполнить команду. Запись команды должна заканчиваться экранированной точкой с запятой. Строка «{}» заменяется текущим маршрутным именем файла;
execdir команда \;
— то же самое что и -exec
, но команда вызывается из подкаталога, содержащего текущий файл;
-ok команда
— эквивалентно -exec
за исключением того, что перед выполнением команды запрашивается подтверждение (в виде сгенерированной командной строки со знаком вопроса в конце) и она выполняется только при ответе: y;
-print
— вывод имени файла на экран.
-print
.
find
. -type f -name "~*" -print
Найти в текущем каталоге файлы, измененные позже, чем файл file.bak
:
find
. -newer file.bak -type f -print
Удалить все файлы с именами a.out
или *.o
, доступ к которым не производился в течение недели:
find
/ \( -name a.out -o -name '*.o' \) \ -atime +7 -exec rm {} \;
Удалить из текущего каталога и его подкаталогов все файлы нулевого размера, запрашивая подтверждение:
find
. -size 0c -ok rm {} \;
whereis
whereis
сообщает путь к исполняемому файлу программы, ее исходным файлам (если есть) и соответствующим страницам справочного руководства.
whereis
[ОПЦИИ] <ИМЯ>
-b
— вывод информации только об исполняемых файлах;
-m
— вывод информации только о страницах справочного руководства;
-s
— вывод информации только об исходных файлах.
Мониторинг и управление процессами
ps
ps
отображает список текущих процессов.
ps
[ОПЦИИ]
-a
— вывести информацию о процессах, ассоциированных с терминалами;
-f
— вывести «полный» список;
-l
— вывести «длинный» список;
-p список
— вывести информацию о процессах с перечисленными в списке PID;
-u список
— вывести информацию о процессах с перечисленными идентификаторами или именами пользователей.
kill
kill
позволяет прекратить исполнение процесса или передать ему сигнал.
kill
[-s] [сигнал] [идентификатор] [...]
kill
[-l] [статус_завершения]
kill
[-номер_сигнала] [идентификатор] [...]
-l
— вывести список поддерживаемых сигналов;
-s сигнал, -сигнал
— послать сигнал с указанным именем.
kill
не дает желательного эффекта, необходимо использовать команду kill
с параметром -9
(kill
-9
PID_номер).
df
df
показывает количество доступного дискового пространства в файловой системе, в которой содержится файл, переданный как аргумент. Если ни один файл не указан, показывается доступное место на всех смонтированных файловых системах. Размеры по умолчанию указаны в блоках по 1КБ.
df
[ОПЦИИ] [ФАЙЛ...]
--total
— подсчитать общий объем в конце;
-h, --human-readable
— печатать размеры в удобочитаемом формате (например, 1K, 234M, 2G).
du
du
подсчитывает использование диска каждым файлом, для каталогов подсчет происходит рекурсивно.
du
[ОПЦИИ] [ФАЙЛ...]
-a, --all
— выводить общую сумму для каждого заданного файла, а не только для каталогов;
-c, --total
— подсчитать общий объем в конце. Может быть использовано для выяснения суммарного использования дискового пространства для всего списка заданных файлов;
-d, --max-depth=N
— выводить объем для каталога (или файлов, если указано --all
) только если она на N или менее уровней ниже аргументов командной строки;
-S, --separate-dirs
— выдавать отдельно размер каждого каталога, не включая размеры подкаталогов;
-s, --summarize
— отобразить только сумму для каждого аргумента.
which
which
отображает полный путь к указанным командам или сценариям.
which
[ОПЦИИ] <ФАЙЛ...>
-a, --all
— выводит все совпавшие исполняемые файлы по содержимому в переменной окружения $PATH
, а не только первый из них;
-c, --total
— подсчитать общий объем в конце. Может быть использовано для выяснения суммарного использования дискового пространства для всего списка заданных файлов;
-d, --max-depth=N
— выводить объем для каталога (или файлов, если указано --all
) только если она на N или менее уровней ниже аргументов командной строки;
-S, --separate-dirs
— выдавать отдельно размер каждого каталога, не включая размеры подкаталогов;
--skip-dot
— пропускает все каталоги из переменной окружения $PATH
, которые начинаются с точки.
Использование многозадачности
bg
bg
позволяет перевести задание на задний план.
bg
[ИДЕНТИФИКАТОР ...]
fg
fg
позволяет перевести задание на передний план.
fg
[ИДЕНТИФИКАТОР ...]
Сжатие и упаковка файлов
tar
tar
, которая преобразует файл или группу файлов в архив без сжатия (tarfile).
tar
-cf [имя создаваемого файла архива] [упаковываемые файлы и/или каталоги]
tar
-cf moi_dokumenti.tar Docs project.tex
tar
-xf [имя файла архива]
gzip
, bzip2
и 7z
.
cat
. По умолчанию команда cat
читает данные из всех файлов, которые указаны в командной строке, и посылает эту информацию непосредственно в стандартный вывод (stdout). Следовательно, команда:
cat
history-final masters-thesis
выведет на экран сначала содержимое файла history-final
, а затем — файла masters-thesis
.
cat
читает входные данные из stdin и возвращает их в stdout. Пример:
cat
Hello there.
Hello there.
Bye.
Bye.
Ctrl-D
cat
немедленно возвращает на экран. При вводе информации со стандартного ввода конец текста сигнализируется вводом специальной комбинации клавиш, как правило, Ctrl+D. Сокращённое название сигнала конца текста — EOT (end of text).
sort
является простым фильтром — она сортирует входные данные и посылает результат на стандартный вывод. Совсем простым фильтром является программа cat
— она ничего не делает с входными данными, а просто пересылает их на выход.
ls
на stdin команды sort
:
ls
|sort
-r notes masters-thesis history-final english-list
ls
/usr/bin |more
где командаls
|sort
-r |head
-1 notes
head -1
выводит на экран первую строку получаемого ей входного потока строк (в примере поток состоит из данных от команды ls
), отсортированных в обратном алфавитном порядке.
ls
> file-list
уничтожит содержимое файла file-list
, если этот файл ранее существовал, и создаст на его месте новый файл. Если вместо этого перенаправление будет сделано с помощью символов >>, то вывод будет приписан в конец указанного файла, при этом исходное содержимое файла не будет уничтожено.
Примечание
su
(shell of user), которая позволяет выполнить одну или несколько команд от лица другого пользователя. По умолчанию эта утилита выполняет команду sh
от пользователя root, то есть запускает командный интерпретатор. Отличие от предыдущего способа в том, что всегда известно, кто именно запускал su
, а значит, ясно, кто выполнил определённое административное действие.
su
, а утилиту sudo
, которая позволяет выполнять только заранее заданные команды.
Важно
su
и sudo
, необходимо быть членом группы wheel. Пользователь, созданный при установке системы, по умолчанию уже включён в эту группу.
control
доступна только для суперпользователя (root). Для того, чтобы посмотреть, что означает та или иная политика control
(разрешения выполнения конкретной команды, управляемой control
), надо запустить команду с ключом help:
# control su help
Запустив control
без параметров, можно увидеть полный список команд, управляемых командой (facilities) вместе с их текущим состоянием и набором допустимых состояний.
su -
.
su
без ключа, то происходит вызов командного интерпретатора с правами root. При этом значение переменных окружения, в частности $PATH
, остаётся таким же, как у пользователя: в переменной $PATH
не окажется каталогов /sbin
, /usr/sbin
, без указания полного имени будут недоступны команды route
, shutdown
, mkswap
и другие. Более того, переменная $HOME
будет указывать на каталог пользователя, все программы, запущенные в режиме суперпользователя, сохранят свои настройки с правами root в каталоге пользователя, что в дальнейшем может вызвать проблемы.
su -
. В этом режиме su
запустит командный интерпретатор в качестве login shell, и он будет вести себя в точности так, как если бы в системе зарегистрировался root.
id
, вывод её может быть примерно следующим:
uid=500(test) gid=500(test) группы=500(test),16(rpm)
Примечание
passwd
и утилит shadow
.
passwd [ОПЦИИ...]
[ИМЯ ПОЛЬЗОВАТЕЛЯ]
-d
--delete
— удалить пароль для указанной записи;
-f
, --force
— форсировать операцию;
-k
, --keep-tokens
— сохранить не устаревшие пароли;
-l
, --lock
— блокировать указанную запись;
--stdin
— прочитать новые пароли из стандартного ввода;
-S
, --status
— дать отчет о статусе пароля в указанной записи;
-u
, --unlock
— разблокировать указанную запись;
-?
, --help
— показать справку и выйти;
--usage
— дать короткую справку по использованию;
-V
, --version
— показать версию программы и выйти.
passwd
заканчивает работу с кодом выхода 0. Код выхода 1 означает, что произошла ошибка. Текстовое описание ошибки выводится на стандартный поток ошибок.
useradd
и passwd
:
#useradd
test1 #passwd
test1 passwd: updating all authentication tokens for user test1. You can now choose the new password or passphrase. A valid password should be a mix of upper and lower case letters, digits, and other characters. You can use an 8 character long password with characters from at least 3 of these 4 classes, or a 7 character long password containing characters from all the classes. An upper case letter that begins the password and a digit that ends it do not count towards the number of character classes used. A passphrase should be of at least 3 words, 11 to 40 characters long, and contain enough different characters. Alternatively, if no one else can see your terminal now, you can pick this as your password: "holder5dinghy-Arm". Enter new password:
passwd
— но если он попытается поставить слабый пароль, система откажет ему (в отличие от root) в изменении.
useradd
имеет множество параметров, которые позволяют менять её поведение по умолчанию. Например, можно принудительно указать, какой будет UID или какой группе будет принадлежать пользователь.
usermod
:
# usermod
-G audio,rpm,test1 test1
# usermod
-l test2 test1
usermod -L
test2
и usermod -U
test2
соответственно временно блокируют возможность входа в систему пользователю test2 и возвращают всё на свои места.
chpasswd
. На стандартный вход ей следует подавать список, каждая строка которого будет выглядеть как имя:пароль
.
userdel
.
userdel test2
удалит пользователя test2 из системы. Если будет дополнительно задан параметр -r
, то будет уничтожен и домашний каталог пользователя. Нельзя удалить пользователя, если в данный момент он еще работает в системе.
man
(сокращение от manual). Каждая страница руководства посвящена одному объекту системы. Для того чтобы прочесть страницу руководства по программе, необходимо набрать man
название_программы. К примеру, если вы хотите узнать, какие опции есть у команды date
, вы можете ввести команду:
$
man
date
man
осуществляется командой apropos
. Если вы точно не знаете, как называется необходимая вам программа, то поиск осуществляется по ключевому слову, к примеру, apropos
date или при помощи ввода слова, обозначающего нужное действие, после команды man
-k
(например, man
-k
copy). Слово, характеризующее желаемое для вас действие, можно вводить и на русском языке. При наличии русского перевода страниц руководства man
результаты поиска будут выведены на запрашиваемом языке.
man
запускает программу постраничного просмотра текстов. Страницы перелистывают пробелом, для выхода из режима чтения описания команд man
необходимо нажать на клавиатуре q. Команда man
man
выдаёт справку по пользованию самой командой man
.
man
по умолчанию будет отображать их на русском языке.
info
info
. Команда info
, введённая без параметров, предлагает пользователю список всех документов info, установленных в системе.
/usr/share/doc
— место хранения разнообразной документации.
/usr/share/doc/имя_пакета
. Например, документация к пакету foo-1.0-alt1 находится в /usr/share/doc/foo-1.0-alt1
. Для получения полного списка файлов документации, относящихся к пакету, воспользуйтесь командой rpm
-qd
имя_установленного_пакета.
README
, FAQ
, TODO
, СhangeLog
и другие. В файле README
содержится основная информация о программе — имя и контактные данные авторов, назначение, полезные советы и пр. FAQ
содержит ответы на часто задаваемые вопросы; этот файл стоит прочитать в первую очередь, если у вас возникли проблемы или вопросы по использованию программы, поскольку большинство проблем и сложностей типичны, вполне вероятно, что в FAQ
вы тут же найдёте готовое решение. В файле TODO
записаны планы разработчиков на реализацию той или иной функциональности. В файле СhangeLog
записана история изменений в программе от версии к версии.
rpm
-qi
имя_установленного_пакета. В информационном заголовке соответствующего пакета, среди прочей информации, будет выведена искомая ссылка.
HOWTO
в формате HTML (от англ. how to — «как сделать») каталога /usr/share/doc/HOWTO/
(при условии их наличия в системе) содержат многообразную информацию о работе Linux-систем.