Unix & Linux

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

1
ฉันไม่สามารถลบไดเรกทอรีต้นไม้ด้วย rm -rf
นี่มันแปลกมากสำหรับฉัน ฉันใช้เคอร์เนล 2.6.37.2 และวิ่ง: ~]$ cp -r /proc/ here ~]$ rm -rf here ฉันได้รับอนุญาตปฏิเสธเมื่อคัดลอกตามที่คาดไว้และในที่สุดฉันก็กด Control-C ฉันได้รับPermission deniedไฟล์จำนวนมากเมื่อพยายามลบไดเรกทอรีและไฟล์ใหม่ ตามบันทึกแล้วฉันพบพฤติกรรมแปลก ๆ นี้เพราะเพื่อนส่งส.tgzแนปช็อตของเขาให้/procฉัน ฉันแยกไดเรกทอรีและเมื่อฉันตรวจสอบเสร็จแล้วฉันพบปัญหาเดียวกัน rm -rf รากทำงานได้ lsattr แสดงแอตทริบิวต์ e (ซึ่งเป็นสิ่งที่ไฟล์ / ไดเรกทอรีทั้งหมดของฉันแสดง)
9 permissions  rm 

1
ล็อคหน้าจอปลอดภัยหรือไม่?
ดูข้อผิดพลาดของไดรเวอร์ USB ที่แสดงเป็น "Linux plug & pwn"หรือลิงค์นี้ สองทางเลือก [GNOME, Fedora 14]: ใช้ gnome-screensaver ใช้ฟังก์ชั่น "เปลี่ยนผู้ใช้" [เมนูคำพังเพย -> ออกจากระบบ -> สลับผู้ใช้] ดังนั้นคำถามคือ: อันไหนเป็นวิธีที่ปลอดภัยกว่าเพื่อล็อคหน้าจอหากผู้ใช้ออกจากพีซี? เป็นความจริงหรือไม่ว่าการใช้วิธี [2] นั้นปลอดภัยกว่าหรือไม่ วิธีที่ฉันเห็นมันgnome-screensaverเป็นเพียง "กระบวนการ" มันอาจถูกฆ่า แต่ถ้าคุณใช้ฟังก์ชั่นออกจากระบบ / สลับผู้ใช้มันคือ "อย่างอื่น" การใช้ฟังก์ชั่น "ผู้ใช้สวิตช์" อาจมีปัญหาเช่นนี้gnome-screensaverหรือไม่? ใครบางคน "ฆ่ากระบวนการ" และ presto ... ล็อคถูกลบออกหรือไม่ GDM [??] "กระบวนการเข้าสู่ระบบ Windows" ถูกฆ่าหรือไม่และ "ล็อค" เป็นเจ้าของได้หรือไม่ ถ้าวิธี [2] …
9 linux  gnome  security 

1
ไม่สามารถจัดการคำขอเคอร์เนลเพจได้หรือไม่
[คำเตือน: ตอนแรกฉันกังวลเล็กน้อยเกี่ยวกับการโพสต์สิ่งนี้ที่นี่ดังนั้นฉันถาม Meta ถ้าพูดถึง homebrew / modding เป็นที่ยอมรับ จากคำตอบที่ฉันได้รับจากสมาชิกที่มีประสบการณ์หลายคนฉันได้ดำเนินการต่อและโพสต์กระทู้นี้ นี่คือลิงค์ของ Meta] ฉันกำลังพยายามดัดแปลง Xbox ดั้งเดิมโดยใช้ xboxhdm และ ndure 3.0 xboxhdm ถูกสร้างขึ้นรอบ ๆ distro Linux ขนาดเล็กที่สามารถบู๊ตได้และมันให้ความพอดีกับฉันดังนั้นฉันจึงคิดว่าฉันจะถามที่นี่และดูว่าใครสามารถยื่นมือมาให้ฉันได้ (หมายเหตุ: ก่อนที่จะมีใครแนะนำบอร์ดที่แตกต่างกันรองเท้า xboxhdm จากซีดีบนพีซี - ฮาร์ดแวร์ Xbox ไม่มีส่วนเกี่ยวข้องอย่างสมบูรณ์ในกระบวนการดังนั้นฉันจึงถามที่นี่) พีซีที่ฉันใช้นั้นค่อนข้างเก่า - เป็นเดสก์ท็อป Compaq รุ่นเก่าที่มี RAM ประมาณ 512mb และตัวประมวลผล 2.5 กิกะเฮิร์ตซ์ (น่าจะเป็น P IV) ฉันใช้มันเพราะมี 2 พอร์ต IDE …

2
การแยกวิเคราะห์ XML, JSON และรูปแบบไฟล์ข้อมูลที่ใหม่กว่าใน UNIX โดยใช้ยูทิลิตี้บรรทัดคำสั่ง
สภาพแวดล้อม Unix มีเครื่องมือที่ยอดเยี่ยมสำหรับการแยกวิเคราะห์ข้อความในรูปแบบต่าง ๆ อย่างไรก็ตามในช่วงปลายข้อมูลไม่ได้อยู่ในรูปแบบดั้งเดิม (ประวัติ) (CSV, TSV, ตามบันทึกหรืออื่น ๆ ตามตัวคั่น) ที่เคยเป็นมาก่อน ข้อมูลวันนี้มีการแลกเปลี่ยนในรูปแบบที่มีโครงสร้างเช่น XML / JSON ฉันรู้ว่ามีเครื่องมือที่ดีเช่น sed, awk และ Perl ซึ่งสามารถเคี้ยวข้อมูลได้เกือบทุกรูปแบบ อย่างไรก็ตามในการทำงานกับข้อมูลที่มีโครงสร้างเช่นนี้มักจะต้องเขียนโปรแกรมที่สมบูรณ์และให้เวลาเล็กน้อยในการดึงข้อมูลเราต้องนั่งลงและคิดตรรกะทั้งหมดของสิ่งที่ต้องการสืบค้นและวาง มันลงโปรแกรม บางครั้งมันก็ไม่เป็นไร - โดยพื้นฐานแล้วเนื่องจากข้อมูลที่ดึงมาจากไฟล์เหล่านั้นทำหน้าที่เป็นอินพุตสำหรับการทำงานต่อไป ก็เพราะเวลาที่ใช้ในการค้นหาโซลูชันที่เหมาะสมและรหัสขึ้น จำเป็นต้องใช้เครื่องมือบรรทัดคำสั่งที่มีสวิตช์เพียงพอที่จะค้นหาสืบค้นและถ่ายโอนข้อมูล ฉันกำลังมองหาเครื่องมือที่ใช้ XML / JSON หรือรูปแบบข้อมูลที่มีโครงสร้างอื่น ๆ แล้วทิ้งลงในรูปแบบอื่น ๆ เช่น csv เป็นต้นเพื่อให้สามารถใช้คำสั่งอื่นเพื่อดึงข้อมูลออกมาได้ มียูทิลิตีบรรทัดคำสั่งใดบ้างที่คุณรู้จักซึ่งเป็นงานประเภทนี้? มีสคริปต์ awk / Perl อยู่ในรายการนี้หรือไม่?

1
ข้อผิดพลาดด้วง“ สมาชิก RAID ฟุ่มเฟือย” ในการอัพเดตด้วง
ระบบของฉัน (wheezy / sid: 2.6.32-5-amd64 # 1 SMP x86_64 GNU / Linux) ทำงานได้ดี - ฉันแค่สงสัยว่าบางข้อความมีความหมายว่าอย่างไร ฉันมีสองอาร์เรย์ mdraid ทำงานบนระบบของฉัน ที่นี่cat /proc/mdstat: Personalities : [raid1] [raid6] [raid5] [raid4] md1 : active (auto-read-only) raid5 sda3[0] sdc3[3] sdb3[1] 823103488 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] md0 : active raid1 …
9 debian  grub2  mdadm 

2
วิธีการ grep คำสั่งอย่างถูกต้องเวลา?
ฉันต้องการเปรียบเทียบความเร็วของคำสั่งสองคำนี้: grep pattern1 files* grep pattern2 files* น่าเสียดายที่ grep แรกอ่านไฟล์จำนวนมาก * ลงในบัฟเฟอร์หน่วยความจำดังนั้น grep ตัวที่สองจึงทำงานได้อย่างรวดเร็ว แต่ด้วยเหตุผลที่ผิด ฉันจะบอก Linux ได้อย่างไร (Fedora 11): "โปรดหยุดการอ่านดิสก์แคชเพราะฉันกำลังทดสอบบางอย่าง"

6
เปรียบเทียบไฟล์ที่อยู่ในไดเรกทอรี 1 แต่ไม่ใช่ไดเรกทอรี 2 หรือไม่
ฉันมีปัญหากับสคริปต์ทุบตีที่ฉันต้องการ ฉันรู้ว่า ls จะแสดงรายการไฟล์ที่อยู่ในไดเรกทอรี แต่ฉันต้องการให้แสดงรายการไดเรกทอรีที่อยู่ใน directory1 แต่ไม่อยู่ใน directory2 แล้วจึงแสดงรายการไฟล์ใน directory2 ที่ไม่ได้อยู่ใน directory1 ในความพยายามที่อ่อนแอฉันพยายาม: ls -al | diff directory1 directory2 ฉันรู้ได้อย่างรวดเร็วว่าทำไมมันไม่ทำงาน ใครสามารถช่วยทุบตีคนบ้าคลั่งทั้งหมดได้หรือไม่?
9 bash  shell-script  ls  diff 

2
วิธีที่ดีที่สุดในการตั้งค่าสภาพแวดล้อม Linux แยกใน ~
ฉันทำงานส่วนใหญ่ของฉัน (เกี่ยวข้องกับ C / Python จำนวนมาก) บนเซิร์ฟเวอร์การพัฒนาที่แชร์กับคนอื่นหลายคน เป็นผลให้เราทุกคนดูเหมือนจะทำงานบริหารระบบเล็กน้อย (ไม่มีระบบดูแลระบบ) สิ่งนี้มีแนวโน้มที่จะทำงานได้ดี แต่การติดตั้งและบำรุงรักษาแพ็คเกจและไลบรารีมักจะยุ่งเหยิง เมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองกำลังติดตั้งและสร้างแพ็คเกจอื่น ๆ และอื่น ๆ อีกมากมายในไดเรกทอรีบ้านของฉัน อะไรคือวิธีที่ดีที่สุดในการทำให้เป็นระเบียบ / ปรับปรุงกระบวนการนี้ให้เป็นระเบียบ ตอนนี้ฉันแค่อยู่./configuringกับ--prefixการตั้งค่าเส้นทางของฉันเพื่อให้ฉัน~/usr/binมาก่อนusr/binฯลฯ และพยายามที่จะตั้งLD_LIBRARY_PATHและC_INCLUDE_PATHและ `PYTHONPATH อย่างถูกต้อง แต่นี่กลายเป็นข้อผิดพลาดได้ง่ายและเจ็บปวด มีวิธี "อัตโนมัติ" มากกว่าหรือไม่

2
.dtors ดูเขียนได้ แต่พยายามเขียน segfault
นี่คือ Ubuntu 9.04, 2.6.28-11-server, 32bit x86 $ cat test.c main() { int *dt = (int *)0x08049f18; *dt = 1; } $ readelf -S ./test ... [18] .dtors PROGBITS 08049f14 000f14 000008 00 WA 0 0 4 ... $ ./test Segmentation fault $ สำหรับมือใหม่: gcc สร้างเซ็กเมนต์ destructor .dtors, ใน elf executable, …

4
การดีบักเครื่อง Linux หยุดทำงาน
ฉันมี Linux RH 4.7 64- บิต severs เหมือนกัน พวกเขาเรียกใช้ฐานข้อมูลคลัสเตอร์ (คลัสเตอร์คือระดับแอปพลิเคชัน) ในบางโอกาส (ทุกเดือนหรือมากกว่านั้น) กล่องสุ่ม (ไม่เหมือนกัน) ค้าง ฉันสามารถ ping กล่องและ ping ทำงานได้ ถ้าฉันพยายาม ssh ในกล่องฉันจะได้รับ: ssh_exchange_identification: Connection closed by remote host ติดตั้ง SSH อย่างถูกต้อง เมื่อฉันไปที่ห้องเซิร์ฟเวอร์และพยายามลงชื่อเข้าใช้คอนโซลโดยตรงฉันสามารถสลับคอนโซลด้วยAlt+ Fnฉันสามารถป้อนชื่อผู้ใช้และตัวละครจะแสดง แต่หลังจากกดEnterไม่มีอะไรเกิดขึ้น ฉันรอ 8 ชั่วโมงหนึ่งครั้งและมันก็ไม่เปลี่ยน ฉันตั้งค่า syslog เพื่อบันทึกทุกอย่างไปยังโฮสต์ระยะไกลและไม่มีอะไรในบันทึกเหล่านั้น เมื่อฉันรีบูทเครื่องมันก็ทำงานได้โดยไม่มีปัญหา ฉันได้ทำการทดสอบ HW - ทุกอย่างโอเคและไม่มีอะไรในบันทึก เครื่องยังได้รับการตรวจสอบด้วย NAGIOS และไม่มีภาระหรือกิจกรรมผิดปกติก่อนที่จะหยุด ฉันไม่มีความคิด …

2
ไม่สามารถ ping ออกอากาศได้
เราใช้คอมพิวเตอร์สี่เครื่องเชื่อมต่อกับฮับ (ใช่ฮับไม่ใช่สวิตช์) ใน Fedora 13 พวกเขาถูกติดตั้งโดยใช้รูปภาพจากเพื่อนร่วมงานที่เพิ่งพาเรากลับไปโรงเรียนพวกเขาอาจถูกตั้งค่าให้บล็อกอย่างใด ใช้การออกอากาศ แต่เราต้องการใช้ภาพนี้ต่อไป เราได้ติดตั้ง IP แบบคงที่สำหรับคอมพิวเตอร์แต่ละเครื่องโดยใช้ ifconfig (เราได้ลองเพิ่ม ip addr) เป็น 10.0.1.11/24 ถึง 10.0.1.14/24 โดยใช้การตั้งค่าเหล่านี้เราไม่สามารถปิงการออกอากาศที่แน่นอน ตั้งค่าอย่างถูกต้องเป็น 10.0.1.255 โดยใช้ tcpdump เราไม่เห็นอะไรนอกจากคำขอ ping ขาออกจากคอมพิวเตอร์ที่เรียกใช้คำขอ ping ใครบ้างมีความคิดใด ๆ หรือฉันขาดอะไรบางอย่างทั้งหมด
9 linux  networking  ip  ping 

1
Wine vs Virtualbox?
ฉันเคยใช้ไวน์มาก่อน ฉันเพิ่งได้ยิน VirtualBox พวกเขาทำสิ่งเดียวกันหรือไม่ อะไรคือความแตกต่างและข้อดีที่สัมพันธ์กันของสิ่งเหล่านี้?

2
วิธีใช้ IBus ด้วย kde
การติดตั้ง KDE บนพีซีของฉันรวมถึง IBus และ Japanese Anthy IME ในการตั้งค่า IBus ฉันได้เปิดใช้งาน IME ของ Anthy IBus daemon กำลังทำงานและมีไอคอน IBus ในซิสเต็มเทรย์อย่างไรก็ตามดูเหมือนจะไม่มีวิธีใดในการสลับ IME นี่คือบน PC-BSD 8.2 ฉันทำอะไรผิดที่นี่ ขอบคุณ

3
ส่งอาร์กิวเมนต์ xargs เป็นสตริงไปยังคำสั่งอื่นด้วย '>'
/tmp/สมมติว่าฉันมีพวงของไฟล์ใน ฉันทำ find . -type f | xargs -iFILES และฉันต้องการที่จะทำmd5sumในแต่ละไฟล์ส่งออกไปยังไฟล์ที่มีชื่อเดียวกัน แต่มี.md5นามสกุล find . -type f | xargs -iFILES md5sum FILES > FILES.md5 นี่ควรจะสร้างไฟล์ md5 สำหรับแต่ละไฟล์ที่พบโดยคำสั่ง find แต่จะสร้างไฟล์ FILES.md5 ไฟล์เดียวบนดิสก์ที่มี checksums จากไฟล์ทั้งหมด ฉันจะบอกคำสั่ง md5sum ได้อย่างไรว่า FILES เป็นตัวแทนของชื่อไฟล์ปัจจุบันและไม่ใช่สตริงตัวอักษร FILES

2
บังคับใช้ชื่อบนหน้าจอ GNU
ตามค่าเริ่มต้นหัวเรื่องของหน้าจอเซสชันคือชื่อของคำสั่งสุดท้ายที่ป้อนซึ่งใช้ได้สำหรับฉัน แต่ในบางกรณีฉันต้องการเปลี่ยน ฉันรู้ว่าคำสั่งCtrl- A Aแต่มันจะเปลี่ยนเฉพาะชื่อจนกว่าคำสั่งต่อไปและฉันต้องการที่จะอยู่ที่นั่นจนกว่าฉันจะตัดสินใจเป็นอย่างอื่น แก้ไข: นี่คือpreexecฟังก์ชั่นที่ฉันพบในของฉัน.zshrc if [[ "$TERM" == "screen" ]]; then local CMD=${1[(wr)^(*=*|sudo|-*)]} echo -n "\ek$CMD\e\\" fi

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