Centos 7 สร้างไฟล์ คำสั่งพื้นฐานของ Linux

Systemd เป็นระบบและผู้จัดการบริการในระบบปฏิบัติการ Linux ได้รับการออกแบบมาให้เข้ากันได้กับสคริปต์เริ่มต้น SysV และให้คุณสมบัติที่มีประโยชน์ เช่น การเริ่มต้นบริการระบบแบบขนานในเวลาบูต การเปิดใช้งาน daemons ตามความต้องการ การสนับสนุนสแนปช็อตสถานะระบบ และตรรกะการจัดการบริการที่อิงตามการพึ่งพา ใน CentOS 7 นั้น systemd จะแทนที่ Upstart เป็นระบบเริ่มต้นเริ่มต้น

ในบทความนี้เราจะดูกระบวนการจัดการบริการ systemd สำหรับ ผู้ใช้ CentOS 7. ความรู้นี้จะมีประโยชน์ในการแจกแจงอื่นๆ เนื่องจาก systemd ถูกใช้ใน Fedora มาเป็นเวลานานและมีการวางแผนใน Ubuntu 14.10 และ Debian 8 ไม่ว่าสิ่งนี้จะดีหรือไม่ก็ตามจะถูกทิ้งไว้เบื้องหลัง

ขณะที่อ่านบทความนี้ คุณสามารถลองใช้ systemd บน VPS แบบคลาสสิกและ VPS บนคลาวด์ได้จากกล่องข้อมูล เรามุ่งมั่นที่จะเพิ่มการรองรับระบบปฏิบัติการสมัยใหม่ในเวลาที่เหมาะสม เพื่อให้คุณสามารถใช้เทคโนโลยีใหม่ล่าสุดได้มากขึ้น งานที่มีประสิทธิภาพ- แนวคิดในการเขียนบทความนี้เกิดขึ้นหลังจากคำถามอื่นจากผู้ใช้เกี่ยวกับการใช้บริการใน CentOS 7

การแนะนำ

Systemd นำแนวคิดของหน่วย systemd หน่วยต่างๆ จะแสดงด้วยไฟล์การกำหนดค่าที่อยู่ในไดเร็กทอรีใดไดเร็กทอรี:
  • /usr/lib/systemd/ระบบ/– หน่วยจากแพ็คเกจ RPM ที่ติดตั้ง
  • /รัน/systemd/ระบบ/- หน่วยที่สร้างขึ้นในรันไทม์ ไดเร็กทอรีนี้มีลำดับความสำคัญเหนือไดเร็กทอรีที่มีหน่วยที่ติดตั้งจากแพ็กเกจ
  • /etc/systemd/ระบบ/- หน่วยที่สร้างและจัดการโดยผู้ดูแลระบบ ไดเร็กทอรีนี้มีความสำคัญมากกว่าไดเร็กทอรีของหน่วยที่สร้างขึ้นขณะรันไทม์
หน่วยประกอบด้วยข้อมูลเกี่ยวกับบริการของระบบ ซ็อกเก็ตการฟัง สแน็ปช็อตที่บันทึกไว้ของสถานะของระบบ และอ็อบเจ็กต์อื่น ๆ ที่เกี่ยวข้องกับระบบการเริ่มต้น

ประเภทหน่วย Systemd:

  • .บริการ– บริการระบบ
  • .เป้า- กลุ่มหน่วย systemd
  • .ออโต้เมาท์ t – จุดเมานท์ระบบไฟล์อัตโนมัติ
  • .อุปกรณ์– ไฟล์ของอุปกรณ์ที่เคอร์เนลรู้จัก
  • .เมานต์– จุดเมานท์ระบบไฟล์
  • .เส้นทาง– ไฟล์หรือไดเร็กทอรีในระบบไฟล์
  • .ขอบเขต– กระบวนการที่สร้างขึ้นจากภายนอก
  • .ชิ้น– กลุ่มของหน่วยที่มีการจัดระเบียบตามลำดับชั้นที่จัดการกระบวนการของระบบ
  • .สแนปชอต– สถานะที่บันทึกไว้ของผู้จัดการ systemd
  • .ซ็อกเก็ต– ซ็อกเก็ต การสื่อสารระหว่างกระบวนการ
  • .แลกเปลี่ยน– สลับอุปกรณ์หรือสลับไฟล์ (สลับไฟล์)
  • .ตัวจับเวลา– ระบบจับเวลา

คุณสมบัติพื้นฐานของ systemd ใน CentOS 7

  • การเปิดใช้งานตามซ็อกเก็ต- ณ เวลาบูต systemd จะรับฟังซ็อกเก็ตสำหรับบริการของระบบทั้งหมด รองรับการเปิดใช้งานประเภทนี้ และส่งผ่านซ็อกเก็ตไปยังบริการเหล่านี้ทันทีหลังจากเริ่มบริการ สิ่งนี้ช่วยให้ systemd ไม่เพียงแต่เรียกใช้บริการในแบบคู่ขนานเท่านั้น แต่ยังให้ความสามารถในการรีสตาร์ทบริการโดยไม่สูญเสียข้อความใด ๆ ที่ส่งถึงพวกเขาในขณะที่บริการไม่พร้อมใช้งาน ซ็อกเก็ตที่เกี่ยวข้องยังคงอยู่และข้อความทั้งหมดอยู่ในคิว
  • การเปิดใช้งานตาม D-Bus- บริการระบบที่ใช้ D-Bus สำหรับการสื่อสารระหว่างกระบวนการสามารถเริ่มต้นได้ตามความต้องการเมื่อใด แอปพลิเคชันไคลเอนต์พยายามติดต่อพวกเขา
  • การเปิดใช้งานตามอุปกรณ์- บริการของระบบที่รองรับการเปิดใช้งานตามอุปกรณ์สามารถเริ่มต้นได้เมื่อมีการเชื่อมต่อฮาร์ดแวร์บางประเภทหรือพร้อมใช้งาน
  • การเปิดใช้งานตามเส้นทาง- บริการของระบบสามารถรองรับการเปิดใช้งานประเภทนี้ได้หากสถานะของโฟลเดอร์หรือไดเร็กทอรีเปลี่ยนแปลง
  • ภาพรวมของสถานะของระบบ- ระบบสามารถบันทึกสถานะของทุกยูนิตและกู้คืนได้ สถานะก่อนหน้าระบบ
  • การจัดการจุดเมานท์และจุดเมานท์อัตโนมัติ- Systemd ตรวจสอบและจัดการจุดเมานท์และจุดเมานท์อัตโนมัติ
  • การขนานแบบก้าวร้าว Systemd เริ่มทำงาน บริการระบบขนานกันเนื่องจากการใช้การเปิดใช้งานแบบซ็อกเก็ต เมื่อใช้ร่วมกับบริการที่รองรับการเปิดใช้งานตามความต้องการ การเปิดใช้งานแบบขนานจะช่วยลดเวลาการบูตระบบได้อย่างมาก
  • ลอจิกธุรกรรมสำหรับการเปิดใช้งานหน่วย- ก่อนที่หน่วยจะถูกเปิดใช้งานหรือปิดใช้งาน systemd จะคำนวณการขึ้นต่อกัน สร้างธุรกรรมชั่วคราว และตรวจสอบความสมบูรณ์ของธุรกรรมนั้น หากธุรกรรมไม่เสียหาย systemd จะพยายามแก้ไขและลบงานที่ไม่จำเป็นออกโดยอัตโนมัติก่อนที่จะสร้างข้อความแสดงข้อผิดพลาด
  • เข้ากันได้กับการเริ่มต้น SysV- SystemD รองรับสคริปต์เริ่มต้น SysV อย่างสมบูรณ์ตามที่อธิบายไว้ในข้อกำหนด Linux Standard Base (LSB) ทำให้ง่ายต่อการโยกย้ายไปยัง systemd

การจัดการบริการ

CentOS เวอร์ชันก่อนหน้าใช้ SysV หรือ Upstart สคริปต์การเริ่มต้นอยู่ในไดเร็กทอรี /etc/rc.d/init.d/- สคริปต์ดังกล่าวมักจะเขียนด้วย Bash และอนุญาตให้ผู้ดูแลระบบจัดการสถานะของบริการและเดมอน ใน CentOS 7 สคริปต์เริ่มต้นจะถูกแทนที่ด้วยหน่วยบริการ

โดยวิธีการใช้บริการหน่วยบริการ .บริการคล้ายกับสคริปต์เริ่มต้น หากต้องการดู เริ่ม หยุด รีบูต เปิดหรือปิดใช้งานบริการระบบ ให้ใช้คำสั่ง ระบบ- ทีม บริการและ chkconfigยังคงรวมอยู่ในระบบ แต่ด้วยเหตุผลด้านความเข้ากันได้เท่านั้น


เมื่อใช้ systemctl ไม่จำเป็นต้องระบุนามสกุลไฟล์

ด้านล่างนี้เป็นคำสั่งพื้นฐาน ระบบ:

  • systemctl เริ่มต้น name.service– เริ่มให้บริการ
  • systemctl หยุด name.service- หยุดให้บริการ
  • systemctl รีสตาร์ท name.service- เริ่มบริการใหม่
  • systemctl ลองรีสตาร์ท name.service- เริ่มบริการใหม่เฉพาะในกรณีที่บริการทำงานอยู่
  • systemctl รีโหลด name.service- โหลดการกำหนดค่าบริการอีกครั้ง
  • ชื่อสถานะ systemctl.service- ตรวจสอบว่าบริการกำลังทำงานอยู่พร้อมเอาต์พุตโดยละเอียดของสถานะการบริการหรือไม่
  • systemctl is-active name.service- ตรวจสอบว่าบริการกำลังทำงานอยู่หรือไม่ด้วยคำตอบง่ายๆ: ใช้งานอยู่หรือไม่ได้ใช้งาน
  • systemctl รายการหน่วย -- ประเภทบริการ -- ทั้งหมด– แสดงสถานะของบริการทั้งหมด
  • systemctl เปิดใช้งาน name.service– เปิดใช้งานบริการ (อนุญาตให้เริ่มต้นระหว่างการเริ่มต้นระบบ)
  • systemctl ปิดการใช้งาน name.service– ปิดการใช้งานบริการ
  • systemctl เปิดใช้งาน name.service อีกครั้ง– ปิดการใช้งานบริการและเปิดใช้งานทันที
  • systemctl คือ – เปิดใช้งาน name.service– ตรวจสอบว่าเปิดใช้งานบริการแล้วหรือไม่
  • systemctl list-unit-files --type บริการ– แสดงบริการทั้งหมดและตรวจสอบว่าบริการใดเปิดใช้งานอยู่
  • ชื่อหน้ากาก systemctl.service– แทนที่ไฟล์บริการด้วย symlink เป็น /dev/null ทำให้หน่วยไม่พร้อมใช้งานสำหรับ systemd
  • systemctl เปิดโปง name.service– ส่งคืนไฟล์บริการ ทำให้หน่วยพร้อมใช้งานสำหรับ systemd

การทำงานกับเป้าหมาย Systemd

ก่อนหน้า เวอร์ชัน CentOSด้วย SysV init หรือ Upstart รวมชุด runlevels ที่กำหนดไว้ล่วงหน้าซึ่งแสดงถึงโหมดเฉพาะสำหรับการดำเนินการซึ่งมีหมายเลข 0 ถึง 6 ใน CentOS 7 แนวคิดของ runlevels ถูกแทนที่ด้วยเป้าหมาย systemd

ไฟล์เป้าหมาย systemd .เป้าได้รับการออกแบบมาเพื่อจัดกลุ่ม systemd ยูนิตอื่นๆ เข้าด้วยกันผ่านห่วงโซ่การพึ่งพา ยกตัวอย่างหน่วย graphical.เป้าหมายใช้เพื่อเริ่มเซสชันแบบกราฟิก เริ่มบริการระบบตัวจัดการจอแสดงผล GNOME ( gdm.บริการ) และบริการบัญชี ( บัญชี – daemon.service) และเปิดใช้งาน ผู้ใช้หลายรายเป้าหมาย- ในทางกลับกัน ผู้ใช้หลายรายเป้าหมายรันบริการระบบอื่นๆ เช่น Network Manager ( NetworkManager.บริการ) หรือ D-บัส ( dbus.บริการ) และเปิดใช้งานยูนิตเป้าหมายอื่นๆ basic.เป้าหมาย.

CentOS 7 มาพร้อมกับเป้าหมายที่กำหนดไว้ล่วงหน้าคล้ายกับ ชุดมาตรฐานวิ่งระดับ เพื่อเหตุผลด้านความเข้ากันได้ พวกเขายังมีนามแฝงสำหรับเป้าหมายเหล่านี้ที่ปรากฏโดยตรงในระดับรัน SysV

  • poweroff.target (runlevel0.target)– การปิดและการปิดระบบ
  • Rescue.target (runlevel1.target)– การตั้งค่าเชลล์การกู้คืน
  • ผู้ใช้หลายรายเป้าหมาย (runlevel2.target, runlevel3.target, runlevel4.target)– การตั้งค่าระบบผู้ใช้หลายคนที่ไม่ใช่กราฟิก
  • graphical.target (runlevel5.target)– การตั้งค่าระบบผู้ใช้หลายคนแบบกราฟิก
  • รีบูต.เป้าหมาย (runlevel6.target)– ปิดระบบและรีบูตระบบ
คำสั่ง runlevel และ telinit ยังคงใช้งานได้ แต่ยังคงอยู่ในระบบเนื่องจากเหตุผลด้านความเข้ากันได้ ขอแนะนำให้ใช้ systemctl เพื่อเปลี่ยนหรือกำหนดค่าเป้าหมายของระบบ

ในการพิจารณาว่าหน่วยเป้าหมายใดเป็นค่าเริ่มต้น คำสั่งต่อไปนี้มีประโยชน์: systemctl รับ - ค่าเริ่มต้น.

หากต้องการดูหน่วยเป้าหมายที่โหลดทั้งหมด ให้ใช้คำสั่ง systemctl list-units --type เป้าหมายและดูหน่วยเป้าหมายทั้งหมดโดยทั่วไปด้วยคำสั่ง: systemctl รายการหน่วย -- ประเภทเป้าหมาย -- ทั้งหมด.

หากต้องการเปลี่ยนเป้าหมายเริ่มต้น ให้ใช้คำสั่ง systemctl ตั้งค่าเริ่มต้น name.target.

หากต้องการเปลี่ยนเป้าหมายปัจจุบัน: systemctl แยก name.target- คำสั่งจะเริ่มการทำงานของหน่วยเป้าหมายและการขึ้นต่อกันทั้งหมด และหยุดหน่วยอื่นๆ ทั้งหมดทันที

ใน CentOS 7 นั้น systemctl จะแทนที่คำสั่งการจัดการพลังงานจำนวนมาก คำสั่งก่อนหน้านี้ยังคงอยู่เพื่อความเข้ากันได้ แต่ขอแนะนำให้ใช้ systemctl:
systemctl หยุดทำงาน– หยุดระบบ
ปิดระบบ systemctl– ปิดระบบ
systemctl รีบูต– รีบูทระบบ

การจัดการ systemd บนเครื่องระยะไกล

Systemd ช่วยให้คุณจัดการเครื่องระยะไกลผ่าน SSH เพื่อควบคุมการใช้คำสั่ง:
systemctl --host คำสั่ง user_name@host_nameโดยที่ user_name คือชื่อผู้ใช้ host_name คือชื่อของโฮสต์ที่ การควบคุมระยะไกลและ command คือคำสั่ง systemd ที่จะดำเนินการ

systemd .service ทั่วไป

ส่วนนี้จะช่วยคุณหากคุณต้องการสนับสนุนการจัดการบริการจาก systemd อย่างรวดเร็ว ข้อมูลโดยละเอียดเกี่ยวกับพารามิเตอร์ทั้งหมดของไฟล์ .service มีอยู่ในส่วนที่เกี่ยวข้องของเอกสารประกอบ systemd

คำอธิบาย=Daemon เพื่อตรวจจับแอปที่ขัดข้อง After=syslog.target ExecStart=/usr/sbin/abrtd Type=forking WantedBy=multi-user.target
มาดูในส่วนนี้กัน - ประกอบด้วย ข้อมูลทั่วไปเกี่ยวกับการบริการ ส่วนนี้ไม่เพียงมีอยู่ในหน่วยบริการเท่านั้น แต่ยังอยู่ในหน่วยอื่นๆ ด้วย (เช่น เมื่อจัดการอุปกรณ์ จุดเชื่อมต่อ ฯลฯ) ในตัวอย่างของเรา เราให้คำอธิบายของบริการและระบุว่า daemon ควรเริ่มทำงานหลังจาก Syslog

ในส่วนถัดไป มีข้อมูลโดยตรงเกี่ยวกับบริการของเรา พารามิเตอร์ที่ใช้ เอ็กเซ็กสตาร์ทชี้ไปที่ ไฟล์ปฏิบัติการบริการของเรา ใน พิมพ์เราระบุวิธีที่บริการแจ้งเตือน systemd เมื่อเริ่มต้นระบบเสร็จสิ้น

ส่วนสุดท้าย มีข้อมูลเกี่ยวกับเป้าหมายที่ควรเริ่มบริการ ในกรณีนี้ เรากำลังบอกว่าควรเริ่มบริการเมื่อเปิดใช้งานเป้าหมาย ผู้ใช้หลายรายเป้าหมาย.

นี่คือไฟล์การทำงานขั้นต่ำ บริการระบบ- หลังจากเขียนของคุณแล้ว ให้คัดลอกไปที่ /etc/systemd/system/service_name.service เพื่อทำการทดสอบ รันคำสั่ง systemctl daemon-รีโหลด- Systemd จะทราบเกี่ยวกับบริการและคุณจะสามารถเริ่มต้นได้

ข้อมูลเพิ่มเติม

บทช่วยสอนที่ยอดเยี่ยมเกี่ยวกับ systemd จาก RedHat ซึ่งเป็นพื้นฐานสำหรับบทความนี้
เอกสารประกอบสำหรับการเขียนหน่วยบริการ systemd ของคุณเอง
“ Systemd สำหรับผู้ดูแลระบบ” จากผู้พัฒนา systemd ในภาษารัสเซีย

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีจัดการบริการ CentOS 7 แน่นอนว่านี่ไม่ใช่ฟังก์ชันเดียวของ systemd และจะมีการหารือด้านอื่นๆ ในอนาคต ระบบปฏิบัติการนั้นมีให้บริการบน VPS แบบคลาสสิกและ VPS บนคลาวด์จาก Infobox เกือบจะนับตั้งแต่เปิดตัว ลอง systemd ตอนนี้ ความรู้นี้จะมีประโยชน์ในการเชื่อมต่อกับการเปลี่ยนแปลงของการแจกแจงหลายแบบไปเป็น systemd

หากพบข้อผิดพลาดในบทความ ผู้เขียนยินดีแก้ไขให้ กรุณาเขียนใน PM หรืออีเมล์เกี่ยวกับเรื่องนี้
หากคุณไม่สามารถแสดงความคิดเห็นเกี่ยวกับHabré คุณสามารถเขียนลงในบล็อกได้

ระบบ ลินุกซ์เป็นผู้ใช้หลายคนที่ทำงานแบบมัลติทาสกิ้ง ระบบปฏิบัติการซึ่งหมายความว่าผู้คนจำนวนมากสามารถวิ่งได้มากในเวลาเดียวกัน แอพพลิเคชั่นต่างๆพร้อมกันบนคอมพิวเตอร์เครื่องเดียวกัน ระบบนี้ ลินุกซ์แตกต่างจาก ระบบ MS-DOSตัวอย่างเช่น โดยที่มีเพียงคนเดียวเท่านั้นที่สามารถทำงานบนคอมพิวเตอร์ในเวลาเดียวกันได้

ตัวเลือก คำสั่งลินุกซ์มักจะเริ่มต้นด้วยสัญลักษณ์ - หลังจากนั้นคุณสามารถระบุหลายตัวเลือกได้ในคราวเดียว ตัวอย่างเช่น แทนที่จะใช้คำสั่ง ls -l -F คุณสามารถป้อนคำสั่ง ls -lF ได้

เป็นอาร์กิวเมนต์คำสั่ง ลินุกซ์อาจเป็นรายการชื่อไฟล์หรือไดเร็กทอรี ตัวอย่างเช่น อาร์กิวเมนต์ของคำสั่ง cp คือชื่อของไฟล์ที่จะถูกคัดลอก รายการไฟล์ที่คัดลอกจะถูกปิดด้วยชื่อของไฟล์ (หรือไดเร็กทอรี) ที่ไฟล์จะถูกคัดลอก เมื่อคัดลอกมากกว่าหนึ่งไฟล์ ชื่อไดเร็กทอรีจะต้องอยู่ต่อท้าย

การสร้างชื่อผู้ใช้

ก่อนที่คุณจะเริ่มทำงานกับระบบที่ติดตั้งใหม่ ลินุกซ์คุณต้องสร้างชื่อให้ตัวเองสำหรับงานประจำวันของคุณ ไม่แนะนำให้ใช้รูทสำหรับสิ่งนี้ ซึ่งสงวนไว้สำหรับการดำเนินการ ทีมพิเศษและสำหรับงานเพื่อรักษาการทำงานของระบบ

หากต้องการสร้างชื่อผู้ใช้ ให้เข้าสู่ระบบในฐานะ root และใช้คำสั่ง useradd (หรือ adduser)

เข้าสู่ระบบ

โดยทั่วไป เมื่อคุณเข้าสู่ระบบ คุณจะเห็นข้อความแจ้งต่อไปนี้บนหน้าจอ:

หลังจากกรอกชื่อผู้ใช้และกดปุ่มแล้ว เข้าคุณจะได้รับแจ้งให้ป้อนรหัสผ่าน:

เข้าสู่ระบบ localhost: รหัสผ่าน oleg:

หลังจากนี้คุณจะต้องป้อนรหัสผ่าน (อักขระที่คุณพิมพ์จะไม่ปรากฏบนหน้าจอ) หากคุณป้อนรหัสผ่านไม่ถูกต้อง ข้อความต่อไปนี้จะปรากฏขึ้นบนหน้าจอ:

เข้าสู่ระบบ localhost: รหัสผ่าน oleg: เข้าสู่ระบบเข้าสู่ระบบไม่ถูกต้อง:

หลังจากกรอกชื่อผู้ใช้และรหัสผ่านที่ถูกต้องแล้ว คุณจะเข้าสู่ระบบ

คอนโซลเสมือน

คอนโซลระบบคือจอภาพและคีย์บอร์ดที่เชื่อมต่อโดยตรงกับคอมพิวเตอร์ ระบบ ลินุกซ์คล้ายกับระบบเวอร์ชันอื่นๆ ยูนิกซ์ให้การเข้าถึงคอนโซลเสมือนซึ่งคุณสามารถดำเนินการหลายเซสชันในระบบพร้อมกันได้

เพื่อทำความคุ้นเคยกับการทำงานในคอนโซลเสมือน คุณควรเข้าสู่ระบบและกดคีย์ผสม Alt-F2 ข้อความเข้าสู่ระบบ: จะปรากฏขึ้นอีกครั้ง (นี่คือคอนโซลเสมือนตัวที่สอง) หากต้องการกลับไปยังคอนโซลเสมือนแรก คุณต้องกดคีย์ผสม Alt-F1 (คุณจะกลับสู่เซสชันการทำงานที่เริ่มต้นแล้ว)

แค่ตอนนี้ ระบบที่ติดตั้งinuxตามกฎแล้วให้การเข้าถึงคอนโซลเสมือนหกคอนโซลแรกซึ่งสามารถเข้าถึงได้โดยใช้คีย์ผสม Alt-Fx ดังนั้นแล้ว ณ ระยะเริ่มแรกผู้ใช้ได้รับ เครื่องมืออันทรงพลังทำให้คุณทำงานได้หลายเซสชันพร้อมกัน

เชลล์และคำสั่ง

สื่อสารกับระบบมากที่สุด ลินุกซ์เกิดขึ้นผ่าน เชลล์คำสั่ง (เปลือก). เชลล์คำสั่งเป็นโปรแกรมที่รับคำสั่งที่ป้อนจากคีย์บอร์ดแล้วแปลงเป็นคำสั่งของระบบปฏิบัติการ

หลังจากเข้าสู่ระบบ ระบบปฏิบัติการจะเริ่มทำงาน เชลล์คำสั่งหลังจากนั้นคุณสามารถป้อนคำสั่งได้ Command เป็นคำแรกใน บรรทัดคำสั่ง- ทุกสิ่งทุกอย่างบนบรรทัดคำสั่งถือเป็นข้อโต้แย้งของคำสั่งนี้ ตามตัวอย่าง เรามาสร้าง (mkdir) ไดเร็กทอรีคำสั่ง:

คำสั่ง $ mkdir

ออกจากระบบ

หากต้องการออกจากระบบ หลังจากพร้อมท์เชลล์ ให้ป้อนคำสั่ง:

การเปลี่ยนรหัสผ่านของคุณ

หากต้องการเปลี่ยนรหัสผ่านคุณต้องป้อนคำสั่ง passwd คำสั่งจะแจ้งให้คุณป้อน รหัสผ่านเก่าและจากนั้น - อันใหม่ คำสั่งจะขอให้คุณป้อนรหัสผ่านใหม่อีกครั้งเพื่อยืนยัน:

ไฟล์และไดเร็กทอรี

ในระบบปฏิบัติการ ลินุกซ์ใช้แนวคิดของไฟล์ ( ไฟล์- ไฟล์คือข้อมูลบางส่วนที่มีชื่อเป็นของตัวเอง ( ชื่อไฟล์- คุณควรทราบว่าข้อมูลจะถูกบันทึกลงในดิสก์ในรูปแบบไฟล์แยกกันเท่านั้น

ชื่อ ไฟล์ปกติวี ลินุกซ์สามารถมีความยาวได้สูงสุด 255 อักขระ และประกอบด้วยอักขระใดก็ได้ ยกเว้นอักขระโค้ดและอักขระ / (เครื่องหมายทับ) อย่างไรก็ตาม ยังมีสัญลักษณ์จำนวนหนึ่งที่อยู่ในเชลล์ เปลือกความหมายพิเศษ จึงไม่แนะนำให้รวมไว้ในชื่อ เหล่านี้คืออักขระต่อไปนี้:

! @ # $ & ~ % * () { } " " \ : ; >

แนวคิดของไฟล์มีความเกี่ยวข้องอย่างใกล้ชิดกับแนวคิดของไดเร็กทอรี ( ไดเรกทอรี- ไดเร็กทอรีคือชุดของไฟล์ ผู้ใช้ หน้าต่างพวกเขาเรียกไดเร็กทอรีว่า โฟลเดอร์ โดยการเปรียบเทียบกับโฟลเดอร์ที่มีชีตต่างๆ มากมาย อย่างไรก็ตามการเปรียบเทียบนี้ไม่ถูกต้องเพราะว่า ไดเร็กทอรีไม่มีไฟล์จริง แต่มีลิงก์ไปยังไฟล์และไดเร็กทอรีอื่น ๆ แคตตาล็อกจะได้รับชื่อที่สามารถระบุได้ นอกจากนี้ ไดเร็กทอรียังสร้างโครงสร้างแบบต้นไม้ กล่าวอีกนัยหนึ่ง มีไดเร็กทอรีรากเดียวที่มีไดเร็กทอรีอื่นทั้งหมดอยู่ภายใน

เมื่อเข้าถึงไฟล์ จะมีการระบุพาธซึ่งอาจประกอบด้วยชื่อไดเร็กทอรี (ชื่อของไดเร็กทอรีที่ซ้อนกัน) ตามด้วยชื่อไฟล์ ชื่อจะถูกแยกออกจากกันด้วยเครื่องหมายทับ (/) ตัวอย่างเช่น:

ในตัวอย่างข้างต้น คุณจะเห็นว่าชื่อถูกคั่นด้วยอักขระ / ด้วยเหตุนี้พวกเขาจึงไม่สามารถกักขังพระองค์ไว้ได้

ต้นไม้ไดเรกทอรี

บนระบบส่วนใหญ่ ลินุกซ์มีการใช้เค้าโครงไฟล์มาตรฐานเพื่อให้ค้นหาตำแหน่งของไฟล์ระบบและโปรแกรมที่สำคัญได้ง่าย ไดเร็กทอรีสร้างโครงสร้างแบบต้นไม้ที่ขึ้นต้นด้วยไดเร็กทอรี / ไดเร็กทอรีนี้เรียกอีกอย่างว่าไดเร็กทอรีราก ที่อยู่ติดกันโดยตรงกับไดเร็กทอรี / คือไดเร็กทอรีย่อยที่สำคัญ /bin, /etc, /dev, /usr และอื่นๆ

แคตตาล็อกปัจจุบัน

เมื่อใดก็ตาม คำสั่งที่ออกจะอ้างอิงถึงไดเร็กทอรีปัจจุบัน ( ไดเรกทอรีปัจจุบัน- เมื่อคุณเข้าสู่ระบบ ไดเร็กทอรีปัจจุบันจะถูกตั้งค่าเป็นโฮมไดเร็กตอรี่ของคุณ (ในกรณีของเรา /home/oleg) เมื่ออ้างถึงไฟล์ คุณสามารถระบุเส้นทางแบบเต็มไปยังไฟล์นี้หรือเฉพาะเส้นทางจากไดเร็กทอรีปัจจุบันได้

ตัวอย่างก่อนหน้านี้ เมื่ออยู่ในไดเร็กทอรี /home/oleg/docs จะมีลักษณะดังนี้:

$ น้อยกว่า mokshadharma/index.xml

หากเส้นทางไปยังไฟล์ (เช่น mokshadharma/index.xml) ขึ้นต้นด้วยอักขระอื่นที่ไม่ใช่ / นั่นหมายความว่ามีการเข้าถึงไฟล์โดยสัมพันธ์กับไดเร็กทอรีปัจจุบัน วิธีการจัดการนี้เรียกว่า ในลักษณะสัมพันธ์กัน (เส้นทางสัมพัทธ์).

หากชื่อไฟล์ขึ้นต้นด้วย / ระบบจะตีความว่าเป็นพาธแบบเต็ม กล่าวคือพาธที่นำไปสู่ไฟล์ โดยเริ่มจากไดเร็กทอรีราก / (/home/oleg/docs/mokshadharma/index.xml) นี่เรียกอีกอย่างว่า ในทางที่แน่นอน (เส้นทางที่แน่นอน).

การเข้าถึงโฮมไดเร็กตอรี่

ในเชลล์คำสั่ง ทุบตีรวมอยู่ในระบบที่ติดตั้งใหม่เกือบทั้งหมด ลินุกซ์โฮมไดเร็กทอรีสามารถแสดงด้วยสัญลักษณ์ ~ ตัวอย่างเช่น คำสั่ง:

$ น้อยกว่า ~/docs/mokshadharma/index.xml

เทียบเท่ากับคำสั่ง:

$ น้อยกว่า /home/oleg/docs/mokshadharma/index.xml

การนำทางแผนผังไดเร็กทอรี

คำสั่งที่ใช้ในการเลื่อนไปตามแผนผังไดเร็กทอรีเรียกว่า cd - ย่อมาจาก เปลี่ยนไดเร็กทอรี(เปลี่ยนไดเรกทอรี) เป็นตัวอย่างการใช้คำสั่ง cd ไปที่ไดเร็กทอรี /home/oleg/docs/mokshadharma/:

$ cd ~/docs/mokshadharma

ตอนนี้คุณสามารถเข้าถึงไฟล์จากไดเร็กทอรีปัจจุบันด้วยคำสั่งต่อไปนี้:

$ น้อยกว่า index.xml

หากต้องการย้ายไปยังไดเร็กทอรีระดับสูงกว่าที่ใกล้ที่สุด ให้ใช้คำสั่ง:

หากต้องการเปลี่ยนเป็นโฮมไดเร็กตอรี่ คุณสามารถใช้คำสั่ง cd โดยไม่มีอาร์กิวเมนต์ได้:

ดูเนื้อหาไดเร็กทอรี

คำสั่ง ls (ย่อมาจาก รายการ) แสดงรายการไฟล์และไดเร็กทอรี (ตัวเลือก -F ช่วยให้คุณได้รับข้อมูลที่ครบถ้วนมากขึ้น):

$ ls -F ~/docs/mokshadharma ch/ ch01.html ch02.html ch03.html cron.sh* docbook.xsl index.html index.xml pr01.html pt01.html สไตล์/

ในรายการเราจะเห็นว่าสัญลักษณ์ / ต่อท้ายชื่อของไดเร็กทอรีย่อย และต่อท้ายชื่อไฟล์ปฏิบัติการ ( ปฏิบัติการได้) กำหนดให้มีสัญลักษณ์ *

การสร้างไดเรกทอรีใหม่

หากต้องการสร้างไดเร็กทอรีใหม่ ให้ใช้คำสั่ง mkdir (ย่อมาจาก ทำไดเร็กทอรี- ตัวอย่างเช่น เรามาสร้างไดเร็กทอรีใหม่และป้อน:

ตัวอย่าง $ mkdir ตัวอย่าง $ cd

การสร้างไฟล์ใหม่

หากต้องการสร้างไฟล์ ให้ใช้คำสั่ง touch และ cat

คำสั่ง touch สร้างไฟล์เปล่า:

$สัมผัส file_name

ในการสร้างไฟล์ คำสั่ง cat ซึ่งออกแบบมาเพื่อเปลี่ยนเส้นทางเอาต์พุต จะใช้อินพุตมาตรฐาน (คีย์บอร์ด) เป็นอินพุต และส่งเอาต์พุตของคำสั่งไปยังไฟล์ใหม่:

$ cat > new_file

พอเข้าแล้ว ข้อความที่ต้องการ, กดรวมกัน ใส่กุญแจและ Ctrl-D หรือ Enter และ Ctrl-C และทุกสิ่งที่ป้อนจะถูกเขียนไปที่ new_file แน่นอนว่าไฟล์ข้อความสั้นส่วนใหญ่ถูกสร้างขึ้นด้วยวิธีนี้

การเปลี่ยนเจ้าของไฟล์หรือกลุ่มไฟล์

มีเพียงผู้ใช้ขั้นสูงเท่านั้นที่สามารถเปลี่ยนเจ้าของได้ เจ้าของไฟล์เองหรือผู้ใช้ระดับสูงสามารถเปลี่ยนแปลงกลุ่มได้ เพื่อให้มีสิทธิ์เปลี่ยนกลุ่ม เจ้าของจะต้องเป็นสมาชิกของกลุ่มเพิ่มเติมที่เขาต้องการให้สิทธิ์ในไฟล์นี้

หากต้องการทำลายไฟล์ ให้ใช้คำสั่ง rm (ย่อมาจาก ลบ):

$rmindex.xml$

ตามค่าเริ่มต้น คำสั่ง rm ไม่ได้ถูกกำหนดค่าให้ออกคำเตือนก่อนทำลายไฟล์เสมอไป

หากต้องการทำลายไดเร็กทอรี ให้ใช้คำสั่ง rmdir ซึ่งจะทำลายเฉพาะไดเร็กทอรีว่างเท่านั้น

$ cd .. ตัวอย่าง $ rmdir $ ls -F $

หากต้องการทำลายไดเร็กทอรีที่มีไฟล์และไดเร็กทอรีย่อย ให้ใช้คำสั่ง rm -rf ซึ่งควรใช้ด้วยความระมัดระวังอย่างยิ่ง เนื่องจาก เนื้อหาจะถูกทำลายโดยไม่มีการเตือนล่วงหน้า

การดูเนื้อหาไฟล์

หากต้องการดูเนื้อหาของไฟล์ ให้ใช้คำสั่ง more และ cat คำสั่ง more จะแสดงเนื้อหาของไฟล์เป็นชิ้นๆ (ทีละหน้าจอ) ในขณะที่คำสั่ง แมวส่งออกไฟล์ทั้งหมดพร้อมกัน เวอร์ชันที่ปรับปรุงแล้วมากขึ้นเรียกว่าน้อยลง

หากต้องการดูเนื้อหาที่แสดงโดยคำสั่ง less ให้ใช้ปุ่ม B และ Space (คุณสามารถใช้ Page Up และ Page Down ได้เช่นกัน)

เอกสารประกอบหน้าจอ

เกือบทุกระบบของครอบครัว ยูนิกซ์รวมถึงระบบ ลินุกซ์มีเอกสารบนหน้าจอ ( หน้าคน- ข้อความในนั้นมีเอกสารประกอบเกี่ยวกับ คำสั่งของระบบ, ทรัพยากร, ไฟล์การกำหนดค่า ฯลฯ และสามารถแสดงบนหน้าจอระหว่างการทำงานได้

หากต้องการเข้าถึงเอกสารบนหน้าจอ ให้ใช้คำสั่ง man (ย่อมาจาก คู่มือ- ตัวอย่างเช่น หากต้องการดูตัวเลือกของคำสั่ง ls คุณจะต้องพิมพ์คำสั่ง

ฉันจะพูดถึง การตั้งค่าเริ่มต้นระบบ CentOS ซึ่งเพิ่มความปลอดภัยและความสะดวกในการใช้งานเซิร์ฟเวอร์ ฉันทราบว่าในระบบเวอร์ชันที่ 7 มีการเปลี่ยนแปลงบางอย่างเมื่อเทียบกับเวอร์ชันก่อนหน้า

โปรดทราบว่าฉันได้เปิดการตั้งค่าเหล่านี้ไว้แล้ว เซิร์ฟเวอร์เสมือน- หากคุณมีเซิร์ฟเวอร์ฮาร์ดแวร์ ขอแนะนำให้ทำการตั้งค่าเพิ่มเติมบางอย่างที่ฉันไม่ได้กล่าวถึงในที่นี้ ซึ่งรวมถึง ตัวอย่างเช่น การตั้งค่าและการตรวจสอบความทนทานต่อข้อผิดพลาดเมื่อดิสก์ตัวใดตัวหนึ่งล้มเหลว ปิดเครื่อง การตรวจสอบเป็นประจำอาร์เรย์ mdadm ฯลฯ

การตั้งค่าเริ่มต้นของ CentOS 7

ดังนั้นเราจึงมี: # uname -a Linux zeroxzed.ru 3.10.0-123.20.1.el7.x86_64 #1 SMP พฤหัสบดีที่ 29 มกราคม 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ก่อนอื่น มาอัพเดตระบบฐานกันก่อน:

#ยำอัปเดต

เพื่อความสะดวกในการดูแลระบบ ฉันจะติดตั้ง Midnight Commander เสมอ หรือเพียงแค่ mc:

#ยำติดตั้งmc

และทันทีที่ฉันเปิดการเน้นไวยากรณ์สำหรับไฟล์ทั้งหมดที่ไม่ได้ทำเครื่องหมายไว้อย่างชัดเจนในไฟล์ /usr/share/mc/syntax/Syntaxไวยากรณ์สำหรับสคริปต์ sh และ bash ไวยากรณ์สากลนี้ใช้ได้กับไฟล์กำหนดค่าที่คุณต้องใช้งานบนเซิร์ฟเวอร์บ่อยที่สุด การเขียนทับไฟล์ ไม่ทราบไวยากรณ์- นี่คือรูปแบบที่จะใช้กับไฟล์ .conf และ .cf เนื่องจากไม่มีไวยากรณ์ที่ชัดเจนแนบมาด้วย

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

#ifconfig

แล้วคุณจะเห็นคำตอบ:

ทุบตี: ifconfig: คำสั่ง ไม่พบ

โดย อย่างน้อยเมื่อฉันเห็นสิ่งนี้ครั้งแรกฉันรู้สึกประหลาดใจมาก ฉันคิดว่าฉันทำผิดพลาดในการเขียนคำสั่ง ฉันตรวจสอบทุกอย่างซ้ำหลายครั้ง แต่ก็ไม่มีประโยชน์ ปรากฎว่าฉันต้องติดตั้งแพ็กเกจแยกต่างหากเพื่อเรียกใช้ ifconfig และยูทิลิตี้เครือข่ายอื่นๆ

แทนที่จะใช้ ifconfig ใน CentOS 7 ตอนนี้มียูทิลิตี้แล้ว ไอพี- ฉันไม่เข้าใจว่าทำไมจึงต้องสร้างโปรแกรมแยกต่างหากเพื่อจัดการการตั้งค่าเครือข่าย ถ้า ifconfig ทำงานได้ดีอยู่แล้ว นอกจากนี้ฉันชอบสิ่งนั้นมาโดยตลอด การแจกแจงต่างๆ Linux เป็นเรื่องเกี่ยวกับเดียวกัน การใช้ ifconfig คุณสามารถกำหนดค่าเครือข่ายได้ไม่เฉพาะใน Linux เท่านั้น แต่ยังรวมถึงใน freebsd ด้วย สะดวกครับ. และเมื่อแต่ละการแจกแจงมีเครื่องมือของตัวเอง มันก็ไม่สะดวก ดังนั้นฉันขอแนะนำให้ติดตั้ง ifconfig ปกติ

มาทำสิ่งนี้กัน:

# yum ติดตั้ง net-tools

ตอนนี้ เพื่อให้ nslookup หรือคำสั่งโฮสต์ทำงานได้ เราจำเป็นต้องติดตั้งแพ็คเกจ bind-utils หากยังไม่เสร็จสิ้น ให้ใช้คำสั่ง:

#nslookup

ผลลัพธ์จะเป็น:

Bash: nslookup: ไม่พบคำสั่ง

ดังนั้นเรามาติดตั้งbind-utils:

# yum ติดตั้ง bind-utils

ปิดการใช้งาน SELinux การใช้และการกำหนดค่าเป็นเรื่องแยกต่างหาก ฉันจะไม่ทำสิ่งนี้ตอนนี้ ลองปิดมันดู:

# mcedit /etc/sysconfig/selinux

เปลี่ยนค่า
SELINUX=ปิดการใช้งาน
เพื่อให้การเปลี่ยนแปลงมีผล ให้รีบูต:

# รีบูต

คุณสามารถปิดการใช้งาน SElinux ได้โดยไม่ต้องรีบูตเครื่อง:

#เซ็ตเทนฟอร์ซ 0

การระบุพารามิเตอร์เครือข่าย

อย่าใช้ daemons การซิงโครไนซ์เวลา - chrony และ ntp - พร้อมกัน เลือกหนึ่งรายการ โดยส่วนตัวแล้วฉันไม่เห็นความแตกต่างใด ๆ เลย ฉันมักจะใช้ ntp ตามปกติ

การเพิ่มที่เก็บข้อมูล

เพื่อติดตั้งซอฟต์แวร์ต่าง ๆ ที่คุณต้องการ ที่ได้รับความนิยมมากที่สุดคือ EPEL และ rpmforge ดังนั้นมาเพิ่มกัน ก่อนอื่นเราติดตั้ง EPEL ทุกอย่างง่ายดายด้วยมันถูกเพิ่มจากแหล่งเก็บข้อมูลมาตรฐาน:

# yum ติดตั้ง epel-release

ติดตั้ง rpmforge:

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt # yum ติดตั้ง http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1 .el7.rf.x86_64.rpm

# ยำติดตั้ง http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

การตั้งค่าที่เก็บข้อมูลประวัติใน bash_history

จะมีประโยชน์หากทำการเปลี่ยนแปลงกลไกมาตรฐานในการบันทึกประวัติคำสั่ง มักจะช่วยได้เมื่อคุณต้องการจำคำสั่งใดคำสั่งหนึ่งที่ป้อนไว้ก่อนหน้านี้ การตั้งค่ามาตรฐานมีข้อจำกัดบางประการที่ไม่สะดวก นี่คือรายการของพวกเขา:

  1. ตามค่าเริ่มต้น ระบบจะบันทึกเฉพาะ 1,000 คำสั่งสุดท้ายเท่านั้น หากมีมากกว่าอันเก่าจะถูกลบและแทนที่ด้วยอันใหม่
  2. ไม่มีวันที่ดำเนินการสำหรับคำสั่ง มีเพียงรายการคำสั่งตามลำดับการดำเนินการ
  3. ไฟล์รายการคำสั่งได้รับการอัปเดตหลังจากสิ้นสุดเซสชัน ในระหว่างเซสชันแบบขนาน คำสั่งบางคำสั่งอาจสูญหาย
  4. บันทึกคำสั่งทั้งหมดอย่างแน่นอน แม้ว่าบางคำสั่งจะไม่มีประโยชน์ก็ตาม

รายการคำสั่งที่ดำเนินการล่าสุดจะถูกจัดเก็บไว้ในโฮมไดเร็กตอรี่ของผู้ใช้ในไฟล์ .bash_history(จุดที่จุดเริ่มต้น) คุณสามารถเปิดด้วยโปรแกรมแก้ไขใดก็ได้และดูได้ หากต้องการแสดงรายการให้สะดวกยิ่งขึ้น คุณสามารถป้อนคำสั่งในคอนโซล:

#ประวัติศาสตร์

และดูรายการลำดับเลข คุณสามารถค้นหาคำสั่งเฉพาะได้อย่างรวดเร็วโดยใช้การกรองเท่านั้น เส้นที่ต้องการตัวอย่างเช่น:

#ประวัติศาสตร์ | เยี่ยมเลย

ดังนั้นเราจะเห็นตัวเลือกการเปิดตัวทั้งหมด คำสั่งยำซึ่งถูกเก็บไว้ในประวัติศาสตร์ เราจะแก้ไขข้อบกพร่องที่ระบุไว้ การตั้งค่ามาตรฐานการจัดเก็บประวัติคำสั่งใน CentOS 7 ในการดำเนินการนี้คุณต้องแก้ไขไฟล์ .bashrcซึ่งอยู่ในไดเร็กทอรีเดียวกันกับไฟล์ประวัติ เพิ่มบรรทัดต่อไปนี้ลงไป:

ส่งออก HISTSIZE=10,000 ส่งออก HISTTIMEFORMAT="%h %d %H:%M:%S " PROMPT_COMMAND="history -a" ส่งออก HISTIGNORE="ls:ll:history:w:htop"

ตัวเลือกแรกจะเพิ่มขนาดไฟล์เป็น 10,000 บรรทัด คุณสามารถทำมากกว่านี้ได้ แม้ว่าปกติขนาดนี้จะเพียงพอแล้วก็ตาม พารามิเตอร์ที่สองระบุว่าควรจัดเก็บวันที่และเวลาที่ดำเนินการคำสั่ง บรรทัดที่สามจะบังคับทันทีหลังจากดำเนินการคำสั่งเพื่อบันทึกลงในประวัติ ในบรรทัดสุดท้าย เราสร้างรายการข้อยกเว้นสำหรับคำสั่งเหล่านั้นที่ไม่จำเป็นต้องบันทึกไว้ในประวัติ ฉันยกตัวอย่างรายการที่ง่ายที่สุด คุณสามารถเพิ่มได้ตามดุลยพินิจของคุณ

หากต้องการใช้การเปลี่ยนแปลง คุณต้องออกจากระบบและเชื่อมต่ออีกครั้งหรือรันคำสั่ง:

# แหล่งที่มา ~/.bashrc

อัพเดตระบบอัตโนมัติ

เพื่อรักษาความปลอดภัยของเซิร์ฟเวอร์ในระดับที่เหมาะสม อย่างน้อยที่สุดจำเป็นต้องอัปเดตเซิร์ฟเวอร์ให้ทันเวลา - เช่นเดียวกับเคอร์เนลเอง สาธารณูปโภคของระบบตลอดจนแพ็คเกจอื่นๆ คุณสามารถทำได้ด้วยตนเอง แต่เพื่อการทำงานที่มีประสิทธิภาพยิ่งขึ้น การดำเนินการตามปกติโดยอัตโนมัติจะดีกว่า ไม่จำเป็นต้องติดตั้งการอัปเดตโดยอัตโนมัติ แต่อย่างน้อยก็ตรวจสอบการอัปเดตเหล่านั้น ฉันมักจะทำตามกลยุทธ์นี้

สำหรับ ตรวจสอบอัตโนมัติยูทิลิตี้นี้จะช่วยให้เราอัปเดต ยำ-cron- มันถูกติดตั้งแบบดั้งเดิมผ่าน yum จากพื้นที่เก็บข้อมูลมาตรฐาน

# yum ติดตั้ง yum-cron

หลังจากการติดตั้งจะถูกสร้างขึ้น งานอัตโนมัติเพื่อดำเนินการยูทิลิตี้ใน /etc/cron.dailyและ /etc/cron.hourly- ตามค่าเริ่มต้น ยูทิลิตีจะดาวน์โหลดพบการอัพเดต แต่จะไม่สามารถใช้งานได้ ให้เป็นผู้ดูแลระบบภายในเครื่องแทน ตู้ไปรษณีย์การแจ้งเตือนการอัพเดตจะถูกส่งไปยังรูท ถ้าอย่างนั้นคุณก็เข้าแล้ว โหมดแมนนวลเข้ามาตัดสินใจว่าจะติดตั้งอัพเดตตามเวลาที่สะดวกสำหรับคุณหรือไม่ ฉันพบว่าโหมดการทำงานนี้สะดวกที่สุด ดังนั้นฉันจึงไม่เปลี่ยนการตั้งค่าเหล่านี้

ไฟล์การกำหนดค่า yum-cron อยู่ที่ /etc/yum/yum-cron.confและ yum-cron-hourly.conf- พวกเขาแสดงความคิดเห็นได้ดีดังนั้นใน คำอธิบายโดยละเอียดไม่ต้องการมัน ฉันดึงความสนใจของคุณไปที่ส่วนนี้ ซึ่งคุณสามารถระบุพารามิเตอร์สำหรับการส่งข้อความได้ ตามค่าเริ่มต้น เมลจะถูกส่งผ่านโลคัลโฮสต์ คุณสามารถเปลี่ยนการตั้งค่าได้ที่นี่และส่งข้อความผ่านบุคคลที่สาม เมลเซิร์ฟเวอร์- แต่โดยส่วนตัวแล้วฉันชอบกำหนดค่าการส่งต่อทั่วโลกสำหรับเซิร์ฟเวอร์ทั้งหมดแทน จดหมายท้องถิ่นรูทไปยังกล่องจดหมายภายนอกผ่านการอนุญาตบนเซิร์ฟเวอร์ smtp อื่น

ปิดใช้งานการฟลัดข้อความใน /var/log/messages

ในการติดตั้งเริ่มต้นของระบบ CentOS 7 บันทึกระบบทั้งหมดของคุณ /var/log/messagesหลังจากนั้นครู่หนึ่งเซิร์ฟเวอร์จะอุดตันด้วยบันทึกต่อไปนี้

16 ต.ค. 14:01:01 xs-files systemd: สร้างผู้ใช้สไลซ์-0.slice 16 ต.ค. 14:01:01 xs-files systemd: กำลังเริ่มต้น user-0.slice 16 ต.ค. 14:01:01 xs-files systemd: เริ่มเซสชัน 14440 ของรูทผู้ใช้ 16 ต.ค. 14:01:01 xs-files systemd: เริ่มต้นเซสชัน 14440 ของรูทผู้ใช้ 16 ต.ค. 14:01:01 xs-files systemd: ลบสไลซ์ user-0.slice ออก 16 ต.ค. 14:01:01 xs-files systemd: หยุด user-0.slice 16 ต.ค. 15:01:01 xs-files systemd: สร้างสไลซ์ user-0.slice 16 ต.ค. 15:01:01 xs-files systemd: กำลังเริ่มต้น user-0.slice 16 ต.ค. 15:01:01 xs-files systemd: เริ่มเซสชัน 14441 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: เริ่มต้นเซสชัน 14441 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: เริ่มเซสชัน 14442 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: เริ่มต้นเซสชัน 14442 ของรูทผู้ใช้ 16 ต.ค. 15:01:01 xs-files systemd: ลบสไลซ์ user-0.slice ออก 16 ต.ค. 15:01:01 xs-files systemd: หยุด user-0.slice 16 ต.ค. 16:01:01 xs-files systemd: สร้างสไลซ์ user-0.slice 16 ต.ค. 16:01:01 xs-files systemd: กำลังเริ่มต้น user-0.slice 16 ต.ค. 16:01:01 xs-files systemd: เริ่มเซสชัน 14443 ของรูทผู้ใช้ 16 ต.ค. 16:01:01 xs-files systemd: เริ่มต้นเซสชัน 14443 ของรูทผู้ใช้ 16 ต.ค. 16:01:01 xs-files systemd: ลบสไลซ์ user-0.slice ออก

พวกมันไม่มีประโยชน์อะไร ดังนั้นเรามาปิดมันกันดีกว่า ในการทำเช่นนี้ เราจะสร้างกฎแยกต่างหากสำหรับ rsyslog โดยเราจะแสดงรายการเทมเพลตข้อความทั้งหมดที่เราจะตัด มาวางกฎนี้ในไฟล์แยกต่างหาก /etc/rsyslog.d/ignore-systemd-session-slice.conf.

# cd /etc/rsyslog.d && mcedit allowance-systemd-session-slice.conf ถ้า $programname == "systemd" และ ($msg มี "Starting Session" หรือ $msg มี "Started Session" หรือ $msg มี "Created" ชิ้น" หรือ $msg มี "ผู้ใช้เริ่มต้น-" หรือ $msg มี "ชิ้นส่วนผู้ใช้เริ่มต้นของ" หรือ $msg มี "เซสชันที่ถูกลบ" หรือ $msg มี "ชิ้นส่วนผู้ใช้ที่ถูกลบออก" หรือ $msg มี "การหยุดชิ้นส่วนผู้ใช้ของ" ) จากนั้นหยุด

บันทึกไฟล์และรีสตาร์ท rsyslog เพื่อใช้การตั้งค่า

# systemctl รีสตาร์ท rsyslog

มีความจำเป็นต้องเข้าใจว่าในกรณีนี้เราจะปิดการใช้งานฟลัดในไฟล์บันทึกเท่านั้น เซิร์ฟเวอร์ท้องถิ่น- หากคุณเก็บล็อกออนไว้ กฎนี้คุณจะต้องกำหนดค่ามัน

การติดตั้ง iftop, atop, htop, lsof บน CentOS 7

และสุดท้ายเรามาเพิ่มบางส่วนกัน สาธารณูปโภคที่เป็นประโยชน์ซึ่งอาจเป็นประโยชน์ระหว่างการทำงานของเซิร์ฟเวอร์

iftop แสดงการโหลดอินเทอร์เฟซเครือข่ายแบบเรียลไทม์ ซึ่งสามารถเปิดใช้งานได้จาก ปุ่มที่แตกต่างกันฉันจะไม่พูดถึงรายละเอียดนี้โดยละเอียดมีข้อมูลในหัวข้อนี้บนอินเทอร์เน็ต เราใส่:

#ยำติดตั้ง iftop

และตัวจัดการงานที่น่าสนใจสองตัว ฉันมักใช้ htop บ่อยที่สุด แต่บางครั้งบนยอดก็มีประโยชน์ มาติดตั้งทั้งสองอย่าง ดูด้วยตัวคุณเอง ค้นหาว่าคุณชอบอะไรมากที่สุด อะไรที่เหมาะกับคุณ:

# yum -y ติดตั้ง htop # yum -y ติดตั้งบนยอด

นี่คือลักษณะของ htop:

หากต้องการแสดงข้อมูลเกี่ยวกับไฟล์ที่ใช้โดยกระบวนการใดฉันขอแนะนำให้คุณติดตั้งยูทิลิตี้นี้ lsof- มีแนวโน้มว่าจะมีประโยชน์ไม่ช้าก็เร็วเมื่อคุณวิเคราะห์เซิร์ฟเวอร์

# yum ติดตั้ง wget bzip2 Traceroute gdisk

นั่นคือทั้งหมดสำหรับฉัน ขั้นพื้นฐาน การตั้งค่า CentOS 7 เสร็จสิ้น คุณสามารถเริ่มการติดตั้งและกำหนดค่าฟังก์ชันการทำงานหลักได้

การตั้งค่าเมลระบบ

เพื่อเสร็จสิ้นการตั้งค่า เซิร์ฟเวอร์ CentOS 7 เราจะตรวจสอบให้แน่ใจว่าเมลที่ส่งถึงรูทในเครื่องนั้นถูกส่งผ่านเซิร์ฟเวอร์เมลภายนอกไปยังกล่องจดหมายที่เลือก หากยังไม่เสร็จสิ้น ระบบจะคอมไพล์ไฟล์ภายในเครื่อง /var/spool/mail/root- และอาจมีเรื่องสำคัญ ข้อมูลที่เป็นประโยชน์- มากำหนดค่าให้ส่งไปยังกล่องจดหมายของผู้ดูแลระบบ

ฉันพูดคุยเกี่ยวกับเรื่องนี้โดยละเอียดในบทความแยกต่างหาก - นี่เป็นเพียงคำสั่งและ การตั้งค่าอย่างรวดเร็ว- เราใส่ แพ็คเกจที่จำเป็น:

# yum ติดตั้ง mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

มาวาดคอนฟิกแบบนี้สำหรับ postfix กัน

Cat /etc/postfix/main.cf ## การกำหนดค่าเริ่มต้นเริ่มต้น ###################### Que_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = localhost inet_protocols =known_local_recipient_reject_code ทั้งหมด = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger _command = เส้นทาง =/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & สลีป 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin / newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = ไม่มี manpage_directory = /usr/share/man Sample_directory = /usr/share/doc/postfix-2.10.1/samples readme_directory = /usr/share / doc/postfix-2.10.1/README_FILES ## การกำหนดค่าเริ่มต้น END ###################### # ชื่อเซิร์ฟเวอร์เป็นเอาต์พุตโดยคำสั่ง ชื่อโฮสต์ myhostname = centos7- ทดสอบ xs.local # ที่นี่ตามตรรกะคุณต้องเหลือเพียงโดเมน แต่ในกรณีนี้ จะดีกว่าถ้าทิ้งชื่อเต็มของเซิร์ฟเวอร์ เพื่อให้ฟิลด์ผู้ส่ง # รวมชื่อเต็มของเซิร์ฟเวอร์ สิ่งนี้ทำให้ สะดวกกว่าในการแยกวิเคราะห์ข้อความบริการ mydomain = centos7-test.xs.local mydestination = $myhostname myorigin = $mydomain # ที่อยู่เซิร์ฟเวอร์ซึ่งเราจะส่งอีเมล Relayhost = mailsrv.mymail.ru:25 smtp_use_tls = ใช่ smtp_sasl_auth_enable = ใช่ smtp_sasl_password_maps = hash :/etc/postfix/sasl_passwd smtp_sasl_security_options = tls_security_level ที่ไม่ระบุชื่อ = พฤษภาคม

เราสร้างไฟล์พร้อมข้อมูลเกี่ยวกับชื่อผู้ใช้และรหัสผ่านเพื่อการอนุญาต

# mcedit /etc/postfix/sasl_passwd mailsrv.mymail.ru:25 [ป้องกันอีเมล]:รหัสผ่าน

สร้างไฟล์ DB

# postmap /etc/postfix/sasl_passwd

ตอนนี้คุณสามารถรีสตาร์ท postfix และตรวจสอบว่าใช้งานได้หรือไม่

# systemctl รีสตาร์ท postfix

ไปยังนามแฝงมาตรฐานสำหรับการรูทใน /etc/นามแฝงให้เพิ่มที่อยู่ภายนอกซึ่งอีเมลที่ส่งถึงรูทจะถูกทำซ้ำ การทำเช่นนี้เราแก้ไข ไฟล์ที่ระบุ, เปลี่ยนบรรทัดสุดท้าย

#root:มาร์ค

ราก: ราก, [ป้องกันอีเมล]

การอัพเดตฐานข้อมูลใบรับรอง:

#นามแฝงใหม่

มาส่งจดหมายผ่านคอนโซลไปยังรูทในเครื่อง:

# df -h | mail -s รูท "การใช้งานดิสก์"

จดหมายควรจะไปที่ ลิ้นชักด้านนอก- นี่เป็นการเสร็จสิ้นการตั้งค่าเมลในเครื่อง ตอนนี้จดหมายทั้งหมดที่ส่งถึงรูทในเครื่อง เช่น รายงานจาก cron จะถูกทำซ้ำไปยังกล่องจดหมายภายนอก และส่งผ่านเซิร์ฟเวอร์เมลปกติ ดังนั้นจดหมายจะถูกส่งตามปกติ โดยไม่กลายเป็นสแปม (ถึงแม้จะไม่จำเป็น แต่ก็มีตัวกรองการศึกษาสำนึกด้วย)

บทสรุป

เราได้ทำตามขั้นตอนเบื้องต้นในการตั้งค่าเซิร์ฟเวอร์ CentOS 7 ซึ่งเป็นสิ่งที่ฉันมักจะทำเมื่อเตรียมเซิร์ฟเวอร์ ฉันไม่เสแสร้งว่าเป็นความจริงเด็ดขาด ฉันอาจพลาดบางสิ่งบางอย่างหรือทำบางอย่างที่ไม่ถูกต้องทั้งหมด ฉันยินดีที่จะแสดงความคิดเห็นและข้อเสนอแนะที่สมเหตุสมผลและมีความหมาย

จะมีประโยชน์ในการเชื่อมต่อเซิร์ฟเวอร์กับระบบตรวจสอบทันทีหลังจากการตั้งค่าพื้นฐาน หรือตั้งค่าหากคุณยังไม่มี ฉันมีบทความโดยละเอียดเกี่ยวกับการตั้งค่าการตรวจสอบ:

  1. หรือเท่านั้น การเชื่อมต่อเซนโตสเพื่อตรวจสอบโดยการติดตั้งตัวแทนบนนั้น
  2. ในส่วนแยกต่างหากของผู้เขียน

บทความวันนี้จัดทำขึ้นโดยเฉพาะสำหรับผู้เริ่มต้นที่เพิ่งเริ่มทำความคุ้นเคยกับห้องผ่าตัด ระบบเซนโอเอส- ในบทความนี้ เราได้รวบรวมคำสั่ง 20 อันดับแรกที่จะมีประโยชน์ในการทำงานประจำวัน การจัดการเซิร์ฟเวอร์ และการแก้ไขปัญหาเบื้องต้น

ทีม

  • เริ่มต้นด้วย การแก้ไขไฟล์กด O
  • บันทึกกด Esc และ:x!
  • หากต้องการคัดลอกไฟล์ให้ใช้คำสั่ง cp (copy) เป็นตัวอย่าง cp /etc/asterisk/extensions_custom.conf /home/admin/ ดังนั้น ไฟล์ extensions_custom.conf จะถูกเพิ่มในไดเร็กทอรี /home/admin
  • หากต้องการเปลี่ยนเจ้าของไฟล์ให้ใช้ chown (เปลี่ยนเจ้าของ) หากต้องการเปลี่ยนเจ้าของไฟล์ทั้งหมดในไดเร็กทอรี /etc/asterisk ให้เป็นผู้ใช้ เครื่องหมายดอกจันให้คำสั่ง chown –R เครื่องหมายดอกจัน:เครื่องหมายดอกจัน /etc/asterisk
  • หากต้องการให้สิทธิ์บางอย่างแก่ไฟล์ ให้ใช้คำสั่ง chmod ตัวอย่างเช่น ให้สิทธิ์สูงสุดแก่ไฟล์ /etc/asterisk/extensions_custom.conf คำสั่ง chmod 777 /etc/asterisk/extensions_custom.conf .
  • หากต้องการสร้างลิงก์ "สัญลักษณ์" ไปยังไฟล์ ให้ใช้คำสั่ง ln ตัวอย่างเช่น ln –s /storage/test /etc/test สำคัญ!ต้องไม่สร้างไฟล์ /etc/test ก่อนดำเนินการคำสั่ง
  • เพื่อรีบูต บริการที่จำเป็นไดเร็กทอรี /etc/init.d/ ถูกใช้ ตัวอย่างเช่น คำสั่ง /etc/init.d/httpd restart จะรีสตาร์ทเว็บเซิร์ฟเวอร์
  • หากต้องการปิดกระบวนการใดกระบวนการหนึ่ง คุณสามารถใช้ PID ของกระบวนการนั้นได้ หากต้องการค้นหาให้ใช้คำสั่ง ps axu | grep -i เครื่องหมายดอกจัน | grep -v grep ประมวลผล PIDจะอยู่ในคอลัมน์ที่สอง
  • เมื่อคุณทราบ PID ของกระบวนการแล้ว ให้ออกคำสั่ง kill -0 #process_number ตัวอย่างเช่น kill -9 1738 .
  • เพื่อค้นหาว่ากระบวนการใดกัดกินมากที่สุด ทรัพยากรซีพียูใช้คำสั่งบนสุด
  • หากคุณต้องการปรับแต่ง เซิร์ฟเวอร์ DNSจากนั้นทำการเปลี่ยนแปลงไฟล์ /etc/resolv.conf ตัวอย่างเช่น เปิดไฟล์ด้วยคำสั่ง vim /etc/resolv.conf และเพิ่มเซิร์ฟเวอร์ DNS เข้าไป:
    • เนมเซิร์ฟเวอร์ 8.8.8.8
  • เพื่อดูการโหลดระบบปฏิบัติการ หน่วยความจำแรมบน CentOS OS ให้ใช้คำสั่ง free -m ผลลัพธ์จะแสดงเป็นเมกะไบต์ ระบุหน่วยความจำทั้งหมด ใช้ และพื้นที่ว่าง
  • หากต้องการตรวจสอบการใช้หน่วยความจำบนฮาร์ดไดรฟ์ ให้ใช้คำสั่ง df -h คุณจะเห็นปริมาณรวม พื้นที่ว่าง และพื้นที่ว่างด้วย
  • หากต้องการดูขนาดของไดเร็กทอรีเฉพาะให้ใช้คำสั่ง du ตัวอย่างเช่น ในการกำหนดขนาดของไดเร็กทอรี /etc/asterisk/ ให้ใช้ du -sh /etc/asterisk/
  • หากคุณต้องการทราบเวอร์ชันของแพ็คเกจที่ติดตั้ง ให้ใช้คำสั่ง rpm เช่น การตรวจสอบเวอร์ชัน ยำให้คำสั่ง rpm -qa | grep -i yum
  • บ่อยครั้งเราต้องติดตั้ง โปรแกรมต่างๆ- ตามค่าเริ่มต้น ระบบจะมีเฉพาะสิ่งที่จำเป็นเท่านั้น และหากคุณต้องการสิ่งใดเป็นพิเศษ คุณจะต้องติดตั้งโปรแกรมด้วยตนเอง การติดตั้งโปรแกรม Linux นั้นง่ายกว่าการติดตั้ง Windows ในบางวิธี ส่วนใหญ่ที่นี่ โปรแกรมที่จำเป็นตั้งอยู่ในพื้นที่เก็บข้อมูลอย่างเป็นทางการ และหากต้องการติดตั้งหรืออัปเดต เพียงเรียกใช้คำสั่งเพียงไม่กี่คำสั่ง

    ในบทความนี้เราจะดูวิธีการติดตั้งแพ็คเกจ CentOS 7 มาดูพื้นฐานการทำงานกับตัวจัดการแพ็คเกจ yum ความสามารถของมัน การค้นหาและการแก้ไขการขึ้นต่อกันของแพ็คเกจ

    YUM (Yellowdog Updater Modified) เป็นตัวจัดการแพ็คเกจโอเพ่นซอร์ส ซอร์สโค้ดพัฒนาโดย RedHat เพื่อทำงานกับแพ็คเกจในรูปแบบ RPM อนุญาตให้ผู้ใช้และผู้ดูแลระบบสามารถติดตั้ง ถอนการติดตั้ง และอัปเดตแพ็คเกจบนระบบที่ใช้ RedHat

    โปรแกรมนี้เผยแพร่ภายใต้ ใบอนุญาต GPL(ใบอนุญาตสาธารณะทั่วไป) และผู้ใช้ใด ๆ สามารถเข้าถึงแหล่งที่มาหรือปรับปรุงโค้ดได้ ผู้จัดการแพ็คเกจรองรับการเชื่อมต่อที่เก็บข้อมูลของบุคคลที่สามและแก้ไขการพึ่งพาสำหรับการติดตั้งแพ็คเกจ สามารถดาวน์โหลดปลั๊กอินต่างๆ เพื่อปรับปรุงประสิทธิภาพของ Yum ได้

    ยูทิลิตี้นี้ทำงานในคอนโซลและไวยากรณ์ของมันง่ายมาก:

    $ sudo yum คำสั่งตัวเลือก package_name

    ขั้นแรก มาดูคำสั่งพื้นฐานของตัวจัดการแพ็คเกจ:

    • ติดตั้ง- ติดตั้งแพ็คเกจ;
    • อัปเดต- อัพเดตแพ็คเกจหรือระบบ
    • อัปเดตเป็น- อัปเดตแพ็คเกจเป็นเวอร์ชัน
    • อัปเดตน้อยที่สุด- อัปเดตเฉพาะการแก้ไขข้อบกพร่องเท่านั้น
    • อัพเกรด- อัปเดตแบบเต็มพร้อมการประมวลผลคุณสมบัติเพิ่มเติมของแพ็คเกจและการขึ้นต่อกัน
    • distro-ซิงค์- ซิงโครไนซ์สถานะของระบบหรือแพ็กเกจกับที่เก็บ ตัวอย่างเช่น หากติดตั้งแพ็กเกจเวอร์ชัน 4 แต่มีเพียงเวอร์ชัน 3 ในที่เก็บ เวอร์ชันนั้นจะถูกดาวน์เกรด
    • ลบ- ลบแพ็คเกจ;
    • ลบอัตโนมัติ- ทำความสะอาดแพ็คเกจที่ไม่จำเป็น
    • รายการ- แสดงรายการแพ็คเกจ
    • จัดเตรียมให้- ค้นหาแพ็คเกจตามฟังก์ชันการทำงาน
    • ค้นหา- ค้นหาแพ็คเกจตามชื่อ
    • ข้อมูล- ข้อมูลเกี่ยวกับแพ็คเกจ
    • ทำความสะอาด- ล้างแคชตัวจัดการแพ็คเกจ
    • กลุ่ม- การจัดการกลุ่มแพ็คเกจ
    • ติดตั้งใหม่- ติดตั้งแพ็คเกจใหม่
    • ปรับลดรุ่น- ดาวน์เกรดเวอร์ชันแพ็คเกจ
    • ออกจากรายการ- แสดงการขึ้นต่อกันของแพ็คเกจทั้งหมด
    • ทำซ้ำ- แสดงรายการที่เก็บ;
    • fssnapshot- การจัดการสแน็ปช็อตสถานะระบบ
    • ตรวจสอบ- ตรวจสอบฐานข้อมูลแพ็คเกจเพื่อความสมบูรณ์

    มาดูกันดีกว่า ตัวเลือกเพิ่มเติมซึ่งคุณอาจต้องการเมื่อติดตั้ง CentOS rpm:

    • -y- ตอบคำถามของยูทิลิตี้ด้วยการยืนยันเสมอ
    • -คิว- ผลผลิตขั้นต่ำ;
    • -v- เอาต์พุตสูงสุด
    • -กับ- ทำงานจากแคช
    • -x- ละเว้นแพ็คเก็ต

    ตอนนี้คุณรู้คุณสมบัติหลักทั้งหมดของยูทิลิตี้แล้วลองดูตัวอย่างการทำงานด้วย

    การติดตั้งแพ็คเกจบน CentOS 7

    ก่อนดำเนินการติดตั้งแพ็คเกจ CentOS คุณต้องอัปเดตรายการที่เก็บและระบบเป็นเวอร์ชันล่าสุด มีคำสั่งสำหรับสิ่งนี้:

    การติดตั้งแพ็คเกจ CentOS

    หากต้องการติดตั้งแพ็คเกจที่อยู่ในที่เก็บข้อมูลอย่างเป็นทางการ คุณเพียงแค่ต้องใช้คำสั่งติดตั้ง เพียงพิมพ์คำสั่งนี้และชื่อแพ็คเกจ เช่น Firefox:

    sudo yum ติดตั้งธันเดอร์เบิร์ด

    ระหว่างการติดตั้ง คุณจะต้องยืนยันว่าคุณต้องการติดตั้งโปรแกรมนี้โดยกดปุ่ม y เพื่อหลีกเลี่ยงปัญหานี้ ให้ใช้ตัวเลือก -y:

    sudo yum -y ติดตั้งธันเดอร์เบิร์ด

    หากต้องการดูข้อมูลเกี่ยวกับแพ็คเกจที่ติดตั้งให้ใช้คำสั่งข้อมูล:

    ข้อมูล sudo yum ธันเดอร์เบิร์ด

    หากต้องการลบแพ็คเกจ ให้ใช้คำสั่งลบ:

    sudo yum ลบธันเดอร์เบิร์ด

    ค้นหาแพ็คเกจ CentOS

    เราไม่ทราบชื่อที่แน่นอนของแพ็คเกจทั้งหมด แต่ yum รองรับคุณสมบัติการค้นหาที่จะช่วยให้คุณทราบว่าควรติดตั้งแพ็คเกจ CentOS 7 ใด มีคำสั่งค้นหาสองคำสั่ง อย่างแรกคือการค้นหา - ช่วยให้คุณค้นหาแพ็คเกจตามชื่อ:

    sudo yum ค้นหา mysql

    อย่างที่สองช่วยให้คุณค้นหาแพ็คเกจที่ต้องการโดยใช้คำสั่งที่คุณต้องการในบางกรณีอาจสะดวกมาก:

    sudo yum ให้ lspci

    ตอนนี้คุณรู้แล้วว่าแพ็คเกจใดที่จำเป็นและการติดตั้ง แพ็คเกจรอบต่อนาที CentOS 7 สามารถดำเนินการให้เสร็จสิ้นได้อย่างรวดเร็ว และคุณไม่จำเป็นต้องเปิดฟอรัมมากมายเพื่อค้นหาข้อมูล

    กลุ่มแพ็คเกจ CentOS

    กลุ่มแพ็คเกจก็เพียงพอแล้ว เครื่องมือที่มีประโยชน์- ด้วยคุณไม่สามารถติดตั้งแพ็คเกจทีละชุด แต่ติดตั้งทั้งกลุ่มในคราวเดียว ดูรายชื่อกลุ่มที่มีอยู่ก่อน:

    รายการกลุ่ม sudo yum

    ข้อมูลกลุ่ม sudo yum "เว็บเซิร์ฟเวอร์มาตรฐาน"

    แล้ว. เพื่อติดตั้งกลุ่มแพ็คเกจประเภท:

    กลุ่ม sudo yum ติดตั้ง "เว็บเซิร์ฟเวอร์มาตรฐาน"

    ในทำนองเดียวกัน คุณสามารถอัพเดตกลุ่มแพ็คเกจโดยไม่ต้องอัพเดตทั้งระบบ:

    อัปเดตกลุ่ม sudo yum "เว็บเซิร์ฟเวอร์มาตรฐาน"

    หรือลบ:

    กลุ่ม sudo yum ลบ "เว็บเซิร์ฟเวอร์มาตรฐาน"

    ที่เก็บแพ็คเกจ CentOS

    แพ็คเกจที่จำเป็นบางส่วนนั้นไม่มีอยู่ในที่เก็บข้อมูลอย่างเป็นทางการ หากพบโปรแกรมเซิร์ฟเวอร์ที่นั่นได้โดยไม่ยาก ปัญหาจะเกิดขึ้นกับโปรแกรมเดสก์ท็อปซึ่งเป็นตัวแปลงสัญญาณเดียวกัน จำเป็นต้องติดตั้งจากที่เก็บของบุคคลที่สาม

    ที่เก็บใน CentOS จะไม่ถูกเพิ่มผ่านทาง ไฟล์การกำหนดค่าจะถูกติดตั้งโดยการดาวน์โหลดและติดตั้ง ไฟล์รอบต่อนาทีพื้นที่เก็บข้อมูล ตัวอย่างเช่น หนึ่งในที่เก็บของบุคคลที่สามที่ใช้กันมากที่สุดคือ EPEL ตัวติดตั้งอยู่ในพื้นที่เก็บข้อมูลอย่างเป็นทางการ ดังนั้นหากต้องการเชื่อมต่อ ให้รัน:

    sudo yum ติดตั้ง epel-release

    แต่สถานการณ์นี้ไม่ได้เกิดขึ้นกับที่เก็บข้อมูลทั้งหมด ส่วนใหญ่จะเก็บไฟล์การติดตั้งไว้เอง ตัวอย่างเช่น พื้นที่เก็บข้อมูลที่มีซอฟต์แวร์มัลติมีเดีย nux ต่างๆ จะได้รับการติดตั้งต่างกัน ขั้นแรกคุณต้องดาวน์โหลดไฟล์พื้นที่เก็บข้อมูลจากลิงก์ อย่าลืมดาวน์โหลดเวอร์ชันล่าสุด ไม่เช่นนั้นจะไม่มีอะไรทำงาน

    ตัวอย่างเช่นบน ในขณะนี้ใหม่ล่าสุด

    รับ http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

    จากนั้นติดตั้งแพ็คเกจที่ดาวน์โหลดมาโดยใช้ yum:

    sudo yum ติดตั้ง nux-dextop-release-0-5.el7.nux.noarch.rpm

    จากนั้นอัพเดตรายการที่เก็บและคุณสามารถติดตั้งแพ็คเกจได้:

    sudo yum ติดตั้ง vlc

    ดูรายชื่อที่เก็บ:

    sudo yum repolist

    พื้นที่เก็บข้อมูลที่มีอยู่ทั้งหมดจะแสดงที่นี่ หากต้องการลบที่เก็บ การลบแพ็กเกจก็เพียงพอแล้ว

    การติดตั้งโปรแกรม CentOS ใน GUI

    หากคุณไม่ชอบใช้เทอร์มินัล การติดตั้งโปรแกรม CentOS 7 ก็สามารถทำได้ผ่านอินเทอร์เฟซแบบกราฟิก แต่มีความเป็นไปได้น้อยกว่าในเทอร์มินัลมาก ใช้ยูทิลิตี้ "โปรแกรม"ซึ่งอยู่ในเมนูหลัก: