Paano matutunan ang Linux mula sa simula: plano mula unang utos hanggang pamamahala ng server
Pinakamabisang matutunan ang Linux mula sa simula kung sunod-sunod na layer: unang terminal at file system, sumunod ang user at permissions, Bash script, package, process at systemd, at saka disk, log, network, SSH, at seguridad ng server. Sa bawat yugto, magsanay sa virtual machine o murang VPS, at ang panghuling layunin ay isang server na ikaw mismo ang nagset up at nagprotekta, na may tumatakbong serbisyo.
Hindi kasing hirap ng iniisip ang pag-aaral ng Linux mula sa simula, basta tama ang pagkakasunod at agad nagsasanay. Ang pinakamalaking pagkakamali ng baguhan ay magbasa tungkol sa mga utos nang hindi nagta-type, o tumalon agad sa Docker at Kubernetes nang hindi nauunawaan kung ano ang process at permissions. Nasa ibaba ang plano na may siyam na yugto: ano ang dapat aralin, ano ang dapat sanayin, at paano malalaman na tapos na ang yugto.
Tinatayang dalawa hanggang apat na buwan ito kung isang oras kada araw, pero magkakaiba ang bilis ng bawat isa. Mas mahalaga kaysa bilis na pagkatapos ng bawat yugto ay may nagagawa kang mismong gawa sa kamay.
Yugto 0. Ihanda ang kapaligiran
Sa Linux natututo ang Linux. Iba-iba ang opsyon, mula sa pinakasimple hanggang sa pinakamalapit sa totoo:
- WSL2 sa Windows — terminal ng Ubuntu sa loob ng ilang minuto. Mainam para sa mga utos at script, pero hindi kumikilos ang systemd at network na tulad ng sa server.
- Virtual machine (VirtualBox, VMware, UTM sa Mac) na may Ubuntu Server o Debian. Puwedeng sirain nang walang epekto, at ibalik gamit ang snapshot.
- Murang VPS mula sa cloud provider. Totoong server na may pampublikong IP ito — pinakamahusay na lugar para sa mga yugto tungkol sa network at seguridad.
Para sa simula, Ubuntu Server o Debian ang inirerekomenda dahil sila ang may pinakamaraming dokumentasyon at sagot. Hindi kailangan ang graphical na interface: sa terminal inaasikaso ang mga server, kaya dapat masanay na agad.
Yugto 1. Terminal at file system
Layunin: makagalaw nang tiwala sa sistema at makapagtrabaho sa mga file nang hindi gumagamit ng mouse.
- Navigation:
pwd,ls -la,cd, absolute at relative na path,~,.at... - File:
cp,mv,rm,mkdir -p,touch, pagtingin gamit angcat,less,head,tail -f. - Paghahanap:
find,which,locate. - Tulong:
man,--help. Kasanayang habambuhay ang pagbasa ng man. - Istruktura ng direktoryo: ano ang nasa
/etc,/var/log,/home,/usr,/proc,/dev; ano ang mount at inode. - Text editor sa terminal: gamitin muna ang
nano, tapos matutunan ang mga pangunahing utos ngvim— nasa halos lahat ng server ito.
Pagsasanay: hanapin ang lahat ng .conf file sa /etc na binago sa nakaraang linggo (find /etc -name "*.conf" -mtime -7). Buksan ang /etc/os-release at alamin ang bersyon ng sistema. Tingnan kung ano ang isinusulat ng sistema sa /var/log.
Yugto 2. User, grupo, at permissions
Ang permissions ang pundasyon ng seguridad sa Linux at pinagmumulan ng kalahati ng mga error na "Permission denied".
- Pagbasa ng output ng
ls -l: uri, permissions, may-ari, grupo. chmodsa symbolic at numeric na anyo,chown,umask.- Mga espesyal na bit: SUID, SGID, sticky bit — at bakit kayang magsulat ng lahat sa
/tmppero hindi mabubura ang file ng iba. - User at grupo:
useradd,usermod -aG,passwd, ang mga file na/etc/passwd,/etc/shadow,/etc/group. sudo, ang mga patakaran sa sudoers, at pag-edit gamit angvisudo.
Pagsasanay: gumawa ng dalawang user at isang shared na project folder kung saan kapwa sila makakagawa ng file, habang walang nakikita ang iba. Pahiwatig: grupo, chmod 2770, at SGID para sa pagmamana ng grupo.
Yugto 3. Bash at mga text utility
Sa pangangasiwa ng server, malaking bahagi ay pagproseso ng teksto: log, config, at output ng mga utos. Sa yugtong ito, nagiging kasangkapan na ang terminal at hindi na lang koleksyon ng mga utos.
- Redirection at pipeline:
>,>>,2>&1,|,xargs. - Mga filter:
grep(kasama ang regular expression),sort,uniq -c,wc,cut,sed,awk. - JSON at HTTP mula sa command line:
curlatjq. - Script: shebang, variable, quotes,
ifat[[ ]], mga loop, function, exit code,set -euo pipefail.
Pagsasanay: gamit ang isang linya ng utos, bilangin ang sampung IP address na pinakamaraming nag-request sa web server ayon sa log file:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
Pagkatapos, sumulat ng script na nag-backup ng direktoryo bilang archive na may petsa sa pangalan, nagbubura ng archive na mas luma sa pitong araw, at nagbabalik ng hindi-zero na code kapag may error.
Yugto 4. Package, environment, at scheduler
- Package manager:
apt update,apt install,apt remove,apt search,dpkg -l. Sa mga sistemang RHEL —dnf. Unawain kung ano ang repository at para saan ang mga signing key. - Environment variable:
env,export,PATH, ang mga file na~/.bashrc,~/.profile,/etc/environment— at kung kailan binabasa ang alin. - Iskedyul:
crontab -e, ang syntax ng limang field, at bakit "hindi gumagana" sa cron ang utos na gumagana sa terminal (ibang environment atPATH).
Pagsasanay: mag-install ng nginx mula sa repository, idagdag ang direktoryo ng iyong mga script sa PATH, at i-schedule ang backup script mula yugto 3 bawat gabi sa cron, na may output na naka-save sa log.
Yugto 5. Process at systemd
Dito mo na sisimulang maintindihan ang totoong nangyayari sa sistema.
- Process:
ps aux,top/htop, PID at PPID, mga estado, priority (nice), signal atkill. - Load: load average, memorya at swap (
free -h), ibig sabihin ng process sa estado D. - Debugging:
lsof— anong file at port ang binuksan ng process;strace— anong system call ang ginagawa nito at saan ito natigil. - systemd: unit,
systemctl status/start/enable, sariling unit file na mayRestart=on-failure, timer bilang kapalit ng cron. - Log:
journalctl -u,-f,-b,-p err, log rotation, rsyslog; estadistika ng performance gamit ang sysstat (sar,iostat).
Pagsasanay: gawing serbisyo ng systemd ang maliit na application (kahit python3 -m http.server lang) sa ilalim ng hiwalay na user, patayin ang process gamit ang kill -9, at tiyakin na binuhay ito ng systemd. Hanapin ang tala ng restart sa journal.
Yugto 6. Disk, LVM, at RAID
- Mga device at partition:
lsblk,blkid,fdiskoparted, mga file system na ext4 at XFS,mkfs. - Mount:
mount,/etc/fstabgamit ang UUID, pagsuri gamit angmount -a. - Espasyo:
df -h,df -i,du -sh, paghahanap ng kung ano ang kumakain ng disk. - LVM: physical volume, volume group, logical volume, at pagpapalaki ng partition nang hindi humihinto.
- Software RAID gamit ang
mdadm— unawain ang mga level na 0, 1, 5, 10, at na hindi backup ang RAID.
Pagsasanay: magdagdag ng dalawang disk sa virtual machine, gumawa ng LVM sa mga ito, gumawa ng volume, i-mount sa pamamagitan ng fstab, at pagkatapos palakihin gamit ang lvextend -r.
Yugto 7. Network
- Modelo ng TCP/IP sa antas na sapat para sa diagnostics: IP, subnet mask, gateway, port, TCP at UDP.
- Mga utos:
ip a,ip r,ss -tlnp,ping,traceroute/mtr,curl -v,nc. - DNS: paano gumagana ang resolution,
/etc/hosts,/etc/resolv.conf,dig,resolvectl. - Pag-configure ng network sa iyong distribution (netplan sa Ubuntu, NetworkManager sa iba).
- Traffic capture gamit ang
tcpdumpkapag hindi na gumana ang iba.
Pagsasanay: alamin kung aling process ang nakikinig sa bawat bukas na port ng iyong server. Unawain kung bakit hindi maaabot mula sa labas ang serbisyong nakikinig sa 127.0.0.1, at ayusin ito.
Yugto 8. Remote na trabaho: SSH at paglilipat ng file
- SSH: mga key (
ssh-keygen -t ed25519,ssh-copy-id), ang file na~/.ssh/config,ssh-agent, port forwarding (ssh -L), bastion gamit angProxyJump. - Pagkopya:
scpatrsync -avz --delete— at bakit mas mainam ang rsync sa pag-sync. - Network file system: NFS sa pagitan ng Linux server, SMB (Samba) para sa pagbabahagi sa Windows.
Pagsasanay: i-configure ang VPS para sa login gamit lamang ang key, ilarawan ang key sa ~/.ssh/config gamit ang maikling pangalan, at araw-araw na i-sync ang isang direktoryo sa server gamit ang rsync.
Yugto 9. Seguridad ng server
- Firewall: prinsipyong "ipagbawal ang lahat ng hindi pinapayagan",
ufwpara sa simpleng kaso, atnftablespara maintindihan ang nasa ilalim. fail2ban: pagba-ban ng IP pagkatapos ng sunod-sunod na nabigong login, pagsuri gamit angfail2ban-client status sshd.- Pag-configure ng sshd: pagbabawal sa login gamit ang password at root.
- Mga security update at awtomatikong pag-install nito (unattended-upgrades sa Debian at Ubuntu).
- GPG: pag-verify ng signature ng mga package at file, pag-encrypt ng backup.
Pagsasanay: buksan lamang ang 22, 80, at 443 sa firewall, i-enable ang fail2ban, at pagkaraan ng isang araw tingnan ang status nito kung ilang address na ang na-ban.
Panghuling proyekto: buuin ang buong server
Ang pinakamagandang patunay na talagang natutunan mo ang Linux ay ang pagbuo ng server mula sa simula nang walang tulong:
- Bagong VPS, sariling user na may sudo, login gamit ang SSH key, at naka-disable ang password at root.
- Firewall at fail2ban, at awtomatikong security update.
- Web server at application bilang serbisyo ng systemd na may awtomatikong restart.
- Hiwalay na disk o volume para sa datos, naka-mount sa pamamagitan ng fstab.
- Naka-iskedyul na backup (cron o systemd timer) papunta sa ibang makina gamit ang rsync, may log at pagsusuri ng restore.
- Maikling gabay: paano itatayong muli ang lahat.
Kung kaya mong dumaan sa listahang ito at ipaliwanag ang bawat hakbang, may pundasyon ka na para sa trabaho bilang administrator o DevOps engineer. Ang susunod na natural na hakbang ay container, awtomatikong configuration, at monitoring.
Paano mag-aral nang mas epektibo
- I-type ang mga utos mo mismo. Hindi nananatili sa alaala ang kinopya mula sa artikulo; ang pag-type at pagkakamali ang nagpapatanda.
- Sirain at ayusin. Sirain ang fstab o ang permissions ng
~/.sshsa virtual machine at ibalik ang sistema. Pinahahalagahan sa interview ang ganitong karanasan. - Magtala. Mas kapaki-pakinabang ang sarili mong cheat sheet na may sariling halimbawa kaysa sa anumang gawa ng iba.
- Basahin ang log. Halos bawat problema sa Linux ay ipinapaliwanag ng log — masanay na tumingin doon muna.
Buod
Ang sagot sa kung paano matutunan ang Linux mula sa simula ay ang paggalaw nang paisa-isang layer: terminal at mga file, permissions, Bash, package, process at systemd, disk, network, SSH, at seguridad — at sa bawat yugto, paglutas ng praktikal na problema sa sarili mong kapaligiran. Ang panghuling layunin ay ang sariling pagset up at pagprotekta ng server na may tumatakbong serbisyo. Ganitong landas, mula sa panimulang aralin hanggang sa panghuling proyekto, ang itinayo ng kursong Linux sa platapormang ito.
Mga madalas itanong
Gaano katagal bago matutunan ang Linux mula sa simula?
Kung isang oras kada araw, karaniwang nakukuha ng karamihan ang pundasyon para magtrabaho sa server sa loob ng ilang buwan. Ang tiwala ay nagmumula sa pagsasanay sa totoong gawain, kaya mas mahalaga ang pagiging regular kaysa sa kabuuang bilang ng oras.
Kailangan bang marunong magprogram para matutunan ang Linux?
Hindi kailangan para magsimula. Pero pagdating sa Bash script, aktwal ka nang nagpoprogram, at magagamit ang kasanayang iyon sa automation.
Puwede bang aralin ang Linux sa Windows?
Oo, sa pamamagitan ng WSL2 o virtual machine. Para sa mga paksang systemd, disk, at network, mas mainam ang buong virtual machine o VPS.
Dapat bang gawing pangunahing operating system ang Linux sa computer?
Nakatutulong pero hindi kailangan. Sa administrasyon, mas mahalagang magtrabaho sa server na Linux sa pamamagitan ng terminal kaysa gumamit ng graphical desktop.
Aling distribution ang pipiliin ng baguhan?
Ubuntu Server o Debian: maraming dokumentasyon, at madaling ilipat ang kasanayan sa iba pang distribution. Ang pangunahing pagkakaiba ng mga sistemang RHEL ay ang package manager na dnf.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Linux: с нуля до уверенного администрирования”.
- Linux: с нуля до уверенного администрирования
- Финал: собираем защищённый и автоматизированный сервер целиком