Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Гайд для UNIX/Linux админа:
- === 1 ===
- С Linux учиться начинать можно, и это не плохо, но вот с какого - это вопрос.
- Linux масштабно используется в двух вариантах:
- а) всяческие веб-сервисы
- б) энтерпрайз, где он работает на замене UNIX'ов.
- В веб-сервисах может использоваться относительно любой Linux, но тебя интересует развитие, и потому, казалось бы, ты должен знать те Linux'ы, которые используются в крупных веб-конторах: Google, Facebook, etc. Но по факту в этих компаниях используются свои дистрибутивы, и они c готовностью доучивают новых сотрудников особенностям своих Linux'ов. Мелкие компании тебя интересовать не должны, если в компании меньше 100 серваков на одного админа - это эникейство, низкие зарплаты, никакого развития
- В энтерпрайзах работают только энтерпрайзные Linux'ы, коих на свете два: SLES от Novell/SUSE, и RHEL от Red Hat. Всё. Учить можно любой из них, а все остальные дебианы, убунту и прочие генту - забудь, знание их особенностей тебе хороших денег, скорее всего, не принесёт.
- Итак. Если учишь Linux, то пусть это будет RHEL (CentOS) или SLES (что там у них.. OpenSUSE?).
- === 2 ===
- Что и как учить.
- На своём опыте и на опыте младших коллег, которых я и мои опытные коллеги учили.
- У Red Hat круче экзаменационная программа, там лабораторки, по-этому мы в своё время выбрали их программу для внутреннего обучения. Для получения хорошей работы рекомендую иметь уровень, примерно соответствующий RHCE. Уровень RHCSA на ступень ниже - базовый, достаточно простой.
- Идёшь на сайт redhat.com, в раздел обучения и сертификации http://www.redhat.com/en/services/all-certifications-and-exams, открываешь интересующие тебя сертификации и копируешь себе все Requirements, потом идёшь в Recommended Trainings, и из каждого курса копируешь себе "Course content summary" и "Outline". Потом возвращаешься на страничку сертификации, идёшь в Required Exam, и из каждого экзамена копируешь себе Objectives. Например:
- ------------- code -------------
- RHCSA
- Understand and use essential tools for handling files, directories, command-line environments, and documentation
- Operate running systems, including booting into different run levels, identifying processes, starting and stopping virtual machines, and controlling services
- Configure local storage using partitions and logical volumes
- Create and configure file systems and file system attributes, such as permissions, encryption, access control lists, and network file systems
- Deploy, configure, and maintain systems, including software installation, update, and core services
- Manage users and groups, including use of a centralized directory for authentication
- Manage security, including basic firewall and SELinux configuration
- Курс RH124
- Introduction to the command line
- Managing physical storage
- Learning how to install and configure software components and services
- Establishing network connections and firewall access
- Monitoring and managing processes
- Managing and securing files
- Administrating users and groups
- Accessing Linux file systems
- Installing and using virtualized systems
- Reviewing the system log files and journal
- Access the command line
- Log in to a Linux system and run simple commands using the shell.
- Manage files from the command line
- Copy, move, create, delete, and organize files from the bash shell prompt.
- Get help in Red Hat Enterprise Linux
- Resolve problems by using online help systems and Red Hat support utilities.
- Create, view, and edit text files
- Create, view, and edit text files from command output or in an editor.
- Manage local Linux users and groups
- Manage local Linux users and groups, and administer local password policies.
- Control access to files with Linux file system permissions
- Set Linux file system permissions on files and interpret the security effects of different permission settings.
- Monitor and manage Linux processes
- Obtain information about the system, and control processes running on it.
- Control services and daemons
- Control and monitor network services and system daemons using systemd
- Configure and secure OpenSSH service
- Access and provide access to the command line on remote systems securely using OpenSSH
- Analyze and store logs
- Locate and accurately interpret relevant system log files for troubleshooting purposes.
- Manage Red Hat Enterprise Linux networking
- Configure basic IPv4 networking on Red Hat Enterprise Linux systems.
- Archive and copy files between systems
- Archive files and copy them from one system to another.
- Install and update software packages
- Download, install, update, and manage software packages from Red Hat and yum package repositories.
- Access Linux file systems
- Access and inspect existing file systems on a Red Hat Enterprise Linux system.
- Use virtualized systems
- Create and use Red Hat Enterprise Linux virtual machines with KVM and libvirt.
- Comprehensive review
- Practice and demonstrate the knowledge and skills learned in this course.
- Курс RH134
- Installation using Kickstart
- Manage filesystems and logical volumes
- Manage scheduled jobs
- Access network filesystems
- Manage SELinux
- Control firewalling
- Troubleshooting
- —
- Automate installation with Kickstart
- Automate the installation of Red Hat Enterprise Linux systems with Kickstart.
- Use regular expressions with grep
- Write regular expressions that, when partnered with grep, will allow you to quickly isolate or locate content within text files.
- Create and Edit text files with vim
- Introduce the vim text editor, with which you can open, edit, and save text files.
- Schedule future Linux tasks
- Schedule tasks to automatically execute in the future.
- Manage priority of Linux processes
- Influence the relative priorities at which Linux processes run.
- Control access to files with access control lists (ACL)
- Manage file security using POSIX access control lists.
- Manage SELinux security
- Manage the Security Enhanced Linux (SELinux) behavior of a system to keep it secure in case of a network service compromise.
- Connect to network-defined users and groups
- Configure systems to use central identity management services.
- Add disks, partitions, and file systems to a Linux system
- Manage simple partitions and file systems.
- Manage logical volume management (LVM) storage
- Manage logical volumes from the command line.
- Access networked attached storage with network file system (NFS)
- Access (secure) NFS shares.
- Access networked storage with SMB
- Use autofs and the command line to mount and unmount SMB file systems.
- Control and troubleshoot the Red Hat Enterprise Linux boot process
- Limit network communication with firewall
- Configure a basic firewall.
- Comprehensive review
- Practice and demonstrate knowledge and skills learned in this course.
- Экзамен EX200
- Understand and use essential tools
- Access a shell prompt and issue commands with correct syntax
- Use input-output redirection (>, >>, |, 2>, etc.)
- Use grep and regular expressions to analyze text
- Access remote systems using ssh
- Log in and switch users in multiuser targets
- Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2
- Create and edit text files
- Create, delete, copy, and move files and directories
- Create hard and soft links
- List, set, and change standard ugo/rwx permissions
- Locate, read, and use system documentation including man, info, and files in /usr/share/doc
- Operate running systems
- Boot, reboot, and shut down a system normally
- Boot systems into different targets manually
- Interrupt the boot process in order to gain access to a system
- Identify CPU/memory intensive processes, adjust process priority with renice, and kill processes
- Locate and interpret system log files and journals
- Access a virtual machine's console
- Start and stop virtual machines
- Start, stop, and check the status of network services
- Securely transfer files between systems
- Configure local storage
- List, create, delete partitions on MBR and GPT disks
- Create and remove physical volumes, assign physical volumes to volume groups, and create and delete logical volumes
- Configure systems to mount file systems at boot by Universally Unique ID (UUID) or label
- Add new partitions and logical volumes, and swap to a system non-destructively
- Create and configure file systems
- Create, mount, unmount, and use vfat, ext4, and xfs file systems
- Mount and unmount CIFS and NFS network file systems
- Extend existing logical volumes
- Create and configure set-GID directories for collaboration
- Create and manage Access Control Lists (ACLs)
- Diagnose and correct file permission problems
- Deploy, configure, and maintain systems
- Configure networking and hostname resolution statically or dynamically
- Schedule tasks using at and cron
- Start and stop services and configure services to start automatically at boot
- Configure systems to boot into a specific target automatically
- Install Red Hat Enterprise Linux automatically using Kickstart
- Configure a physical machine to host virtual guests
- Install Red Hat Enterprise Linux systems as virtual guests
- Configure systems to launch virtual machines at boot
- Configure network services to start automatically at boot
- Configure a system to use time services
- Install and update software packages from Red Hat Network, a remote repository, or from the local file system
- Update the kernel package appropriately to ensure a bootable system
- Modify the system bootloader
- Manage users and groups
- Create, delete, and modify local user accounts
- Change passwords and adjust password aging for local user accounts
- Create, delete, and modify local groups and group memberships
- Configure a system to use an existing authentication service for user and group information
- Manage security
- Configure firewall settings using firewall-config, firewall-cmd, or iptables
- Configure key-based authentication for SSH
- Set enforcing and permissive modes for SELinux
- List and identify SELinux file and process context
- Restore default file contexts
- Use boolean settings to modify system SELinux settings
- Diagnose and address routine SELinux policy violations
- ------------- end code -------------
- Получившиеся списки совмещаешь по темам в табличку, и по каждой теме делаешь следующее:
- а) пишешь в соседний столбик таблички, как ты собираешься делать то, что просит тема, напр.: "Create hard and soft links":
- ------------- code -------------
- $ ls
- $ touch 11111
- $ echo 22222 > 22222 # создали файлик и записали туда 22222, 6 байт
- $ ls -l
- total 8
- -rw-r--r-- 1 user staff 0 May 22 17:43 11111
- -rw-r--r-- 1 user staff 6 May 22 17:44 22222
- $ ls -li # посмотрели номер inode, он отличается от номера inode файла 11111
- total 8
- 14376413 -rw-r--r-- 1 user staff 0 May 22 17:43 11111
- 14376414 -rw-r--r-- 1 user staff 6 May 22 17:44 22222
- $
- $ ln 22222 33333 # создали хардлинк 33333
- $ ls -li # убедились, что номер inode тот же, что и у 11111, и что кол-во хардлинков показывается двойкой; можно для убедительности создать поддиректорию
- total 16
- 14376413 -rw-r--r-- 1 user staff 0 May 22 17:43 11111
- 14376414 -rw-r--r-- 2 user staff 6 May 22 17:44 22222
- 14376414 -rw-r--r-- 2 user staff 6 May 22 17:44 33333
- $ mkdir testdir
- $ ln 22222 testdir/44444 # и сделать ещё один хардлинк
- $ ls -li . testdir/ # всё ещё тот же номер inode 14376414, кол-во хардлинков показывается как 3
- .:
- total 16
- 14376413 -rw-r--r-- 1 user staff 0 May 22 17:43 11111
- 14376414 -rw-r--r-- 3 user staff 6 May 22 17:44 22222
- 14376414 -rw-r--r-- 3 user staff 6 May 22 17:44 33333
- 14376418 drwxr-xr-x 3 user staff 102 May 22 17:45 testdir
- testdir/:
- total 8
- 14376414 -rw-r--r-- 3 user staff 6 May 22 17:44 44444
- $ rm -rf testdir
- $ chmod 600 22222 # смотрим, как изменяются права на файлы
- $ ls -li # а никак
- total 16
- 14376413 -rw-r--r-- 1 user staff 0 May 22 17:43 11111
- 14376414 -rw------- 2 user staff 6 May 22 17:44 22222
- 14376414 -rw------- 2 user staff 6 May 22 17:44 33333
- $ rm -f 22222
- $ cat 33333 # удалили “оригинал”, содержимое в копии одно и то же
- 22222
- $
- ------------- end code -------------
- б) если что-то не знаешь, как делать, то ищешь в первую очередь на http://docs.redhat.com - там есть отличные гайды; во вторую очередь ищешь в других местах; хороший вариант - задать вопрос на IRC каналах, посвящённых Linux’у, и в реалтайме получить ответ
- в) проходишь полностью все темы таким образом; делаешь лабы сам себе по каждому пункту:
- т.к. у нас тут Red Hat Linux, то лабы делаешь на CentOS, или получаешь на redhat.com тестовую подписку на RHEL;
- для лаб нужно иметь 2-3 вируталки 1vCPU 512MB RAM (768MB на время инсталляции), 4-6GB HDD
- г) доводишь до автоматизма: делаешь лабы уже без написаных собой же подсказок, и на время
- д) если есть деньги - сдай экзамены, это может помочь получить хорошую работу и, иногда, можно попросить зарплату выше рынка
- Ориентировочно прокачаться до уровня RHCSA с нуля - 2-3 месяца, с RHCSA до RHCE 3-4 месяца.
- === 3 ===
- Прокачавшись до уровня RHCSA меняй работу, чтобы ты занимался только Linux’ами, желательно RHEL/SLES, и, в идеале, чтобы на новой работе использовались коммерческие UNIX’ы (HP-UX, AIX, Solaris). Ради такого можно и переехать, например, в Казань, работать в ICL Services
- Так же в то же время тебе нужно будет получить базовые знания по сетям (примерно уровень CCNA) и виртуализации
- Не отвлекайся на несвойственную тебе работу. Напр. ковыряться с сайтом - это работа web-программиста, а ковыряние с Oracle DB/MySQL - работа DBA. Твоя задача - поддержка инфраструктуры - операционной системы и серверов. Не становись многоруким Шивой.
- === 4 ===
- Сдай экзамены на RHCSA и RHCE
- Делай упор на знания, которые нужны в очень больших компаниях, и применяй их (внедряй эти практики, если каких-то из них ещё нет в компании):
- - автоматизированное и массовое развёртывание серверов RHEL/SLES,
- - массовое управление ими же,
- - тестирование и деплоймент патчей,
- - базовый стек ITIL (incident/change/problem management)
- - мониторинг (включаяя capacity planning/performance management)
- - кластеризация: начни с high availability/load balancing; если будет необходимость, то high performance/workload позже выучишь
- Получи хотя бы поверхностные знания о SAN, и более глубокие знания по виртуализации (включая облака)
- Старайся не идти на поводу у руководства, пытаясь сэкономить на всём, и используя в работе только бесплатный софт. Если есть возможность, работай с коммерческим ПО: системы резервного копирования, коммерческие системы мониторинга, кластерное ПО, и пр.пр.
- === 5 ===
- Выучи и сдай хотя бы ITIL Foundation
- === 6 ===
- Учи доступный тебе на работе коммерческий UNIX: AIX, HP-UX, Solaris. Меняй работу, если их на твоей работе нет. Из перечисленных трёх, перспективы получить хорошую работу есть по каждому из них, но по моему скромному мнению, рынок вакансий на HP-UX и Solaris сильно меньше, а AIX может даже и растёт
- === 7 ===
- Учи и сертифицируйся по выбранному UNIX’у. Меняй работу, если нужно.
- Примерно так свои 150-190-230-250 тысяч можно получать в Москве.
- === 8 ===
- Готовь документы и уезжай из страны. Может позже вернёшься, если захочешь.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement