คำถามติดแท็ก linux

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

5
ฉันควรคาดหวังอะไรถ้าฉันเปลี่ยนจาก Ubuntu เป็น openSuse [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว อาจจะเป็นพวกคุณส่วนใหญ่ฉันใช้ Ubuntu มานานแล้ว ฉันไม่ใช่ผู้เชี่ยวชาญ แต่ฉันใช้ distros ต่าง ๆ จนกระทั่งฉันตัดสินใจใช้ Ubuntu ฉันเริ่มใช้ SuSE 5.x, Conectiva (ซึ่งต่อมากลายเป็น Mandriva ดังนั้นดูเหมือนว่า), RedHat, Mac OS X (ใช่ฉันรู้ไม่ใช่ Linux) และ Ubuntu ที่ใช้ VM เป็นส่วนใหญ่ในช่วงสองสามปีที่ผ่านมา แต่ตั้งแต่ SUSE เปิดตัว SUSE Studio ฉันถูกล่อลวงให้เปลี่ยนกลับไปใช้มัน มันสะดวกเกินไปที่จะทำให้การติดตั้งของคุณในระบบคลาวด์และดาวน์โหลดระบบของคุณพร้อมใช้งานได้ทันที นี่คือคำถามของฉัน สิ่งที่คาดหวังจากสวิตช์ ฉันรู้ว่า SUSE ใช้ RPM เป็นผู้จัดการแพ็กเกจและฉันไม่มีความคิดเกี่ยวกับความสมบูรณ์ของที่เก็บเทียบกับ Ubuntu …

1
หน่วยความจำแบบ "แคช" ปราศจากความจริงหรือไม่
เมื่อทำงานcat /proc/meminfoคุณจะได้รับ 3 ค่าเหล่านี้ที่ด้านบน: MemTotal: 6291456 kB MemFree: 4038976 kB Cached: 1477948 kB เท่าที่ฉันรู้ค่า "แคช" คือดิสก์แคชที่ทำโดยระบบ Linux ที่จะถูกปล่อยทันทีหากแอปพลิเคชันใด ๆ ที่ต้องการ RAM เพิ่มขึ้นดังนั้น Linux จะไม่หมดหน่วยความจำจนกว่า MemFree และ Cache จะเป็นศูนย์ น่าเสียดายที่ "MemAvailable" ไม่มีการรายงานโดย / proc / meminfo อาจเป็นเพราะมันทำงานในเซิร์ฟเวอร์เสมือน (เวอร์ชั่นเคอร์เนลคือ 4.4) ดังนั้นสำหรับการใช้งานจริง RAM สำหรับแอปพลิเคชันนั้นเป็น MemFree มุมมองนั้นถูกต้องหรือไม่
11 linux  memory  cache  meminfo 

2
ทำไม vfork () ตั้งใจที่จะใช้เมื่อกระบวนการลูกเรียก exec () หรือ exit () ทันทีหลังจากการสร้าง?
แนวคิดระบบปฏิบัติการและ APUE พูด ด้วย vfork () กระบวนการหลักถูกระงับและกระบวนการลูกใช้พื้นที่ที่อยู่ของพาเรนต์ เนื่องจาก vfork () ไม่ได้ใช้ copy-on-write ถ้ากระบวนการลูกเปลี่ยนแปลงหน้าใด ๆ ของพื้นที่ที่อยู่ของผู้ปกครองเพจที่ถูกแก้ไขจะปรากฏให้ผู้ปกครองเห็นได้เมื่อดำเนินการต่อ ดังนั้นvfork () ต้องใช้ด้วยความระมัดระวังเพื่อให้แน่ใจว่ากระบวนการลูกไม่ได้แก้ไขพื้นที่ที่อยู่ของผู้ปกครอง vfork () มีวัตถุประสงค์เพื่อใช้เมื่อกระบวนการลูกเรียกใช้ exec () หรือ exit () ทันทีหลังจากการสร้าง ฉันจะเข้าใจประโยคสุดท้ายได้อย่างไร เมื่อกระบวนการลูกสร้างโดยการvfork()โทรexec()ไม่ได้exec()แก้ไขพื้นที่ที่อยู่ของกระบวนการหลักโดยการโหลดโปรแกรมใหม่หรือไม่ เมื่อกระบวนการลูกที่สร้างโดยการvfork()โทรexit()ไม่ exit()ได้แก้ไขพื้นที่ที่อยู่ของกระบวนการหลักเมื่อยกเลิกการเป็นเด็ก? ฉันชอบลีนุกซ์ ขอบคุณ
11 linux  process  exec  exit  vfork 

3
วิธี grep สำหรับ unicode ในสคริปต์ทุบตี
if grep -q "�" out.txt then echo "working" else cat out.txt fi โดยทั่วไปหากไฟล์ "out.txt" มี " " ที่ใดก็ได้ในไฟล์ฉันต้องการให้เสียงก้อง "ทำงาน" และถ้าไฟล์ "out.txt" นั้นไม่มี " " ที่ใดก็ตามในไฟล์ฉันก็อยาก มันเพื่อ cat out.txt แก้ไข: ดังนั้นนี่คือสิ่งที่ฉันทำ ฉันกำลังพยายามที่จะเปิดใช้งานการถอดรหัส openssl openssl enc ส่งคืนค่า 0 เมื่อสำเร็จไม่ใช่ค่าศูนย์ หมายเหตุ: คุณจะได้รับผลบวกปลอมเนื่องจาก AES / CBC สามารถกำหนดได้ว่า "การถอดรหัสทำงานได้" หรือไม่ขึ้นอยู่กับการรับสิทธิ์ ดังนั้นไฟล์ถอดรหัส แต่มันจะไม่เป็นรหัสผ่านที่ถูกต้องดังนั้นมันจะมีซึ่งพูดพล่อยๆในนั้น อักขระทั่วไปในการพูดพล่อยๆคือ " " …

1
สิทธิ์ x (เรียกใช้) ทำอะไรบนซ็อกเก็ตยูนิกซ์?
จากประสบการณ์ของฉันผู้ใช้ที่ไม่ได้รับสิทธิพิเศษไม่สามารถเข้าถึงซ็อกเก็ต unix ที่ตนเอง / เธอไม่ได้เป็นเจ้าของโดยไม่ได้ตั้งค่าบิต x บิตนี้ทำอะไรกันแน่? ขอบคุณ

1
ความหมายของบิตแมปใน mdstat คืออะไร
ไม่นานมานี้ผมได้สร้างอาร์เรย์ RAID ซอฟแวร์ใหม่ ( mdadm) มี 4 ไดรฟ์ใน RAID6 ดูเหมือนว่าจะทำงานได้ดี mdstatดังต่อไปนี้: Personalities : [raid6] [raid5] [raid4] md0 : active raid6 sda1[0] sde1[3] sdd1[2] sdb1[1] 1953260544 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU] bitmap: 0/8 pages [0KB], 65536KB chunk unused devices: <none> สิ่งที่ดักฟังฉันคือbitmap: 0/8 pagesส่วนที่ฉันไม่เข้าใจ คำถามคือ: นี่เป็นปัญหาที่อาจเกิดขึ้นหรือไม่? …

1
ทำให้อ่านได้อย่างเดียว / etc เขียนได้
ฉันกำลังจัดการกับอุปกรณ์ฝังตัวที่ใช้ Linux ผู้ผลิตอุปกรณ์นี้ได้ทำการตั้งค่าเพื่อให้โหลดระบบไฟล์รูทเป็นแบบอ่านอย่างเดียว จาก / etc / mtab: rootfs / rootfs rw 0 0 /dev/root / squashfs ro,relatime 0 0 หมายความว่าฉันไม่สามารถแก้ไขไฟล์ภายใน / etc เช่นการเพิ่มผู้ใช้ใหม่ ฉันได้ลองติดตั้งไดเรกทอรีรากใหม่แล้ว: mount -o remount,rw -t squashfs /dev/root / แต่ฉันเพิ่งได้รับข้อผิดพลาด mount: cannot remount block device /dev/root read-write, is write-protected ฉันค้นหาข้อผิดพลาดนี้และมีคนพูดว่าใช้ blockdev ระบบไม่ได้ติดตั้ง blockdev ดังนั้นฉันจึงรวบรวมและคัดลอกมันข้าม จากนั้นฉันก็วิ่ง blockdev --setrw …

1
Centos จะไปแทนที่ yum ด้วย dnf เมื่อใด [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา Dnf มีอยู่ใน fedora ซึ่งเป็นเตียงทดสอบสำหรับ Rhel / centos แต่ทำไม centos 7 ยังคงใช้ yum อยู่?
11 linux  centos  dnf 

3
เหตุใดในระบบ Linux บางระบบระบบไฟล์รูทจึงปรากฏเป็น / dev / root แทนที่จะเป็น / dev / <real device node> ใน mtab?
ฉันเคยเห็นระบบ Linux หลายระบบซึ่งแทนที่จะเป็นโหนดอุปกรณ์จริง (ตัวอย่าง/dev/sda1:) อุปกรณ์รูทปรากฏเป็น/dev/rootหรือแทนที่จะเป็นระบบไฟล์จริงmtabกล่าวว่าเป็นระบบไฟล์ที่เรียกว่าrootfs(ซึ่งปรากฏเป็นระบบไฟล์จริงในระบบ/proc/filesystemsแต่ ไม่มีรหัสใน&lt;linux-kernel-source-tree&gt;/fs) ยูทิลิตี้ต่างๆถูกสร้างขึ้นเพื่อใช้คุณลักษณะบางอย่างเพื่อกำหนดโหนดอุปกรณ์รูทจริง (เช่น rdev และ Chromium OS rootdev) ฉันไม่สามารถหาคำอธิบายที่เป็นตรรกะเกี่ยวกับเรื่องนี้ได้นอกจากอ่านที่ใดที่อุปกรณ์ฝังตัวขนาดเล็กมากไม่จำเป็นต้องมี/devโหนดอุปกรณ์สำหรับอุปกรณ์รูท (เป็นจริงหรือไม่และถ้าเป็นเช่นนั้นคือคำตอบสำหรับคำถามของฉัน) ทำไมบางครั้ง mtab พูด/dev/root(และฉันคิดว่าฉันอาจเคยเห็นมันพูดrootdevหนึ่งครั้ง) แทนที่จะเป็นโหนดอุปกรณ์จริงและฉันจะทำให้มันพูดเสมอว่าโหนดอุปกรณ์จริงได้อย่างไร เคอร์เนลม้าแรกอุปกรณ์รากดังต่อไปนี้rootพารามิเตอร์ใน cmdline แล้วinit/systemdอีกครั้งที่เมาท์มันเป็นไปตามfstabถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นผมเข้าใจรักษาinit mtabหากทฤษฎีของฉันถูกต้องฉันจะinitเขียนโหนดอุปกรณ์รูทจริงได้mtabอย่างไร ฉันสังเกตเห็นว่า/etc/mtabจริง ๆ แล้วเป็นการเชื่อมโยงสัญลักษณ์/proc/mountsซึ่งจะหมายถึงmtabถูกดูแลโดยเคอร์เนล ดังนั้นฉันจะกำหนดค่า / แก้ไขเคอร์เนลได้อย่างไรแทนที่จะบอกว่ารูทอุปกรณ์ของรูทอุปกรณ์คือ/dev/rootมีmtabโหนดอุปกรณ์จริงอยู่หรือไม่

2
IP ผ่าน USB 3.1 type-C ระหว่างสองโฮสต์ Linux ที่ 10Gbps หรือไม่
ฉันไม่สามารถตัดสินใจด้วยตัวเองได้ถ้าทำได้ ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะเชื่อมต่อระบบ Linux สองระบบกับ USB 3.1 พร้อมตัวเชื่อมต่อ type-C เพื่อตั้งค่าเครือข่ายแบบจุดต่อจุด (IP หรือ Ethernet + IP) ที่เต็ม 10Gbps มาตรฐานที่อ้างสิทธิ์อนุญาต อะแดปเตอร์โฮสต์สนับสนุนสิ่งนี้หรือไม่ เคอร์เนล Linux / เครื่องมือรุ่นใหม่นี้สนับสนุนหรือไม่ สามารถใช้สายเคเบิลปกติได้หรือไม่ Gigabit ไม่เร็วพอและการ์ด USB 3.1 ราคาถูกและติดตั้งมาเธอร์บอร์ดใหม่ (เหมือนของฉัน) 10Gbps Ethernet จะเป็นทางเลือกที่สองของฉันฉันเดา แต่มันเกี่ยวข้องกับการซื้อฮาร์ดแวร์ใหม่ทั้งหมดและฉันต้องไปมือสอง
11 linux  networking  usb  ip  ethernet 

2
findmnt ไม่สามารถแสดงรายการการเชื่อมโยงผูกได้อย่างไร?
ผู้คนมากมายบอกว่าลีนุกซ์ไม่เก็บข้อมูลเกี่ยวกับการผูกเมาท์ดังนั้นจึงไม่มีวิธีรับรายการของพวกเขาและแหล่งที่มา นี่คือตัวอย่างบางส่วน: จากหนึ่งในความคิดเห็นที่นี่ : IIRC ข้อมูลนี้จะไม่ถูกเก็บไว้ที่ใด: หลังจากmount --bindนั้นสำเนาสองชุดนั้นมีความเท่าเทียมกันและไม่มี "ต้นฉบับ" มากกว่าอีกชุดหนึ่ง /mntท้ายที่สุดอาจไม่มีต้นฉบับถ้าคุณยกเลิกการต่อเชื่อมแล้ว จากคำตอบในเว็บไซต์นี้ : /etc/mtabดังนั้นวิธีเดียวที่จะจำสิ่งที่ม้าเป็นม้าผูกเป็นบันทึกการติดคำสั่งที่เหลืออยู่ใน การดำเนินการ bind mount ถูกระบุโดยตัวเลือก bind mount (ซึ่งทำให้ระบบไฟล์ถูกละเว้น) แต่การเมานต์ไม่มีตัวเลือกให้แสดงเฉพาะระบบไฟล์ที่เมาท์พร้อมชุดของชุดตัวเลือกโดยเฉพาะ จากรายงานข้อบกพร่องของเดเบียน : นี่คือเจตนา จุดเชื่อมต่อทั้งสองนั้นเท่ากันทุกวิธีดังนั้นเคอร์เนลจะไม่เก็บค่าสถานะใด ๆ เพื่อแยกความแตกต่าง ข้างต้นเป็นเรื่องไร้สาระแม้ว่า เครื่องมือfindmntนี้สามารถแสดงรายการที่มาของเส้นทางของการเชื่อมต่อผูก (ในรูปแบบของdevice[source-path]; ฉันยังพยายามที่จะได้รับมันเพียงแค่รายการเส้นทางที่มาและไม่ได้อุปกรณ์) ถ้าเคอร์เนลคือการรักษาผูกติดแล้วว่าข้อมูลที่จะต้องมีการจัดเก็บไว้ที่ใดที่หนึ่งมิฉะนั้นจะไม่สามารถรู้ว่าถูกผูกไว้กับ/home /usersแล้วข้อมูลนี้อยู่ที่ไหน? มันถูกเก็บไว้ในพื้นที่ที่ไม่ชัดเจนใน RAM หรือไม่? ไม่findmntมองใน/procบาง?

2
มีระบบไฟล์ใดบ้างที่ `ln -d` ประสบความสำเร็จ?
จาก manpage สำหรับln : -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) มีไดร์เวอร์ระบบไฟล์ใดบ้างที่สามารถใช้งานได้จริงหรือเป็นเพียงตัวเลือกเดียวmount --bind &lt;src&gt; &lt;dest&gt;? หรือพฤติกรรมแบบนี้ถูกบล็อกโดยเคอร์เนลก่อนที่มันจะเข้าสู่ไดร์เวอร์เฉพาะระบบไฟล์หรือไม่? หมายเหตุ: ฉันไม่ได้วางแผนที่จะทำสิ่งนี้บนเครื่องใด ๆ

1
ถอนติดตั้งเมานด์ rbind โดยไม่มีผลกับเมานต์ดั้งเดิม
ถามถึงข้อผิดพลาดของเซิร์ฟเวอร์แต่ไม่ได้รับความสนใจเพียงพอจึงโพสต์ที่นี่อีกครั้งด้วยความหวังว่าบางคนที่นี่รู้คำตอบ มีคำถามอีกข้อหนึ่งที่พูดถึงการติดตั้ง rbind mounts แต่วิธีแก้ปัญหามีผลที่ไม่ต้องการ พิจารณาเค้าโครงไดเรกทอรีต่อไปนี้: . ├── A_dir │ └── mount_b ├── B_dir │ └── mount_c └── C_dir ตอนนี้ผมผูกC_dirไปB_dir/mount_cและ rbind B_dirเพื่อA_dir/mount_b: [hidden]$ sudo mount --bind C_dir B_dir/mount_c [hidden]$ sudo mount --rbind B_dir A_dir/mount_b [hidden]$ mount | grep _dir | wc -l 3 ตอนนี้umount A_dir/mount_bจะล้มเหลวซึ่งไม่น่าแปลกใจ ตามที่ตอบทุกที่บนเว็บเราต้องก่อนแล้วumount A_dir/mount_b/mount_c umount A_dir/mount_bอย่างไรก็ตามumount A_dir/mount_b/mount_cจะยกเลิกการต่อเชื่อมB_dir/mount_cซึ่งไม่เป็นที่ต้องการ: …


3
การแก้ไขรายการเส้นทางที่มีอยู่ใน linux
คำสั่งเพื่อแก้ไขตัวชี้วัดของรายการเส้นทางที่มีอยู่ใน linux คืออะไร? ฉันสามารถเปลี่ยนเกตเวย์ของรายการที่มีอยู่โดยใช้คำสั่ง "ip route change" ดังด้านล่าง แต่ไม่สามารถเปลี่ยนการวัดได้ มีคำสั่งอื่นอีกไหมสำหรับเรื่องนี้? route –n 40.2.2.0 30.1.3.2 255.255.255.0 eth2 ip route change 40.2.2.0/24 via 30.1.2.2 route -n 40.2.2.0 30.1.2.2 255.255.255.0 eth1
11 linux  routing 

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