Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

4
uname เสีย: ฉันจะตรวจสอบเคอร์เนลที่ใช้งานอยู่ในปัจจุบันได้อย่างไร?
> uname -r FATAL: kernel too old > cat /proc/cmdline FATAL: kernel too old มี 3 * .vmlinuz-linux ไฟล์ใน / boot ฉันจะตรวจสอบว่าเคอร์เนลใดกำลังทำงานอยู่ในปัจจุบัน? โปรดทราบว่าฉันกำลังทำงานในสภาพแวดล้อมที่ จำกัด ด้วยกระสุนน้อยที่สุด ฉันยังลอง: > sh -c 'read l < /proc/version; echo $l' FATAL: kernel too old > dd if=/proc/version FATAL: kernel too old ความคิดใด ๆ
13 linux  glibc 

6
วิธีการติดตั้ง mongodb 3.4 ใน debian stretch (9)
ฉันต้องการติดตั้ง mongodb 3.4 บนเดเบียนยืด น่าเสียดายแพ็คเกจเดเบียนยืดมีเพียง mongodb 3.2 ( https://packages.debian.org/stretch/mongodb ) เอกสาร MongoDB กล่าวถึงเดเบียน 7 และ 8 เท่านั้น ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ) เมื่อใช้คำสั่ง debian 8 ฉันไม่สามารถติดตั้งแพ็คเกจ mongodb ได้เนื่องจากมีการพึ่งพาแบบไม่คาดคิด เมื่ออนุญาตให้ jessie-backport เกิดข้อผิดพลาดในการพึ่งพาแบบ unmet แต่ฉันไม่แน่ใจว่าควรจะทำอย่างไรและติดตั้งแพ็คเกจ jessie-backport อย่างละเอียด คุณจะติดตั้ง mongodb 3.4 บนเดเบียนยืดได้อย่างไร? ขอบคุณสำหรับคำแนะนำใด ๆ
13 debian  mongodb 

4
วิธีค้นหาไฟล์ทั้งหมดยกเว้นไฟล์ที่ระบุ
lsสามารถให้ผลเหมือน [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo แต่จริงๆแล้วผมหวังว่าจะเป็นเพียงแค่หาCentOS-Base.repo, CentOS-Debuginfo.repoและแต่ไม่CentOS-Vault.repo CentOS-Media.repoดังนั้นฉันจึงเรียกใช้คำสั่งนี้ ls [^\(Media\)] แต่ฉันได้รับข้อมูลข้อผิดพลาดฉันควรทำอย่างไร?
13 wildcards 


3
ชื่อโฮสต์ Linux คืออะไร
ในช่วงไม่กี่ปีที่ผ่านมาฉันใช้ Linux เป็นระบบหลักของฉันโดยเฉพาะ Fedora ฉันเห็นชื่อโฮสต์ของฉันตั้งเป็น "localhost" เสมอยกเว้นเมื่อฉันเชื่อมต่อกับเครือข่ายบางอย่างและกลายเป็น IP ของฉัน วันนี้ฉันได้พบกับพฤติกรรมดังต่อไปนี้ซึ่งฉันมีปัญหาในการทำความเข้าใจ ฉันตั้งค่าการติดตั้ง Ubuntu บนพาร์ติชันอื่นของแล็ปท็อปตั้งชื่อคอมพิวเตอร์ / ชื่อโฮสต์ระหว่างการติดตั้ง Ubuntu เมื่อฉันรีบูทกลับเข้าไปใน Fedora Fedora ได้อัปเดตชื่อโฮสต์ของฉันเป็นชื่อที่ฉันตั้งในการติดตั้ง Ubuntu ฉันคิดเสมอว่าชื่อโฮสต์ถูกกำหนดค่าและเก็บไว้ในพาร์ติชันของการติดตั้ง distro และแน่นอนเนื้อหาของ / etc / hostname บน Fedora ยังอ่าน "localhost.localdomain" แต่การเรียกใช้hostnameคำสั่งจะแสดงชื่อโฮสต์ใหม่ ทั้งสองการติดตั้งใช้พาร์ทิชันบูต efi ร่วมกัน แต่จะแยกออกจากกัน ฉันสงสัยว่าจะติดตั้ง Fedora จากที่ไหนและทำไมกำลังอ่านชื่อโฮสต์ใหม่

2
รันคำสั่ง bash หลังจากคำสั่งพร้อมกันไหม?
ฉันต้องการเรียกใช้คำสั่งแบบขนาน เมื่อคำสั่งทั้งหมดเหล่านี้เสร็จสิ้นให้เริ่มต้นคำสั่งถัดไป ฉันว่าแนวทางต่อไปนี้จะได้ผล #!/bin/bash command1 & command2 & command3 && command4 แต่มันก็ไม่ได้ ฉันจำเป็นต้องเรียกใช้command4เมื่อคำสั่งสามคำแรกเสร็จสิ้นสมบูรณ์

1
POSIX Awk บน Solaris 11 หรือไม่
นี่เป็นคำถามที่ตามมาไม่มากก็น้อยสำหรับคำถามสองข้อต่อไปนี้: ข้อผิดพลาดทางไวยากรณ์ในการลบบรรทัดที่ซ้ำกันผ่านทางไฟล์ awk '! x [$ 0] ++' ทางเลือก awk / nawk บน SunOs และ Linux ฉันเห็นว่าใน Solaris 10 (SunOS 5.10) ฉันได้รับผลลัพธ์ต่อไปนี้: $ type -a awk awk is /usr/bin/awk $ PATH="$(getconf PATH)" type -a awk awk is /usr/xpg4/bin/awk awk is /usr/bin/awk $ บน Solaris 10 /usr/bin/awkไม่ยอมรับ POSIX ไวยากรณ์ Awk มาตรฐานเช่น'!x[$0]++'แต่/usr/xpg4/bin/awkทำ …
13 awk  solaris  posix 

4
วิธีจับแพ็คเก็ตที่เข้ามาทั้งหมดไปยัง NIC แม้แต่แพ็คเก็ตเหล่านั้นไม่ได้เป็นของฉัน
AFAIK, NIC ได้รับแพ็คเก็ตทั้งหมดจากสายในเครือข่ายท้องถิ่น แต่ปฏิเสธแพ็กเก็ตเหล่านั้นซึ่งที่อยู่ปลายทางของพวกเขาไม่เท่ากับ ip ฉันต้องการพัฒนาแอปพลิเคชันที่ตรวจสอบการใช้งานอินเทอร์เน็ตของผู้ใช้ ผู้ใช้แต่ละคนมีที่อยู่ IP คงที่ ฉันและบุคคลอื่นเชื่อมต่อกับสวิตช์เดสก์ท็อปที่ไม่มีการจัดการ 8-Port Fast Ethernet อย่างที่ได้กล่าวไปแล้วก่อนหน้านี้ฉันต้องการรวบรวมทราฟฟิกทั้งหมดจากผู้ใช้ทุกคนไม่เพียง แต่แพ็กเก็ตที่เป็นของฉันเท่านั้น ฉันจะบังคับให้ NIC หรือส่วนประกอบอื่น ๆ ของฉันรับแพคเก็ตทั้งหมดได้อย่างไร

2
บันทึกการเลือก / เขียนควรจะอยู่ที่ไหน?
ฉันกำลังติดตั้งแพคเกจที่กำหนดเองเพื่อ/opt/package_nameจัดเก็บไฟล์การกำหนดค่าใน/etc/opt/package_nameและไฟล์คงที่ใน/var/opt/package_name/static/- ทั้งหมดตามอนุสัญญาที่แนะนำโดย FHS [ 1 ] [ 2 ] [ 3 ] ฉันต้องเก็บ logfiles ด้วย ฉันต้องการให้พวกเขาสามารถค้นพบได้โดยเครื่องมือวิเคราะห์ดังนั้นพวกเขาจึงควรอยู่ในตำแหน่งปกติ สิ่งเหล่านี้ควรเข้าไปใน: /var/log/package_name (เช่นแพคเกจระบบแม้ว่าจะเป็นแพ็คเกจที่กำหนดเอง) /var/opt/package_name/log(ติดตามการ/var/optประชุม - แต่สิ่งนี้สามารถค้นพบได้หรือไม่) อื่น ๆ อีก?
13 logs  fhs 

1
ทำไมผลลัพธ์ grep BSD นี้แตกต่างจาก grep GNU?
คอมพิวเตอร์ของฉันใช้งาน MacOS 10.12.3 และฉันใช้grepยูทิลิตี้ที่ติดตั้งระบบกับรุ่น 2.5.1-FreeBSD เหล่านี้เป็นผลลัพธ์ที่ฉันได้รับเมื่อทดสอบ regexes ต่างๆ: แต่ถ้าฉันเรียกใช้สิ่งเหล่านี้โดยใช้ GNU grep (รุ่น 2.25) ฉันได้รับต่อไปนี้: grep ของ GNU ดูถูกต้องสำหรับฉันและ BSD นั้นไม่ถูกต้องใช่ไหม ทำไมพวกเขาถึงแตกต่างกัน ฉันไม่เข้าใจว่าทำไม grep ของ BSD จึงตรงกับ "a" เมื่อ regex ระบุว่าจะต้องเป็นไปตามจุดเริ่มต้นของบรรทัด

2
ทางลัดเดียวเพื่อส่งต่อการค้นหาหลังจากค้นหา Ctrl-R ย้อนกลับ
ฉันใช้Ctrl+ Rตลอดเวลา แต่บ่อยครั้งที่ฉันต้องผ่านคำสั่งที่ฉันตามมาเพราะฉันกดมันเร็วเกินไป เพื่อส่งต่อการค้นหาCtrl+ Sสามารถใช้บริการที่มีให้ก็ไม่ได้ใช้สถานีแรก (konsole ในกรณีของฉันซึ่งstty -ixonใน~/.bashrcการแก้ไขได้) อย่างไรก็ตามฉันต้องกดสองครั้ง: เมื่อดูเหมือนว่าจะเข้ามาi-searchหลังจากอยู่ในreverse-i-searchโหมดและครั้งที่สองที่จะย้อนกลับจริง ๆ มีวิธีลบความจำเป็นในการกดปุ่มลัดสองครั้งหรือไม่?

3
unix - ย้ายทุกสิ่งโดยไม่ตั้งใจไปที่ root / old - Solaris 10
ตามที่พาดหัวบอกว่าทุกอย่างหรือเกือบทุกอย่างสำคัญเมื่อรูทภายใต้รูท (/) ถูกย้ายไปที่ / เก่าบนเครื่อง Solaris 10 ดังนั้นตอนนี้ความผิดปกติเมื่อพยายามที่เมื่อใช้คำสั่งCannot find /usr/lib/ld.so.1(เปลี่ยน$PATHและยังพยายามเปลี่ยน$LD_LIBRARY_PATH, $LD_LIBRARY_PATH_64และ$LD_RUN_PATHและการส่งออกพวกเขา แต่ไม่มีอะไรที่ดูเหมือนว่าจะเปลี่ยนเส้นทางห้องสมุดจริง) พยายามที่เมื่อวานนี้สวยมากที่จะหาบางสิ่งบางอย่างที่อาจช่วย แต่ไม่พบอะไรที่จริงจะเปลี่ยนเส้นทางห้องสมุดสำหรับ Solaris 10 อื่น ๆ กว่าบางทีแต่ไม่สามารถเรียกว่าตั้งแต่crleCannot find /usr/lib/ld.so.1 พบเคล็ดลับการกู้คืนรูทหรือ / usr / bin จำนวนมากและอื่น ๆ สำหรับ Linux แต่ข้อมูลที่เกี่ยวข้องกับ Solaris 10 / Unix นั้นไม่สมบูรณ์และกระจัดกระจายมาก ไม่สามารถเรียกใช้cp, ln, mkdirหรือตั้งแต่mv Cannot find /usr/lib/ld.so.1ไม่สามารถเข้าสู่ระบบด้วยเซสชันอื่นไปยังเครื่อง แม้ว่าจะมีหนึ่งเซสชันที่ยังสามารถใช้งานได้และหน้าต่างนั้นก็หยุดwhile true; do date; echo hej 1234567; doneทำงาน …


2
ทำไม SSH ไม่รอกระบวนการพื้นหลัง
ทำไมมันssh -tไม่รอให้งานพื้นหลังเสร็จ? ตัวอย่าง: ssh user@example 'sleep 2 &' ใช้งานได้ตามที่คาดไว้เนื่องจาก ssh กลับมาหลังจาก 2 วินาทีในขณะที่ ssh user@example -t 'sleep 2 &' ไม่รอsleepให้เสร็จและส่งคืนทันที ทุกคนสามารถอธิบายเหตุผลที่อยู่เบื้องหลังสิ่งนี้ได้ไหม มีวิธีssh -tรอกระบวนการพื้นหลังทั้งหมดให้เสร็จก่อนที่จะส่งคืนหรือไม่ กรณีการใช้งานของฉันคือฉันเริ่มต้นสคริปต์ด้วยssh -tและสคริปต์นี้เริ่มงานพื้นหลังต่าง ๆ ที่ควรมีชีวิตอยู่หลังจากสคริปต์หลักเสร็จสิ้น ด้วยssh -tสิ่งนี้เป็นไปไม่ได้จนถึงตอนนี้

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.