ວິທີການຢຸດແລະປິດບໍລິການທີ່ບໍ່ຕ້ອງການຈາກລະບົບ Linux


ພວກເຮົາສ້າງເຊີບເວີຕາມແຜນການແລະຄວາມຕ້ອງການຂອງພວກເຮົາ, ແຕ່ວ່າມີ ໜ້າ ທີ່ຫຍັງທີ່ຕັ້ງໃຈໃນຂະນະທີ່ສ້າງເຊີບເວີເພື່ອເຮັດໃຫ້ມັນເຮັດວຽກໄດ້ອຍ່າງລວດໄວແລະມີປະສິດທິພາບ. ພວກເຮົາທຸກຄົນຮູ້ວ່າໃນຂະນະທີ່ຕິດຕັ້ງ Linux OS, ບາງແພັກເກດແລະໂປແກຼມທີ່ບໍ່ຕ້ອງການຈະຖືກຕິດຕັ້ງໂດຍອັດຕະໂນມັດໂດຍບໍ່ຮູ້ຄວາມຮູ້ຂອງຜູ້ໃຊ້.

ເມື່ອສ້າງ server ພວກເຮົາຕ້ອງຖາມຕົວເອງວ່າເຮົາຕ້ອງການຫຍັງແທ້ຈາກກ່ອງ. ຂ້ອຍ ຈຳ ເປັນຕ້ອງມີ Web Server ຫລື FTP Server, NFS Server ຫລື DNS Server, Database Server ຫຼືສິ່ງອື່ນໆ.

ຕໍ່ໄປນີ້ໃນບົດຄວາມນີ້, ພວກເຮົາຈະປຶກສາຫາລືກ່ຽວກັບບາງໂປແກຼມແລະການບໍລິການທີ່ບໍ່ຕ້ອງການເຫຼົ່ານີ້ເຊິ່ງທ່ານອາດຈະບໍ່ ຈຳ ເປັນຕ້ອງໃຊ້ແຕ່ພວກມັນຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນໃນລະຫວ່າງການຕິດຕັ້ງ OS ແລະໂດຍບໍ່ຮູ້ຕົວເລີຍເລີ່ມກິນຊັບພະຍາກອນລະບົບຂອງທ່ານ.

ໃຫ້ຮູ້ກ່ອນວ່າການບໍລິການປະເພດໃດທີ່ໃຊ້ໃນລະບົບໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

 ps ax
  PID TTY      STAT   TIME COMMAND
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00  \_ [migration/0]
    4 ?        S      0:09  \_ [ksoftirqd/0]
    5 ?        S      0:00  \_ [migration/0]
    6 ?        S      0:24  \_ [watchdog/0]
    7 ?        S      2:20  \_ [events/0]
    8 ?        S      0:00  \_ [cgroup]
    9 ?        S      0:00  \_ [khelper]
   10 ?        S      0:00  \_ [netns]
   11 ?        S      0:00  \_ [async/mgr]
   12 ?        S      0:00  \_ [pm]
   13 ?        S      0:16  \_ [sync_supers]
   14 ?        S      0:15  \_ [bdi-default]
   15 ?        S      0:00  \_ [kintegrityd/0]
   16 ?        S      0:49  \_ [kblockd/0]
   17 ?        S      0:00  \_ [kacpid]
   18 ?        S      0:00  \_ [kacpi_notify]
   19 ?        S      0:00  \_ [kacpi_hotplug]
   20 ?        S      0:00  \_ [ata_aux]
   21 ?        S     58:46  \_ [ata_sff/0]
   22 ?        S      0:00  \_ [ksuspend_usbd]
   23 ?        S      0:00  \_ [khubd]
   24 ?        S      0:00  \_ [kseriod]
   .....

ຕອນນີ້, ໃຫ້ພິຈາລະນາເບິ່ງຂັ້ນຕອນທີ່ຍອມຮັບການເຊື່ອມຕໍ່ (ports) ໂດຍໃຊ້ ຄຳ ສັ່ງ netstat ດັ່ງທີ່ສະແດງຢູ່ຂ້າງລຸ່ມ.

 netstat -lp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 *:31138                     *:*                         LISTEN      1485/rpc.statd      
tcp        0      0 *:mysql                     *:*                         LISTEN      1882/mysqld         
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:ndmp                      *:*                         LISTEN      2375/perl           
tcp        0      0 *:webcache                  *:*                         LISTEN      2312/monitorix-http 
tcp        0      0 *:ftp                       *:*                         LISTEN      2174/vsftpd         
tcp        0      0 *:ssh                       *:*                         LISTEN      1623/sshd           
tcp        0      0 localhost:ipp               *:*                         LISTEN      1511/cupsd          
tcp        0      0 localhost:smtp              *:*                         LISTEN      2189/sendmail       
tcp        0      0 *:cbt                       *:*                         LISTEN      2243/java           
tcp        0      0 *:websm                     *:*                         LISTEN      2243/java           
tcp        0      0 *:nrpe                      *:*                         LISTEN      1631/xinetd         
tcp        0      0 *:xmltec-xmlmail            *:*                         LISTEN      2243/java           
tcp        0      0 *:xmpp-client               *:*                         LISTEN      2243/java           
tcp        0      0 *:hpvirtgrp                 *:*                         LISTEN      2243/java           
tcp        0      0 *:5229                      *:*                         LISTEN      2243/java           
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:http                      *:*                         LISTEN      6439/httpd          
tcp        0      0 *:oracleas-https            *:*                         LISTEN      2243/java         
....

ໃນຜົນໄດ້ຮັບຂ້າງເທິງ, ທ່ານສັງເກດເຫັນວ່າບາງໂປແກຼມທີ່ທ່ານອາດຈະບໍ່ຕ້ອງການຢູ່ໃນເຊີຟເວີຂອງທ່ານແຕ່ພວກມັນຍັງເຮັດວຽກຢູ່ຕໍ່ໄປນີ້:

smbd ແລະ nmbd ແມ່ນ daemon ຂອງຂະບວນການ Samba. ທ່ານ ຈຳ ເປັນຕ້ອງສົ່ງອອກ smb share ໃນ windows ຫຼືເຄື່ອງອື່ນໆ. ຖ້າບໍ່! ເປັນຫຍັງຂະບວນການເຫລົ່ານີ້ຈຶ່ງແລ່ນ? ທ່ານສາມາດຂ້າຂະບວນການເຫຼົ່ານີ້ໄດ້ຢ່າງປອດໄພແລະປິດການໃຊ້ງານຂອງພວກເຂົາຈາກການເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດເມື່ອເກີບເຄື່ອງໃນຄັ້ງຕໍ່ໄປ.

ທ່ານຕ້ອງການການສື່ສານແບບເລັ່ງລັດແບບເລັ່ງລັດຜ່ານເຄືອຂ່າຍອິນເຕີເນັດຫລືເຄືອຂ່າຍທ້ອງຖິ່ນບໍ? ຖ້າບໍ່! ຂ້າຂະບວນການນີ້ແລະປິດມັນຈາກເລີ່ມຕົ້ນຈາກການໃສ່ເກີບ.

ທ່ານ ຈຳ ເປັນຕ້ອງເຂົ້າໃຊ້ໂຮດອື່ນຜ່ານເຄືອຂ່າຍ. ຖ້າບໍ່! ຂ້າຂະບວນການນີ້ແລະປິດມັນຈາກການເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນເກີບ.

ການປະຕິບັດງານໄລຍະໄກ aka rexec ຊ່ວຍໃຫ້ທ່ານປະຕິບັດ ຄຳ ສັ່ງຫອຍຢູ່ໃນຄອມພິວເຕີ້ຫ່າງໄກ. ຖ້າທ່ານບໍ່ ຈຳ ເປັນຕ້ອງປະຕິບັດ ຄຳ ສັ່ງຫອຍຢູ່ໃນເຄື່ອງຫ່າງໄກສອກຫຼີກ, ທ່ານພຽງແຕ່ຂ້າຂັ້ນຕອນ.

ທ່ານ ຈຳ ເປັນຕ້ອງໂອນໄຟລ໌ຈາກໂຮດ ໜຶ່ງ ໄປຍັງໂຮດອື່ນຜ່ານອິນເຕີເນັດບໍ? ຖ້າບໍ່ແມ່ນທ່ານສາມາດຢຸດບໍລິການໄດ້ຢ່າງປອດໄພ.

ທ່ານ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງລະບົບເອກະສານທີ່ແຕກຕ່າງກັນໂດຍອັດຕະໂນມັດເພື່ອ ນຳ ໃຊ້ລະບົບແຟ້ມເຄືອຂ່າຍບໍ? ຖ້າບໍ່! ເປັນຫຍັງຂະບວນການນີ້ຈຶ່ງເຮັດວຽກ? ເປັນຫຍັງທ່ານປ່ອຍໃຫ້ໃບສະ ໝັກ ນີ້ໃຊ້ຊັບພະຍາກອນຂອງທ່ານ? ຂ້າຂະບວນການແລະປິດມັນຈາກການເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດ.

ທ່ານ ຈຳ ເປັນຕ້ອງໃຊ້ຊື່ NameServer (DNS) ບໍ? ຖ້າບໍ່ແມ່ນສິ່ງທີ່ຢູ່ໃນໂລກ ກຳ ລັງບັງຄັບໃຫ້ເຈົ້າ ດຳ ເນີນຂັ້ນຕອນນີ້ແລະອະນຸຍາດໃຫ້ກິນຊັບພະຍາກອນຂອງເຈົ້າ. ຂ້າຂະບວນການແລ່ນກ່ອນແລະຫຼັງຈາກນັ້ນປິດມັນຈາກການແລ່ນມັນຢູ່ເກີບ.

lpd ແມ່ນເຄື່ອງແມ່ຂ່າຍຂອງເຄື່ອງພິມທີ່ເຮັດໃຫ້ມັນສາມາດພິມອອກໃນເຄື່ອງແມ່ຂ່າຍນັ້ນ. ຖ້າທ່ານບໍ່ ຈຳ ເປັນຕ້ອງໄດ້ພິມຈາກໂອກາດຂອງເຊີບເວີແມ່ນຊັບພະຍາກອນລະບົບຂອງທ່ານ ກຳ ລັງຖືກກິນ.

ທ່ານ ກຳ ລັງ ດຳ ເນີນການບໍລິການ inetd ບໍ? ຖ້າທ່ານ ກຳ ລັງໃຊ້ໂປແກຼມຢືນຢູ່ຄົນດຽວເຊັ່ນ ssh ເຊິ່ງໃຊ້ໂປແກຼມຢືນຢູ່ຄົນດຽວເຊັ່ນ Mysql, Apache, ແລະອື່ນໆທ່ານກໍ່ບໍ່ຕ້ອງການ inetd. ຂ້າຂະບວນການທີ່ດີກວ່າແລະປິດການໃຊ້ງານມັນເລີ່ມຕົ້ນໃນຄັ້ງຕໍ່ໄປໂດຍອັດຕະໂນມັດ.

Portmap ເຊິ່ງເປັນ Open Network Computing Remote Procedure Call (ONC RPC) ແລະໃຊ້ daemon rpc.portmap ແລະ rpcbind. ຖ້າ Processes ເຫລົ່ານີ້ ກຳ ລັງແລ່ນ, ໝາຍ ຄວາມວ່າທ່ານ ກຳ ລັງໃຊ້ server NFS. ຖ້າ server NFS ກຳ ລັງໃຊ້ງານຢູ່ໂດຍບໍ່ໄດ້ລະບຸ ໝາຍ ຄວາມວ່າຊັບພະຍາກອນຂອງລະບົບຂອງທ່ານ ກຳ ລັງຖືກ ນຳ ໃຊ້ໂດຍບໍ່ ຈຳ ເປັນ.

ວິທີການຂ້າຂະບວນການໃນ Linux

ເພື່ອຂ້າຂະບວນການແລ່ນໃນ Linux, ໃຫ້ໃຊ້ ຄຳ ສັ່ງ 'Kill PID'. ແຕ່ວ່າ, ກ່ອນທີ່ຈະໃຊ້ ຄຳ ສັ່ງ Kill, ພວກເຮົາຕ້ອງຮູ້ PID ຂອງຂັ້ນຕອນ. ຍົກຕົວຢ່າງ, ຢູ່ນີ້ຂ້ອຍຕ້ອງການຊອກຫາ PID ຂອງ 'ຈອກ' ຂັ້ນຕອນ.

 ps ax | grep cupsd

1511 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf

ສະນັ້ນ, PID ຂອງຂະບວນການ 'ຖ້ວຍ' ແມ່ນ '1511'. ເພື່ອຂ້າ PID ນັ້ນ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

 kill -9 1511

ເພື່ອຊອກຮູ້ເພີ່ມເຕີມກ່ຽວກັບ ຄຳ ສັ່ງຂ້າດ້ວຍຕົວຢ່າງຂອງພວກເຂົາ, ໃຫ້ອ່ານບົດແນະ ນຳ ໃນການຂ້າ ຄຳ ສັ່ງເພື່ອຢຸດຂະບວນການໃນ Linux

ວິທີການປິດການບໍລິການໃນ Linux

ໃນການແຈກຢາຍທີ່ອີງໃສ່ Red Hat ເຊັ່ນ Fedora ແລະ CentOS, ໃຊ້ສະຄິບທີ່ເອີ້ນວ່າ 'chkconfig' ເພື່ອເປີດໃຊ້ງານແລະປິດການໃຊ້ບໍລິການທີ່ໃຊ້ງານຢູ່ໃນ Linux.

ຕົວຢ່າງ, ສາມາດເຮັດໃຫ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Apache ປິດການໃຊ້ງານໃນລະບົບເລີ່ມຕົ້ນ.

 chkconfig httpd off
 chkconfig httpd --del

ໃນການແຈກຈ່າຍທີ່ອີງໃສ່ Debian ເຊັ່ນ: Ubuntu, Linux Mint ແລະການແຈກຈ່າຍທີ່ອີງໃສ່ Debian ອື່ນໆແມ່ນໃຊ້ສະຄິບທີ່ເອີ້ນວ່າ update-rc.d.

ຍົກຕົວຢ່າງ, ການປິດການບໍລິການ Apache ໃນເວລາທີ່ລະບົບເລີ່ມຕົ້ນປະຕິບັດ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ໃນທີ່ນີ້ຕົວເລືອກ '-f' ແມ່ນບັງຄັບ.

 update-rc.d -f apache2 remove

ຫຼັງຈາກເຮັດການປ່ຽນແປງເຫຼົ່ານີ້, ລະບົບຕໍ່ໄປຈະເລີ່ມຂື້ນໂດຍບໍ່ມີຂັ້ນຕອນທີ່ ຈຳ ເປັນຂອງສະຫະປະຊາຊາດນີ້ເຊິ່ງຄວາມເປັນຈິງຈະຊ່ວຍປະຢັດຊັບພະຍາກອນຂອງລະບົບຂອງພວກເຮົາແລະເຄື່ອງແມ່ຂ່າຍຈະປະຕິບັດໄດ້ໄວ, ປອດໄພແລະປອດໄພກວ່າ.

ດຽວນີ້ ໝົດ ແລ້ວ. ຂ້າພະເຈົ້າຈະຢູ່ທີ່ນີ້ອີກເທື່ອ ໜຶ່ງ ດ້ວຍບົດຂຽນທີ່ ໜ້າ ສົນໃຈອີກ. ຈົນກ່ວາຫຼັງຈາກນັ້ນຕິດຕາມແລະເຊື່ອມຕໍ່ກັບ Tecmint. ຢ່າລືມໃຫ້ພວກເຮົາມີ ຄຳ ຕິຊົມທີ່ມີຄ່າຂອງທ່ານໃນ ຄຳ ເຫັນພາກ.