Редакция октябрь, 2018
Аннотация
apt-get
и её графическая оболочка synaptic позволяют пользователям легко обновлять свои системы и быть в курсе актуальных новостей мира свободных программ.
Содержание
SCDWriter.exe
;
Предупреждение
.exe
;
Предупреждение
где <файл-образа.iso> — образ диска ISO, аdd
oflag=direct if=<файл-образа.iso> of=/dev/sdX bs=1M status=progresssync
/dev/sdX
— устройство, соответствующее flash-диску.
где <файл-образа.iso> — образ диска ISO, аpv
<файл-образа.iso> | dd oflag=direct of=/dev/sdX bs=1M;sync
/dev/sdX
— устройство, соответствующее flash-диску.
lsblk
или (если такой команды нет): blkid
.
$ lsblk | grep disk
sda 8:0 0 931,5G 0 disk
sdb 8:16 0 931,5G 0 disk
sdc 8:32 1 7,4G 0 disk
flash-диск имеет имя устройства sdc.
# dd oflag=direct if=/iso/alt-server.iso of=/dev/sdc bs=1M status=progress; sync
# pv /iso/alt-server.iso | dd oflag=direct of=/dev/sdc bs=1M;sync
dd: warning: partial read (524288 bytes); suggest iflag=fullblock
3GiB 0:10:28 [4,61MiB/s] [===================================> ] 72% ETA 0:04:07
Предупреждение
Предупреждение
Предупреждение
eject /dev/sdX
и дождаться ее успешного завершения.
sudo dd if=
alt-server.iso
of=/dev/diskX bs=1Msync
alt-server.iso
— образ диска ISO, а /dev/diskX — flash-диск.
diskutil list
Предупреждение
Предупреждение
# du -b alt-server.iso | cut -f1
2063597568
grep alt-server.iso MD5SUMS cf34ca5fe15d5367383aeccb60baf713 alt-server.iso
# head -c 2063597568 /dev/sdd | md5sum
cf34ca5fe15d5367383aeccb60baf713
где размер после -c — вывод в п.1, а /dev/sdd — устройство DVD или USB Flash, на которое производилась запись.
/pub/netinstall/
. В данном каталоге на сервере должны находиться:
altinst
;
Metadata
;
ALTLinux
с подкаталогами RPMS.секция
, содержащими rpm-пакеты.
/pub/netinstall
.
automatic=method:disk,disk:hdb,partition:hdbX,directory:<путь_к_каталогу_с_дистрибутивом>
Предупреждение
Примечание
Примечание
Примечание
Примечание
Примечание
Предупреждение
/home
) или с другими операционными системами. С другой стороны, отформатировать можно любой раздел, который вы хотите «очистить» (удалить все данные).
Предупреждение
Примечание
Примечание
Важно
Предупреждение
/etc/fstab
). В список доступных источников программных пакетов добавляется репозиторий, находящийся на установочном лазерном диске – выполняется команда apt-cdrom add
, осуществляющая запись в конфигурационный файл /etc/apt/sources.list
.
Примечание
Важно
Важно
Примечание
/home
, то во время загрузки системы будет необходимо ввести пароль для этого раздела, иначе вы не сможете получить доступ в систему под своим именем пользователя.
Важно
xdriver
— графический установщик предпринимает попытку автоматического подбора драйвера видеокарты, но иногда это ему не удаётся. Данным параметром можно отключить «искусственный интеллект» и явно указать нужный вариант драйвера;
instdebug
— если будет присутствовать этот параметр, то перед запуском и после завершения работы графического установщика будет запущена оболочка shell. Это очень полезное средство для выявления причин отсутствия запуска графической части программы установки. Последовательность работы внутренних сценариев следующая: install2
→ xinit
→ alterator-install2
→ alterator-wizard
. При необходимости можно вручную загрузить Xorg (команда xinit
) и в открывшемся окне терминала запустить alterator-install2
(или alterator-wizard
) вручную.
[root@localhost /]#
. Начиная с этого момента, система готова к вводу команд.
fixmbr
без параметров. Программа попытается переустановить загрузчик в автоматическом режиме.
Важно
/home
, то для того, чтобы войти в систему под своим именем пользователя, вам потребуется ввести пароль этого раздела и затем нажать Enter.
Важно
Важно
Содержание
Примечание
Предупреждение
/home/<имя пользователя>
. В этой папке по умолчанию хранятся пользовательские файлы (например, аудиозаписи, видеозаписи, документы). У каждого пользователя своя «Домашняя» директория. Каждый пользователь имеет доступ только в свою «Домашнюю» директорию.
Примечание
Примечание
Примечание
Содержание
acc
.
https://ip-адрес:8080/
.
192.168.0.109
. В таком случае интерфейс управления доступен по адресу: https://192.168.0.109: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.0.109/24 brd 192.168.0.255 scope global enp0s3
192.168.0.109
.
Примечание
startx
, предварительно войдя в консоль сервера, используя имя пользователя root и пароль пользователя root.
Предупреждение
Предупреждение
Важно
Примечание
Важно
Примечание
$ su -
/etc/passwd
, локальная база LDAP или на другом сервере.
Примечание
/etc/group
).
Важно
Содержание
Примечание
Примечание
Примечание
vncviewer -listen
.
Предупреждение
Примечание
openvpn-server.csr
. Необходимо сохранить этот файл на диске.
openvpn-server.csr
и загрузить запрос:
output.pem
(подписанный сертификат).
output.pem
и нажать кнопку :
ca-root.pem
и нажать кнопку :
ip addr
должно появиться новое соединение tun0. При обычных настройках это может выглядеть так:
tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/[none] inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0
Примечание
Примечание
/etc/bacula
.
/etc/bacula/bacula-dir.conf
должен соответствовать паролю ресурса Director файла /etc/bacula/bacula-sd.conf
.
<имя узла>-fd.bin
на локальном компьютере;
/etc/bacula/bacula-fd.conf
;
Примечание
/dev
, /.fsck
, /.journal
, /media
, /mnt
, /opt
, /proc
, /srv
, /sys
, и /tmp
.
/srv/public/mirror
. Для того чтобы зеркалирование происходило в другую папку необходимо эту папку примонтировать в папку /srv/public/mirror
. Для этого в файл /etc/fstab
следует вписать строку:
/media/disk/localrepo /srv/public/mirror none rw,bind,auto 0 0где
/media/disk/localrepo
— папка-хранилище локального репозитория.
/etc/httpd2/conf/extra-available/Directory_html_default.conf
, изменив следующие строки:
Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from allЭтим серверу apache будет разрешено обрабатывать символические ссылки.
# service httpd2 restart
cd /var/www/html
ln -s /srv/public/mirror mirror
http://<ваш ip>/mirror/
Примечание
usrquota
, grpquota
.
rpm -qa | grep alterator*
Прочие пакеты для ЦУС можно найти, выполнив команду:
apt-cache search alterator*
Содержание
Предупреждение
Предупреждение
# apt-get install task-samba-dc
# for service in smb nmb krb5kdc slapd bind; do chkconfig $service off; service $service stop; done
#rm -f /etc/samba/smb.conf
#rm -rf /var/lib/samba
#mkdir -p /var/lib/samba/sysvol
Предупреждение
/etc/samba/smb.conf
перед созданием домена: rm -f
/etc/samba/smb.conf
/etc/sysconfig/network
Предупреждение
# samba-tool domain provision --realm=test.alt --domain test --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307
где
# samba-tool domain provision
Realm [TEST.ALT]:
Domain [TEST]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]:
Administrator password:
Retype password:
Looking up IPv4 addresses
More than one IPv4 address found. Using 192.168.1.1
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=test,DC=alt
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=test,DC=alt
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: c228
NetBIOS Domain: TEST
DNS Domain: test.alt
DOMAIN SID: S-1-5-21-80639820-2350372464-3293631772
Примечание
--use-rfc2307
--use-xattrs=yes
позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
#chkconfig samba on
#service samba start
# samba-tool domain info 127.0.0.1
Forest : test.alt
Domain : test.alt
Netbios domain : TEST
DC name : c228.test.alt
DC netbios name : C228
Server site : Default-First-Site-Name
Client site : Default-First-Site-Name
# smbclient -L localhost -Uadministrator
Enter administrator's password:
Domain=[TEST] OS=[Unix] Server=[Samba 4.0.21]
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.0.21)
Domain=[TEST] OS=[Unix] Server=[Samba 4.0.21]
Server Comment
--------- -------
Workgroup Master
--------- -------
TEST.ALT C228
WORKGROUP HOST-15
Общие ресурсы netlogon и sysvol создаваемые по умолчанию нужны для функционирования сервера AD и создаются в smb.conf
в процессе развертывания/модернизации.
/etc/resolv.conf
:
host test.alt
#Если имена не находятся, проверьте выключение службы named.host -t SRV _kerberos._udp.test.alt.
_kerberos._udp.test.alt has SRV record 0 100 88 c228.test.alt. #host -t SRV _ldap._tcp.test.alt.
_ldap._tcp.test.alt has SRV record 0 100 389 c228.test.alt. #host -t A c228.test.alt.
c228.test.alt has address 192.168.1.1
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Warning: Your password will expire in 41 days on Вт 14 фев 2017 08:58:30
Просмотр полученного билета:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@TEST.ALT
Valid starting Expires Service principal
31.01.2017 10:23:54 31.01.2017 20:23:54 krbtgt/TEST.ALT@TEST.ALT
renew until 01.02.2017 10:23:45
#Например,samba-tool user create имя пользователя
#samba-tool user setexpiry имя пользователя
# samba-tool user create ivanov --given-name='Иван Иванов' --mail-address='ivanov@test.alt'
# samba-tool user list
# samba-tool user setexpiry имя пользователя --noexpiry
Предупреждение
pdbedit -x -m имя
Предупреждение
# samba-tool dns add 192.168.1.1 test.alt DC2 A 192.168.1.106 -Uadministrator
/etc/krb5.conf
):
[libdefaults] default_realm = TEST.ALT dns_lookup_realm = true dns_lookup_kdc = true
Примечание
Предупреждение
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Warning: Your password will expire in 37 days on Пт 17 фев 2017 14:31:40
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@TEST.ALT
Valid starting Expires Service principal
07.01.2017 18:51:01 08.01.2017 04:51:01 krbtgt/TEST.ALT@TEST.ALT
renew until 08.01.2017 18:50:51
# samba-tool domain join test.alt DC -Uadministrator --realm=test.alt
Если всё нормально, в конце будет выведена информация о присоединении к домену:
Joined domain TEST (SID S-1-5-21-80639820-2350372464-3293631772) as a DCДля получения дополнительной информации можно воспользоваться командой:
# samba-tool domain join --help
# chkconfig samba on
Если подключались к DC под управлением Windows, необходимо запустить службу samba:
# service samba start
Предупреждение
Предупреждение
# samba-tool drs replicate dc2.test.alt c228.test.alt dc=test,dc=alt -Uadministrator
Сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP.
# samba-tool drs replicate с228.test.alt dc2.test.alt dc=test,dc=alt -Uadministrator
Сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP.
Примечание
# samba-tool drs showrepl
Примечание
smb.cfg
smb.cfg
для работы Samba в режиме файлового сервера с двумя открытыми для общего доступа ресурсами и принтером (закомментированные параметры — действуют по умолчанию):
workgroup = workgroup server string = Samba Server Version %v map to guest = Bad User ; idmap config * : backend = tdb guest ok = yes cups options = raw security = user ; encrypt passwords = yes ; guest account = nobody [printers] comment = All Printers path = /var/spool/samba browseable = no ; guest ok = no ; writable = No printable = yes # A publicly accessible directory, but read only, except for people in # the "staff" group [public] comment = Public Stuff path = /home/samba public = yes writable = yes ; printable = no write list = +staff ; browseable = yes [Free] path = /mnt/win/Free read only = no ; browseable = yes guest ok = yes
/etc/fstab
/etc/samba/sambacreds
(например, командой mcedit /etc/samba/sambacreds
), с содержимым:
username=имя_пользователя password=пароль
/etc/fstab
необходимо прописать:
//server/public /mnt/server_public cifs users,credentials=/etc/samba/sambacreds 0 0
/etc/samba/sambacreds
, надо установить так, чтобы файл был доступен только хозяину:
# chmod 600 /etc/samba/sambacreds
и принадлежать root:
# chown root: /etc/samba/sambacreds
Предупреждение
# apt-get install task-sogo
# /etc/init.d/postgresql initdb
#chkconfig postgresql on
#service postgresql start
#su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole sogo'
#su - postgres -s /bin/sh -c 'createdb -O sogo sogo'
#service postgresql restart
#samba-tool user create sogo
#samba-tool user setexpiry --noexpiry sogo
/etc/sogo/sogo.conf
:
{ SOGoProfileURL = "postgresql://sogo@/sogo/sogo_user_profile"; OCSFolderInfoURL = "postgresql://sogo@/sogo/sogo_folder_info"; OCSSessionsFolderURL = "postgresql://sogo@/sogo/sogo_sessions_folder"; OCSEMailAlarmsFolderURL = "postgresql://sogo@/sogo/sogo_alarms_folder"; SOGoEnableEMailAlarms = YES; SOGoDraftsFolderName = Drafts; SOGoSentFolderName = Sent; SOGoTrashFolderName = Trash; SOGoIMAPServer = "imaps://localhost:993"; SOGoMailingMechanism = sendmail; SOGoForceExternalLoginWithEmail = NO; NGImap4ConnectionStringSeparator = "/"; SOGoUserSources = ( { id = sambaLogin; displayName = "SambaLogin"; canAuthenticate = YES; type = ldap; CNFieldName = cn; IDFieldName = cn; UIDFieldName = sAMAccountName; hostname = "ldaps://127.0.0.1"; baseDN = "CN=Users,DC=test,DC=alt"; bindDN = "CN=sogo,CN=Users,DC=test,DC=alt"; bindPassword = "Pa$$word"; bindFields = (sAMAccountName); }, { id = sambaShared; displayName = "Shared Addressbook"; canAuthenticate = NO; isAddressBook = YES; type = ldap; CNFieldName = cn; IDFieldName = mail; UIDFieldName = mail; hostname = "ldaps://127.0.0.1"; baseDN = "CN=Users,DC=test,DC=alt"; bindDN = "CN=sogo,CN=Users,DC=test,DC=alt"; bindPassword = "Pa$$word"; filter = "((NOT isCriticalSystemObject='TRUE') AND (mail='*') AND (NOT objectClass=contact))"; }, { id = sambaContacts; displayName = "Shared Contacts"; canAuthenticate = NO; isAddressBook = YES; type = ldap; CNFieldName = cn; IDFieldName = mail; UIDFieldName = mail; hostname = "ldaps://127.0.0.1"; baseDN = "CN=Users,DC=test,DC=alt"; bindDN = "CN=sogo,CN=Users,DC=test,DC=alt"; bindPassword = "Pa$$word"; filter = "((((objectClass=person) AND (objectClass=contact) AND ((uidNumber>=2000) OR (mail='*'))) AND (NOT isCriticalSystemObject='TRUE') AND (NOT showInAdvancedViewOnly='TRUE') AND (NOT uid=Guest)) OR (((objectClass=group) AND (gidNumber>=2000)) AND (NOT isCriticalSystemObject='TRUE') AND (NOT showInAdvancedViewOnly='TRUE')))"; mapping = { displayname = ("cn"); }; } ); SOGoSieveScriptsEnabled = YES; SOGoLanguage = Russian; SOGoTimeZone = Europe/Moscow; SOGoFirstDayOfWeek = 1; }
# for s in samba postgresql memcached sogo httpd2;do chkconfig $s on;service $s restart;done
/var/log/sogo/sogo.log
a2enmod proxy
a2enmod proxy_http
a2enmod authn_core
a2enmod authn_file
a2enmod auth_basic
a2enmod authz_user
a2enmod env
a2enmod dav
a2enmod headers
a2enmod rewrite
a2ensite SOGo
service httpd2 restart
service sogo restart
https://<адрес_сервера>/SOGo/
#service ahttpd stop
#a2dissite 000-default_https
#a2disport https
#service httpd2 condreload
# apt-get install freeipa-server freeipa-server-dns
# hostnamectl set-hostname ipa.example.test
# ipa-server-install -U --hostname=$(hostname) -r EXAMPLE.TEST -n example.test -p 12345678 -a 12345678 --setup-dns --no-forwarders --no-reverse
или интерактивно:
# ipa-server-install
Предупреждение
Do you want to configure integrated DNS (BIND)? [no]: yesостальные вопросы необходимо выбрать по умолчанию (можно просто нажать Enter). Так же при установке необходимо ввести пароль администратора системы и пароль администратора каталогов.
# kinit admin
# ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipa.example.test.
# ntpdate -q localhost
server 127.0.0.1, stratum 3, offset 0.000018, delay 0.02568
27 Nov 10:27:00 ntpdate[29854]: adjust time server 127.0.0.1 offset 0.000018 sec
https://ipa.example.test/ipa/ui/
# apt-get install freeipa-client libsss_sudo krb5-kinit bind-utils libbind zip
# hostnamectl set-hostname comp01.example.test
/etc/net/ifaces/ens19/resolv.conf
со следующим содержимым:
nameserver 192.168.135.1192.168.135.1 — IP-адрес FreeIPA сервера.
/etc/resolvconf.conf
необходимо добавить/отредактировать следующие параметры:
interface_order='lo lo[0-9]* lo.* ens19' search_domains=example.testгде ens19 — интерфейс, на котором доступен FreeIPA сервер, example.test — наш домен.
# resolvconf -u
После этого в файле /etc/resolv.conf
должны появиться строки:
search example.test nameserver 192.168.135.1
# ipa-client-install -U -p admin -w 12345678
или интерактивно:
# ipa-client-install
'''Discovery was successful!''' Client hostname: comp02.example.test Realm: EXAMPLE.TEST DNS Domain: example.test IPA Server: ipa.example.test BaseDN: dc=example,dc=test Continue to configure the system with these values? [no]:
# ipa-client-install -U --uninstall
# control sudo public
Предупреждение
#systemctl stop sssd
#rm -f /var/lib/sss/db/*
#rm -f /var/lib/sss/mc/*
#systemctl start sssd
# apt-get install freeipa-client freeipa-server-dns
# hostnamectl set-hostname ipabackup.example.test
# ipa-client-install -d \ --domain=example.test \ --server=ipa.example.test \ --realm=EXAMPLE.TEST \ --principal=admin \ --password=12345678 \ --enable-dns-updates -U
# ipa-replica-install
#kinit admin
#ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipabackup.example.test.
# ipa-dns-install
# ipa-ca-install
# apt-get install postgresql9.6-server zabbix-server-pgsql
# /etc/init.d/postgresql initdb
#chkconfig postgresql on
#service postgresql start
#su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt zabbix'
#su - postgres -s /bin/sh -c 'createdb -O zabbix zabbix'
#service postgresql restart
#su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-server-pgsql-*/schema.sql zabbix'
# если вы создаете базу данных для Zabbix прокси, следующие команды выполнять не нужно #su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-server-pgsql-*/images.sql zabbix'
#su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-server-pgsql-*/data.sql zabbix'
# apt-get install apache2 apache2-mod_php5
#chkconfig httpd2 on
#service httpd2 start
# apt-get install php5 php5-mbstring php5-sockets php5-gd2 php5-xmlreader php5-pgsql php5-ldap
/etc/php/5.6/apache2-mod_php/php.ini
(версия PHP может быть другой):
memory_limit = 256M post_max_size = 32M max_execution_time = 600 max_input_time = 600 date.timezone = Europe/Moscow always_populate_raw_post_data = -1
# service httpd2 restart
# apt-get install zabbix-server-pgsql
# apt-get install fping
/etc/zabbix/zabbix_server.conf
:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=Пароль от базы
#chkconfig zabbix_pgsql on
#service zabbix_pgsql start
# apt-get install zabbix-phpfrontend-apache2-mod_php5
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled/
# service httpd2 restart
# chown apache2:apache2 /var/www/webapps/zabbix/frontends/php/conf
http://<ip-сервера>/zabbix
Логин: Admin Пароль: zabbix
# apt-get install zabbix-agent
#systemctl enable zabbix_agentd
#systemctl start zabbix_agentd
/etc/zabbix/zabbix_agentd.conf
параметрами:
Server=127.0.0.1 ServerActive=127.0.0.1
Содержание
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-cdrom
. Чтобы добавить запись о репозитории на компакт-диске, достаточно вставить диск в привод и выполнить команду apt-cdrom add
. После этого в sources.list
появится запись о подключённом диске примерно такого вида:
rpm cdrom:[ALT Server x86_64]/ ALTLinux main
sources.list
, необходимо обновить локальную базу данных APT о доступных пакетах. Это делается командой apt-get update
.
sources.list
присутствует репозиторий, содержимое которого может изменяться (например, постоянно разрабатываемый репозиторий или репозиторий обновлений по безопасности), то прежде чем работать с APT, необходимо синхронизировать локальную базу данных с удалённым сервером командой apt-get update
. Локальная база данных создаётся заново при каждом изменении в репозитории: добавлении, удалении или переименовании пакета.
/etc/apt/sources.list
, относящиеся к ресурсам в сети Интернет.
/etc/apt/sources.list
, а также в файлах /etc/apt/sources.list.d/*.list
обычно указывается несколько репозиториев:
apt-repo
. Для этого вам потребуется запустить терминал и вводить команды в него. Для выполнения большинства команд необходимы права администратора.
$ apt-repo list
apt-repo add репозиторий
apt-repo rm репозиторий
apt-repo update
man apt-repo
или
apt-repo --help
/etc/apt/sources.list.d/
. Необходимы права администратора для изменения этих файлов. В файле alt.list
может содержаться такая информация:
# ftp.altlinux.org (ALT Linux, Moscow) # ALT Linux Platform 8 #rpm [p8] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch x86_64 classic #rpm [p8] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch x86_64-i586 classic #rpm [p8] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch noarch classic rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch x86_64 classic rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch x86_64-i586 classic rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/p8/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
позволяет устанавливать в систему пакеты, требующие для работы наличие других, пока ещё не установленных пакетов. В этом случае он определяет, какие пакеты необходимо установить. 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 /путь/к/файлу.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
/etc/apt/sources.list
, имеются новые версии.
apt-get
, которым APT предварит само обновление.
Содержание
/
.
/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 жёсткие диски, USB-диски) имеют имена:
/dev/sda
— первый диск;
/dev/sdb
— второй диск;
/dev/sdX
, где X — a, b, c, d, e, … в зависимости от порядкового номера диска на шине.
/dev/sdb4
— четвертый раздел второго диска.
/
) и раздел подкачки (swap). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если на диске много свободного места, то можно создать отдельные разделы для каталогов /usr
, /home
, /var
.
command.com
в DOS, но несравненно мощнее. При помощи командных интерпретаторов можно писать небольшие программы — сценарии (скрипты). В Linux доступны следующие командные оболочки:
bash
— самая распространенная оболочка под linux. Она ведет историю команд и предоставляет возможность их редактирования;
pdksh
— клон korn shell, хорошо известной оболочки в UNIX™ системах.
$ echo
$SHELL
history
. Команды, присутствующие в истории, отображаются в списке пронумерованными. Чтобы запустить конкретную команду необходимо набрать:
!номер команды
!!запустится последняя из набранных команд.
bunzip2
, можно набрать следующую команду:
bu
$
bubuildhash
builtin
bunzip2
bunzip
— это единственное имя, третьей буквой которого является «n»), а затем нажать клавишу Tab, то оболочка самостоятельно дополнит имя. Чтобы запустить команду нужно нажать Enter.
$PATH
. По умолчанию в этот перечень каталогов не входит текущий каталог, обозначаемый ./
(точка слеш) (если только не выбран один из двух самых слабых уровней защиты). Поэтому, для запуска программы из текущего каталога, необходимо использовать команду (в примере запускается команда prog
):
./prog
man
. Пример:
$man
ls
Примечание
ls
-l
-F
можно ввести команду ls
-lF
Учетные записи пользователей
su
su
, будет запрошен пароль суперпользователя (root), и, в случае ввода корректного пароля, оператор получит права администратора. Чтобы вернуться к правам оператора, необходимо ввести команду:
exit
id
id
выводит информацию о пользователе и группах, в которых он состоит для заданного пользователя или о текущем пользователе (если ничего не указано).
id
[параметры] [ПОЛЬЗОВАТЕЛЬ]
passwd
passwd
меняет (или устанавливает) пароль, связанный с входным_именем пользователя.
Основные операции с файлами и каталогами
ls
ls
(list) вывести содержимое каталога.
ls
[-CFRacdilqrtu1] [[-H] | [-L]] [-fgmnopsx] [файл...]
-a
— просмотр всех файлов, включая скрытые;
-l
— отображение более подробной информации;
-R
— выводить рекурсивно информацию о подкаталогах.
cd
cd
предназначена для смены каталога. Команда работает как с абсолютными, так и с относительными путями. Если каталог не указан, используется значение переменной окружения $HOME
(домашний каталог пользователя). Если каталог задан полным маршрутным именем, он становится текущим. По отношению к новому каталогу нужно иметь право на выполнение, которое в данном случае трактуется как разрешение на поиск.
cd
[-L|-P] [каталог]
$OLDPWD
. Если переход был осуществлен по переменной окружения $CDPATH
или в качестве аргумента был задан «-» и смена каталога была успешной, то абсолютный путь нового рабочего каталога будет выведен на стандартный вывод.
/usr/bin
:
cd
/usr/bin/
Сделать текущим родительский каталог:
cd
..
Вернуться в предыдущий каталог:
cd
-
pwd
pwd
выводит абсолютный путь текущего (рабочего) каталога.
pwd
[-L|-P]
-P
— не выводить символические ссылки;
-L
— выводить символические ссылки.
rm
rm
— удалить записи о файлах.
Предупреждение
rm
[-fiRr] имя_файла
-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
— показывать $ в конце каждой строки.
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
2. Поменять владельца и группу каталога /u
:
chown
test:staff /u
3. Поменять владельца каталога /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
[options] <name>
-b
— вывод информации только об исполняемых файлах;
-m
— вывод информации только о страницах справочного руководства;
-s
— вывод информации только об исходных файлах.
Мониторинг и управление процессами
ps
ps
отображает список текущих процессов.
ps
[-aA] [-defl] [-G список] [-o формат...] [-p список] [-t список] [-U список] [-g список] [-n список] [-u список]
-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);
-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
head
— является фильтром следующего свойства: она выводит первые строки из входного потока (в примере на вход будет подан выход от нескольких состыкованных команд). Если необходимо вывести на экран последнее по алфавиту имя файла в текущем каталоге, можно использовать следующую команду:
где команда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 из системы. Если будет дополнительно задан параметр -d
, то будет уничтожен и домашний каталог пользователя. Нельзя удалить пользователя, если в данный момент он еще работает в системе.
vigr
и vipw
используются для ручного редактирования файлов /etc/passwd
и /etc/group
, в которых хранятся основные записи о пользователях и группах в системе.
chmod
и chown
).
pstree
.
/etc/inittab
, откуда вызываются другие программы и скрипты на определенном этапе запуска.
service
и chkconfig
продолжат работать в мире systemd практически без изменений. Тем не менее, в этой таблице показано как выполнить те же действия с помощью встроенных утилит systemctl.
Таблица 57.1. Команды управления службами
Команды Sysvinit
|
Команды Systemd
|
Примечания
|
---|---|---|
service frobozz start
|
systemctl start frobozz.service
|
Используется для запуска службы (не перезагружает постоянные)
|
service frobozz stop
|
systemctl stop frobozz.service
|
Используется для остановки службы (не перезагружает постоянные)
|
service frobozz restart
|
systemctl restart frobozz.service
|
Используется для остановки и последующего запуска службы
|
service frobozz reload
|
systemctl reload frobozz.service
|
Если поддерживается, перезагружает файлы конфигурации без прерывания незаконченных операций
|
service frobozz condrestart
|
systemctl condrestart frobozz.service
|
Перезапускает службу, если она уже работает
|
service frobozz status
|
systemctl status frobozz.service
|
Сообщает, запущена ли уже служба
|
ls /etc/rc.d/init.d/
|
systemctl list-unit-files --type=service (preferred)
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
|
Используется для отображения списка служб, которые можно запустить или остановить.
Используется для отображения списка всех служб.
|
chkconfig frobozz on
|
systemctl enable frobozz.service
|
Включает службу во время следующей перезагрузки, или любой другой триггер
|
chkconfig frobozz off
|
systemctl disable frobozz.service
|
Выключает службу во время следующей перезагрузки, или любой другой триггер
|
chkconfig frobozz
|
systemctl is-enabled frobozz.service
|
Используется для проверки, сконфигурирована ли служба для запуска в текущем окружении
|
chkconfig --list
|
systemctl list-unit-files --type=service(preferred)
ls /etc/systemd/system/*.wants/
|
Выводит таблицу служб. В ней видно, на каких уровнях загрузки они (не)запускаются
|
chkconfig frobozz --list
|
ls /etc/systemd/system/*.wants/frobozz.service
|
Используется, для отображения на каких уровнях служба (не)запускается
|
chkconfig frobozz --add
|
systemctl daemon-reload
|
Используется, когда вы создаете новую службу или модифицируете любую конфигурацию
|
journalctl
. По умолчанию, больше не требуется запуск службы syslog.
journalctl
с разными ключами:
journalctl
-b
— покажет сообщения только с текущей загрузки;
journalctl
-f
— покажет только последние сообщения.
journalctl
_PID
1 — покажет сообщения первого процесса (init).
journalctl
. Для этого используйте команду man journalctl
.
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
-qld
имя_установленного_пакета.
README
, FAQ
, TODO
, СhangeLog
и другие. В файле README
содержится основная информация о программе — имя и контактные данные авторов, назначение, полезные советы и пр. FAQ
содержит ответы на часто задаваемые вопросы; этот файл стоит прочитать в первую очередь, если у вас возникли проблемы или вопросы по использованию программы, поскольку большинство проблем и сложностей типичны, вполне вероятно, что в FAQ
вы тут же найдёте готовое решение. В файле TODO
записаны планы разработчиков на реализацию той или иной функциональности. В файле СhangeLog
записана история изменений в программе от версии к версии.
rpm
-qi
имя_установленного_пакета. В информационном заголовке соответствующего пакета, среди прочей информации, будет выведена искомая ссылка.
HOWTO
в формате HTML (от англ. how to — «как сделать») каталога /usr/share/doc/HOWTO/
(при условии их наличия в системе) содержат многообразную информацию о работе Linux-систем.