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

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

3
วิธีเลิกทำ sudo add-apt-repository
ฉันวิ่ง sudo add-apt-repository ppa:noobslab/indicators เพื่อติดตั้งmy-weather-indicatorแต่ต้องใช้ GTK3 และฉันไม่ต้องการดำเนินการต่อ ดังนั้นฉันต้องการยกเลิกคำสั่งนั้น ฉันตรวจสอบแล้ว/etc/apt/source.listแต่ไม่พบบรรทัดใด ๆ ที่เกี่ยวข้อง สิ่งที่ฉันควรทำตอนนี้?

3
พารามิเตอร์ vm.swappiness ควบคุมอะไรได้จริง?
ตามเอกสารเคอร์เนล: This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. อย่างไรก็ตามนี่เป็นสิ่งที่คลุมเครือ ฉันพยายามคิดให้ชัดเจนว่าพารามิเตอร์ใดควบคุมได้ในที่สุด ฉันรู้ว่ามันปรับวิธีที่เคอร์เนลพยายามสลับหน้าอย่างจริงจัง แต่กระบวนการตัดสินใจในโค้ดเคอร์เนลมีผลกระทบอย่างไร มันปรับระยะเวลาที่ผ่านมาที่หน้าต้องได้รับการเข้าถึงก่อนที่เคอร์เนลจะสลับออกหรือไม่? ถ้าเป็นเช่นนั้นค่าเริ่มต้น 60 แสดงถึงอะไร? และมีการเปลี่ยนแปลงเท่าใดโดยการเพิ่ม / ลดลง 1 (สูตรจะดี) หรือมันสลับหน้าตามความถี่ในการเข้าถึงของพวกเขา? หรืออย่างอื่น?
36 linux  kernel  memory  swap 

1
วิธีการทำให้ tr ตระหนักถึงอักขระที่ไม่ใช่ ascii (unicode)
ฉันกำลังพยายามลบอักขระบางตัวออกจากไฟล์ (UTF-8) ฉันใช้trเพื่อจุดประสงค์นี้: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat ไฟล์มีอักขระต่างประเทศบางตัว (เช่น "Латвийская" หรือ "àé") trดูเหมือนจะไม่เข้าใจพวกเขามันถือว่าพวกเขาเป็นที่ไม่ใช่อัลฟาและลบออกด้วย ฉันพยายามเปลี่ยนการตั้งค่าภาษาของฉัน: LC_CTYPE=C LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat น่าเสียดายที่ไม่มีสิ่งเหล่านี้ทำงาน ฉันจะทำให้trเข้าใจ Unicode ได้อย่างไร

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

2
หมายเลขลิงก์ / proc / PID / fd / X
ใน Linux /proc/PID/fd/Xลิงก์สำหรับตัวอธิบายไฟล์ที่เป็นไพพ์หรือซ็อกเก็ตจะมีตัวเลขเช่น: l-wx------ 1 user user 64 Mar 24 00:05 1 -> pipe:[6839] l-wx------ 1 user user 64 Mar 24 00:05 2 -> pipe:[6839] lrwx------ 1 user user 64 Mar 24 00:05 3 -> socket:[3142925] lrwx------ 1 user user 64 Mar 24 00:05 4 -> socket:[3142926] lr-x------ 1 user …


3
เหตุใดหมายเลขการโทรระบบ Linux ใน x86 และ x86_64 จึงแตกต่างกัน?
ฉันรู้ว่าส่วนต่อประสานการโทรของระบบมีการใช้งานในระดับต่ำและด้วยเหตุนี้ขึ้นอยู่กับสถาปัตยกรรม / แพลตฟอร์มไม่ใช่รหัส "ทั่วไป" แต่ฉันไม่สามารถเห็นได้อย่างชัดเจนว่าทำไมการเรียกระบบในเคอร์เนล x86 แบบ 32 บิตมีหมายเลขที่ไม่เหมือนกันในสถาปัตยกรรมที่คล้ายกัน Linux 64-bit x86_64 แรงจูงใจ / เหตุผลเบื้องหลังการตัดสินใจนี้คืออะไร? การเดาครั้งแรกของฉันคือเหตุผลเบื้องหลังที่ทำให้แอปพลิเคชันแบบ 32 บิตสามารถทำงานได้บนระบบ x86_64 ดังนั้นการชดเชยออฟเซตที่เหมาะสมกับหมายเลขการโทรของระบบระบบจะรู้ว่าพื้นที่ผู้ใช้เป็น 32 บิตหรือ 64 บิต ตามลำดับ อย่างไรก็ตามนี่ไม่ใช่กรณี อย่างน้อยก็สำหรับฉันที่ read () เป็นสายระบบ 0 ใน x86_64 ไม่สามารถปรับให้เข้ากับความคิดนี้ อีกข้อหนึ่งคือการเปลี่ยนหมายเลขโทรศัพท์ของระบบอาจมีพื้นหลังด้านความปลอดภัย / แข็งตัวซึ่งเป็นสิ่งที่ฉันไม่สามารถยืนยันตัวเองได้ ด้วยความไม่รู้ถึงความท้าทายของการใช้งานส่วนของโค้ดที่ขึ้นอยู่กับสถาปัตยกรรมฉันยังสงสัยว่าการเปลี่ยนหมายเลขการโทรของระบบเมื่อดูเหมือนว่าไม่จำเป็น (เพราะแม้แต่การลงทะเบียนแบบ 16 บิตจะเก็บไว้มากกว่านั้นในปัจจุบัน ~ 346 การเรียกใช้) จะช่วยให้บรรลุผลทุกอย่างนอกเหนือจากความเข้ากันได้ของการแบ่ง (แม้ว่าการใช้การเรียกของระบบผ่านทางไลบรารี libc จะช่วยลดความมัน)

3
เหตุใดการเมานท์จึงไม่เคารพตัวเลือกแบบอ่านอย่างเดียวสำหรับการเชื่อมการเชื่อมโยง?
บนระบบ Arch Linux ของฉัน (Linux Kernel 3.14.2) การเชื่อมต่อผูกไม่เคารพตัวเลือกอ่านอย่างเดียว # mkdir test # mount --bind -o ro test/ /mnt # touch /mnt/foo /mnt/fooสร้างไฟล์ รายการที่เกี่ยวข้องใน/proc/mountsคือ /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 ตัวเลือกการติดตั้งไม่ตรงกับตัวเลือกที่ร้องขอของฉัน แต่ทำตรงทั้งพฤติกรรมการอ่าน / เขียนของผูกติดและตัวเลือกที่ใช้ในการติดเดิม/dev/sda2บน/ /dev/sda2 / ext4 rw,noatime,data=ordered 0 0 อย่างไรก็ตามถ้าฉันเมานต์ใหม่ก็จะเคารพตัวเลือกการอ่านอย่างเดียว # mount --bind -o remount,ro test/ /mnt # touch /mnt/bar …

3
ฉันจะทำให้ไฟล์ไม่สามารถแก้ไขได้อย่างไร
ในขณะที่เข้าสู่ระบบฉันสามารถทำสิ่งต่อไปนี้: mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo จากนั้นฉันสามารถเปิดเป็นกลุ่ม (ไม่เป็นroot) แก้ไขbarบังคับให้เขียนด้วยw!และไฟล์จะถูกแก้ไข ฉันจะทำให้ระบบปฏิบัติการไม่อนุญาตให้แก้ไขไฟล์ได้อย่างไร? อัพเดท 02 มี.ค. 2560 chmod 500 foo เป็นปลาเฮอริ่งแดง: สิทธิ์ในการเขียนในไดเรกทอรีไม่มีส่วนเกี่ยวข้องกับความสามารถในการปรับเปลี่ยนเนื้อหาของไฟล์ - เฉพาะความสามารถในการสร้างและลบไฟล์ chmod 400 foo/barในความเป็นจริงจะป้องกันเนื้อหาของไฟล์จากการเปลี่ยนแปลง แต่ไม่ได้ป้องกันการอนุญาตของไฟล์จากการเปลี่ยนแปลง - เจ้าของไฟล์สามารถเปลี่ยนแปลงการอนุญาตของไฟล์ได้ตลอดเวลา (สมมติว่าพวกเขาสามารถเข้าถึงไฟล์ได้เช่นเรียกใช้งานการอนุญาตในไดเรกทอรีบรรพบุรุษทั้งหมด) ในความเป็นจริง strace (1) แสดงให้เห็นว่านี่คือสิ่งที่กลุ่ม (7.4.576 Debian Jessie) กำลังทำอยู่ - vim เรียก chmod (2) เพื่อเพิ่มสิทธิ์การเขียนสำหรับเจ้าของไฟล์ชั่วคราวแก้ไขไฟล์แล้วเรียก chmod ( 2) …

7
ฉันจะเชื่อมโยงอุปกรณ์ / dev / sd กับฮาร์ดแวร์ที่พวกเขาเป็นตัวแทนได้อย่างไร
ไดรฟ์เริ่มล้มเหลวและฉันรู้จักอุปกรณ์โดยการ/dev/sdbกำหนดไฟล์อุปกรณ์เท่านั้น อะไรคือวิธีที่ฉันสามารถใช้เชื่อมโยงไฟล์อุปกรณ์นั้นกับอุปกรณ์ฮาร์ดแวร์จริงเพื่อให้รู้ว่าไดรฟ์ใดที่จะแทนที่ทางกายภาพ โบนัส:จะทำอย่างไรถ้าฉันไม่มี/dev/disk/และไดเรกทอรีย่อยในการติดตั้งนี้ (อันไหนน่าเศร้าฉันไม่ได้)

3
grep ใช้แคชเพื่อเพิ่มความเร็วในการค้นหาหรือไม่?
ฉันได้สังเกตเห็นว่าการรันที่ตามมาของgrepเคียวรีเดียวกัน (และเคียวรีที่แตกต่างกัน แต่ในไฟล์เดียวกัน) นั้นเร็วกว่าการรันครั้งแรกมาก สิ่งนี้แสดงให้เห็นว่า grep ใช้การแคชแบบโครงสร้างที่ใช้สำหรับการค้นหา แต่ฉันไม่สามารถหาข้อมูลอ้างอิงบนอินเทอร์เน็ตได้ กลไกใดที่ช่วยgrepให้ได้ผลลัพธ์เร็วขึ้นในการค้นหาครั้งต่อไป
35 linux  grep  cache 

7
บังคับให้ไดเรกทอรีอยู่ในแคชเสมอ
ฉันได้ทดสอบวิธีการต่าง ๆ เพื่อปรับปรุงเวลาที่ใช้ในการรวบรวมโครงการ c ++ ทั้งหมดของฉัน ขณะนี้ใช้เวลาประมาณ 5 นาที ฉันทดลองกับ distcc, ccache และอื่น ๆ เมื่อเร็ว ๆ นี้ฉันค้นพบว่าถ้าฉันคัดลอกโครงการทั้งหมดของฉันลงใน RAM- ไดรฟ์แล้วรวบรวมจากที่นั่นจะลดเวลาในการคอมไพล์ลงเหลือ 30% จากเดิม - เพียง 1.5 นาที เห็นได้ชัดว่าการทำงานจากไดรฟ์แรมนั้นใช้ไม่ได้จริง ดังนั้นไม่มีใครรู้วิธีที่ฉันสามารถบังคับให้ระบบปฏิบัติการที่จะเก็บไดเรกทอรีบางแคชเสมอ ? ฉันยังต้องการให้ไดเรกทอรีซิงค์กลับไปที่ดิสก์เหมือนปกติ แต่ฉันต้องการคัดลอกข้อมูลในหน่วยความจำด้วยเช่นกัน เป็นไปได้ไหม แก้ไข: ในฐานะที่เป็นทางออกที่เป็นไปได้เราแค่คิดว่าจะเปิดตัวภูตที่วิ่งrsyncทุก ๆ 10 วินาทีหรือมากกว่านั้นเพื่อซิงค์ดิสก์ไดรฟ์กับไดรฟ์ RAM จากนั้นเราก็เรียกใช้การรวบรวมจากไดรฟ์แรม rsyncเป็นอย่างเห็นได้ชัด แต่จะทำงานจริงๆ? แน่นอนว่าระบบปฏิบัติการนั้นสามารถทำได้ดีกว่า ....

2
หน้าคนใดอธิบายถึงกระบวนการเปิดคอมพิวเตอร์
ไม่กี่ปีที่ผ่านมาฉันจำได้ว่าใช้เทอร์มินัลและอ่านบทช่วยสอนในคู่มือ Linux (โดยใช้man) เกี่ยวกับการทำงานของคอมพิวเตอร์หลังจากเปิดใช้งาน มันนำคุณผ่านกระบวนการทั้งหมดที่อธิบายบทบาทของ BIOS, ROM, RAM และ OS ในกระบวนการนี้ หน้านี้เป็นหน้าอะไรถ้ามี? ฉันจะอ่านอีกครั้งได้อย่างไร
35 linux  boot  man 

3
แสดงรายการใบรับรอง ssl ca ที่มีอยู่ทั้งหมด
ลูกค้า git ของฉันอ้างสิทธิ์ error: Peer's Certificate issuer is not recognized. นั่นหมายความว่าไม่สามารถหาคีย์เซิร์ฟเวอร์ ssl ที่สอดคล้องกันได้ในระบบโกลบอลริง ฉันต้องการตรวจสอบสิ่งนี้โดยดูที่รายการของปุ่ม ssl ที่มีอยู่ในระบบทั้งหมดบนระบบ gentoo linux ฉันจะรับรายชื่อนี้ได้อย่างไร
35 linux  openssl 

1
อะไร - INPUT -j ปฏิเสธ - ปฏิเสธ - กับ icmp- โฮสต์ - ห้ามบรรทัด Iptables ทำอะไรกันแน่?
ฉันได้อ่านเอกสาร iptables redhat แต่ไม่สามารถหาสิ่งที่บรรทัดต่อไปนี้ทำ: ... -j REJECT **--reject-with icmp-host-prohibited** ... -j REJECT **--reject-with icmp-host-prohibited**

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