Score:0

วิธีลบแพ็คเกจ/ซอฟต์แวร์อย่างปลอดภัยซึ่งไม่ได้ติดตั้งผ่านตัวจัดการแพ็คเกจ

ธง in

ฉันมีการติดตั้ง Ubuntu Linux 20 เก่า ฉันเพิ่งพบว่าฉันมีซอฟต์แวร์หลายตัวที่ฉันติดตั้งก่อนที่ฉันจะเริ่มใช้การจัดการแพ็คเกจอย่างเต็มรูปแบบ และฉันจำรายละเอียดของการติดตั้งไม่ได้ ฉันพยายามผ่าน ฉลาด แต่มันบอกว่าไม่ได้ติดตั้งแพ็คเกจเหล่านั้น

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

ฉันพบกระบวนการ "ซ้ำซ้อน"/ไม่รู้จักต่อไปนี้:

  • elasticsearch, "/usr/share/elasticsearch/jdk/bin/java" จากผู้ใช้ ส่งข้อความ (ขออภัย ดูเหมือนชื่อจะถูกตัดแต่ง)
  • "/usr/bin/mono /usr/lib/hyperfastcgi/4.0/..." จากผู้ใช้ syslog
  • mysqld จากผู้ใช้ ระบบดี-ซี
  • "/usr/bin/mono /usr/lib/mono/4.5/mono-service.exe" จากผู้ใช้ syslog

อันที่จริง ฉันมีคำถามสามข้อ:

  1. ปลอดภัยไหมที่จะลบโฟลเดอร์ที่มีไบนารีสำหรับซอฟต์แวร์นี้และสิ่งอื่นๆ ทั้งหมด?
  2. ฉันจะระบุได้อย่างไรว่าได้รับการกำหนดค่าให้เริ่มต้นเมื่อเริ่มต้นระบบที่ใด
  3. มีอะไรอีกบ้างที่ฉันควรรู้/ทำเพื่อความปลอดภัยในการลบออก

ขอบคุณ!

Michael avatar
sa flag
ฉันต้องการสนับสนุนการโหวตคำถามนี้ นี่เป็นสถานการณ์ทั่วไปสำหรับผู้ที่เพิ่งเริ่มต้นและเริ่มเรียนรู้การดูแลระบบอย่างจริงจัง แต่จำเป็นต้องล้างข้อมูลที่พวกเขาทิ้งไว้ ควรสนับสนุนให้ทำการล้างข้อมูลดังกล่าว
Score:2
ธง cn
Bob

ปลอดภัยไหมที่จะลบโฟลเดอร์ที่มีไบนารี่สำหรับกระบวนการนี้และสิ่งอื่นๆ ทั้งหมด?

ใช่. ไม่อาจจะ

ขึ้นอยู่กับว่าผู้ขายตั้งใจให้แอปพลิเคชันปรับใช้อย่างไร และผู้ดูแลระบบทำอะไรเมื่อทำการติดตั้ง

แอปพลิเคชั่นบางตัว (และการขึ้นต่อกันทั้งหมด) จะถูกปรับใช้ในไดเร็กทอรีย่อยของตัวเอง ซึ่งอาจเป็นแฟลตไดเร็กทอรีเดียวหรือทรีไดเร็กทอรีย่อยขนาดใหญ่ ซึ่งมักจะเลียนแบบระบบไฟล์รูทของ Linux ทั่วไป เช่น ด้วย เป็นต้น ไดเร็กทอรีย่อยที่มีไฟล์คอนฟิกูเรชัน [s]ถังขยะ สำหรับไบนารี ก วาร์ ไดเรกทอรีย่อยที่มีข้อมูล ฯลฯ เป็นต้น

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

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

ฉันจะระบุได้อย่างไรว่าได้รับการกำหนดค่าให้เริ่มต้นเมื่อเริ่มต้นระบบที่ใด

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

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

แล้วยังมีบางวิธีที่ "คลุมเครือ" มากขึ้น เช่น บางคนชอบใช้ @รีบูต ข้อกำหนดการประทับเวลา cron เพื่อให้ cron (re) เริ่มบริการหลังจากรีบูต

พีสทรี -a

systemd --switched-root --system --deserialize 22
  ââ/usr/bin/สแปม
  â ââลูกสแปม
  â ââลูกสแปม
  ââagetty --noclear tty1 ลินุกซ์
  ââatd -ฉ
  ââตรวจสอบ
  â ââ{ตรวจสอบบัญชี}
  ââchronyd
  ââcrond -n
  ââdbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-การเปิดใช้งาน
  â ââ{ดีบัส-ภูต}
  ââdhclient -1 -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid -H เซิร์ฟเวอร์ eth0
  ââโดเวคอต
  â ââทั่ง
  â ââรับรองความถูกต้อง
  â ââกำหนดค่า
  â ââไอแมป
  â ââimap-เข้าสู่ระบบ
  â ââบันทึก
  ââfail2ban-server -s /usr/bin/fail2ban-server -xf เริ่มต้น
  â ââ8*[{fail2ban-เซิร์ฟเวอร์}]
  ââfirewalld -Es /usr/sbin/firewalld --nofork --nopid
  â ââ{ไฟร์วอลล์}
  ââhttpd -DFOREGROUND
  â ââhttpd -DFOREGROUND
  â ââhttpd -DFOREGROUND
  â âârotatelogs -l /var/log/httpd/error_log.%Y.%m 86400
  â âârotatelogs -l /var/log/httpd/access_log.%Y.%m 86400
  ââมาสเตอร์ -ว
  â ââanvil -l -t ยูนิกซ์ -u
  â ââปิ๊กอัพ -l -t ยูนิกซ์ -u
  â ââproxymap -t ยูนิกซ์ -u
  â ââqmgr -l -t ยูนิกซ์ -u
  â ââsmtpd -n smtp -t inet -u -o ความเครียด= -s 2
  â ââtlsmgr -l -t ยูนิกซ์ -u
  ââมม
  â ââ85*[{mms}]

กระบวนการ "ต้นแบบ" ในรายการ pstree นั้นเป็นตัวอย่างที่ดี ชื่อกระบวนการแปลก ๆ นั้นเป็น postfix ที่เริ่มต้นจากหน่วย postfix.service systemd ที่จะพบได้ง่ายกว่าใน สถานะ systemctl เอาต์พุต:

       ââsystem.slice
         ââpostfix.service
         â ââ 1110 /usr/libexec/postfix/master -w
         â ââ 1112 qmgr -l -t ยูนิกซ์ -u
         â ââ 1121 tlsmgr -l -t ยูนิกซ์ -u
         â ââ11508 รถกระบะ -l -t ยูนิกซ์ -u
         ââspamas-milter.service
         â ââ1032 /usr/sbin/spamass-milter -g postfix -p /run/spamass-milter/postfix/sock

มีอะไรอีกบ้างที่ฉันควรรู้/ทำเพื่อความปลอดภัยในการลบออก

ระบุวิธีการเริ่มบริการและการหยุดบริการมักเป็นแนวทางแรกที่ดี

จากนั้นทำนิสัยที่จะไม่ติดตั้งสิ่งต่าง ๆ จากแหล่งที่มา แต่ใช้ตัวจัดการแพ็คเกจหรือเช่นสแน็ปหรือเรียกใช้คอนเทนเนอร์

Michael avatar
sa flag
Bob ฉันชอบคำตอบของคุณ แต่คุณช่วยแสดงความคิดเห็นได้ไหมว่าหลังจากลบซอฟต์แวร์แล้ว @GeraldIstar ควรดูบันทึกและข้อความเริ่มต้นเพื่อดูว่ามีข้อผิดพลาดหรือไม่ และหากมีควรตรวจสอบ อาจคุ้มค่าที่จะเปลี่ยนชื่อไดเร็กทอรีด้วยซอฟต์แวร์ จากนั้นดูที่บันทึกเพื่อค้นหาว่าปัญหาใดเป็นสาเหตุ จากนั้นจึงลบการอ้างอิงไปยังซอฟต์แวร์ออก
Score:2
ธง sa

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

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

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

Score:2
ธง sa

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

sudo dpkg --ตรวจสอบ

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

โพสต์คำตอบ

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