Unix & Linux

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

6
ทำไมฉันต้องมี initramfs
ฉันพบว่าถ้าฉันเลือกjffsหรือsdเป็นระบบไฟล์ (และไม่initramfs) ขนาดเคอร์เนลจะเล็กมาก (1.4 MB เมื่อเทียบกับinitramfsที่ 3.4MB) หมายความว่าinitramfsต้องใช้พื้นที่มากพอสมควร ดังนั้นถ้าฉันสามารถฉันจะลบมันอย่างสมบูรณ์และจะมีเคอร์เนลขนาดเล็กมากซึ่งเป็นสิ่งที่ฉันต้องการ คำถามพื้นฐานที่ปรากฏในใจของฉันคือ: ทำไมฉันต้องinitramfs? เคอร์เนล Linux ไม่สามารถบูตได้หากไม่มีระบบไฟล์เริ่มต้นใช่ไหม แอปพลิเคชั่นสุดท้ายของฉันจะทำการคำนวณและสื่อสารเท่านั้น - ไม่มีพื้นที่เก็บข้อมูลเลย ดังนั้นระบบปฏิบัติการที่ไม่มีระบบไฟล์จึงเหมาะสม - อย่างน้อยสำหรับแอปพลิเคชันของฉัน

7
ฉันจะเปิดไฟล์ที่เป็นผลมาจาก grep ได้อย่างไร
ฉันมักจะ grep มัดไฟล์เพื่อค้นหาบรรทัดแล้ว grep ส่งคืนหนึ่งผลลัพธ์ แทนที่จะคัดลอกและวางชื่อไฟล์ลงในคำสั่งใหม่ฉันต้องการที่จะสามารถเปิดผลลัพธ์นั้นด้วยเครื่องมือแก้ไข grep foo | vimสิ่งที่ชอบ: มีวิธีทำใน BASH หรือไม่?
17 bash  grep 

3
ปิดฮาร์ดดิสก์ของฉัน (สำรองข้อมูล) บน Linux เมื่อฉันไม่ได้ใช้งาน
ฉันมีฮาร์ดดิสก์ในคอมพิวเตอร์ที่ฉันใช้เพื่อสำรองข้อมูลของฉัน ฉันไม่ใช้ดิสก์นี้เป็นอย่างอื่น ฉันจะหยุดการหมุนดิสก์เมื่อสำรองข้อมูลเสร็จได้อย่างไร นอกจากนี้ฉันจะทำให้หมุนกลับมาอีกครั้งก่อนที่จะมีการสำรองข้อมูลในภายหลังหรือไม่ ไดรฟ์เป็นไดรฟ์ SATA ปกติ

1
Root Cron จะไม่เรียกใช้สคริปต์ (ปฏิเสธสิทธิ์)
ฉันได้แก้ไขแท็บ root ของฉันเพื่อรันสคริปต์ที่อยู่ในโฟลเดอร์ของผู้ใช้เฉพาะโดยใช้คำสั่งนี้: sudo crontab -e เมื่อ cron รันสคริปต์นี่คือผลลัพธ์: sh: 1: /home/user/Location/Of/Script: Permission denied ฉันคิดว่า cron รูทได้รับอนุญาตให้ทำอะไร ฉันไม่มีปัญหาเมื่อฉันรันสคริปต์นี้ด้วยตนเองเป็น root ฉันได้อ่านในเอกสารที่สามารถดูข้อมูลข้อผิดพลาดเพิ่มเติมได้ที่นี่: sudo cat /var/log/syslog นี่คือสิ่งที่ฉันพบ: Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output) อย่างไรก็ตามฉันคิดว่านี่อาจไม่เกี่ยวข้องกับปัญหาการปฏิเสธสิทธิ์ ดังนั้นฉันต้องทำอะไรจริงๆ

3
มีเครื่องมือ Linux diff ลึกที่เปรียบเทียบคุณสมบัติของไฟล์หรือไม่
มีเครื่องมือ Linux เช่น diff ที่จะเปรียบเทียบไฟล์และไดเรกทอรีซ้ำ แต่ด้วยนอกเหนือจากการเปรียบเทียบ: คุณลักษณะเพิ่มเติมของ acl, บริบทบริบท?
17 linux  diff  acl 

5
ใช้ grep vs awk
เพื่อจับภาพรูปแบบเฉพาะawkและgrepสามารถนำมาใช้ ทำไมเราควรใช้อันอื่น เร็วกว่าไหนและเพราะอะไร ถ้าฉันมีล็อกไฟล์และฉันต้องการคว้ารูปแบบบางอย่างฉันสามารถทำอย่างใดอย่างหนึ่งต่อไปนี้ awk '/pattern/' /var/log/messages หรือ grep 'pattern' /var/log/messages ฉันยังไม่ได้ทำการเปรียบเทียบดังนั้นฉันไม่รู้เลย ใครบางคนสามารถอธิบายรายละเอียดนี้ เป็นเรื่องดีที่ได้ทราบการทำงานภายในของเครื่องมือทั้งสองนี้
17 linux  awk  grep  performance 

4
คำสั่งยอดนิยม - วิธีลดคอลัมน์ที่แสดง
เราสามารถรับคอลัมน์เฉพาะในคำสั่งด้านบนได้หรือไม่ตัวอย่างเช่นฉันสนใจเฉพาะการใช้งานหน่วยความจำและคอลัมน์การใช้ CPU ฉันจะลดคอลัมน์ที่แสดงของคำสั่งด้านบนให้เหลือเพียงสองคอลัมน์ด้านบนได้อย่างไร
17 top  columns 

2
วิธีเปลี่ยนชื่อพาร์ติชันแบบเต็มระบบที่เข้ารหัสจะถูกแมปไป
ระบบของฉันจะถูกเข้ารหัสอย่างเต็มที่กับและdm-crypt LVMผมเพิ่งย้ายพาร์ทิชันที่เข้ารหัสจากการ/dev/sda5/dev/sda2 คำถามของฉันคือ: ฉันจะเปลี่ยนชื่อพาร์ติชันที่เข้ารหัสที่ถูกแมปไปจากsda5_cryptเป็นได้sda2_cryptอย่างไร ฉันสามารถบูทระบบได้เลย แต่ที่ฉันได้รับพรอมต์ในเวลาบูตกล่าวว่า(sda5_crypt)แม้ว่าUUIDแผนที่/dev/sda2: Volume group "vg" not found Skipping volume group vg Unlocking the disk /dev/.../UUID (sda5_crypt) Enter passphrase: ผมพยายามที่จะมีชีวิตอยู่บูตถอดรหัสsda2เปิดใช้งานvg, chrootการ/dev/vg/rootและการทำงานupdate-grub2แต่จะไม่มีประโยชน์ การแก้ไขเพียงอย่าง/etc/crypttabเดียวก็ไม่ทำงานเช่นกัน
17 dm-crypt 


2
ไวยากรณ์ของ ls --hide = และ ls --ignore =
ls --hideและls --ignoreให้ความเป็นไปได้ที่จะปล่อยไฟล์ที่กำหนดไว้ผ่านการแสดงออกปกติที่กำหนดไว้หลังจาก--ignore=ส่วนหนึ่ง -a, -Aทำให้หลังแน่ใจว่าตัวเลือกนี้ไม่ปิดทาง คำสั่งmanและinfoหน้าพูดถึงนิพจน์ปกติ คำถาม : ซึ่งสัญลักษณ์หรือนิพจน์ปกติได้รับการสนับสนุนในและls --hide=ls --ignore= ฉันพบว่า* $ ?ดูเหมือนจะได้รับการสนับสนุนเช่นเดียวกับ POSIX Bracket Expressions แต่ดูเหมือนว่ามันจะไม่ทำงานอย่างถูกต้องตลอดเวลาและเป็นเกมแห่งการลองผิดลองถูกสำหรับฉัน ฉันคิดถึงสิ่งที่สำคัญที่นี่หรือไม่?


2
แซมบ้าเมาท์พร้อมรหัสผ่านในฐานะผู้ใช้ที่ไม่ใช่รูท
ฉันต้องการติดตั้งการแชร์ SMB ที่ป้องกันด้วยรหัสผ่าน (เสิร์ฟโดยเครื่อง Windows) การแบ่งปันได้รับการป้องกันด้วยชื่อผู้ใช้และรหัสผ่านและฉันอาจไม่เขียนรหัสผ่านในไฟล์ฉันต้องการได้รับการพร้อมท์ให้ใส่รหัสผ่านในเวลาที่ติดตั้ง ฉันต้องการโซลูชันที่ใช้งานได้แม้เมื่อผู้ใช้ในเครื่องไคลเอนต์ไม่มีสิทธิ์ระดับผู้ดูแลระบบดังนั้นวิธีใดก็ตามที่ใช้ในการเมานต์แชร์ต้องไม่อนุญาตให้เขาได้รับสิทธิ์รูท การติดตั้งเริ่มต้นสามารถทำได้ในฐานะรูท ผู้ใช้จะต้องสามารถระบุชื่อเซิร์ฟเวอร์เองได้ ความต้องการของฉันทันทีคือ Ubuntu 12.04 แต่การแก้ปัญหาที่กว้างกว่านั้นดีกว่า ไคลเอนต์ไม่มีหัวดังนั้นฉันกำลังมองหาเครื่องมือบรรทัดคำสั่ง สิ่งที่ฉันพยายาม: mount.cifs: ในขณะที่มันสามารถทำราก setuid, ผู้เขียนไม่ได้พิจารณาว่าการรักษาความปลอดภัย ทำงานภายใต้sudoมีปัญหาเดียวกัน smbnetfs, fusesmb: ฉันไม่สามารถโน้มน้าวให้ทั้งสองคนแจ้งรหัสผ่านให้ฉันได้ Nautilus และ gvfs: ล้มเหลวด้วยgvfs-mount smb://servername/sharenameError mounting location: volume doesn't implement mount ฉันจะเมาท์แชร์แซมบ้าจากบรรทัดคำสั่งในฐานะผู้ใช้ที่ไม่ใช่รูทด้วยพรอมต์รหัสผ่านได้อย่างไร

4
เซิร์ฟเวอร์ Ubuntu อย่างต่อเนื่อง“ ไปนอน”
ฉันใช้เว็บเซิร์ฟเวอร์ที่บ้านโดยใช้ Ubuntu 11.4 (อาจเป็นเพราะฉันจำไม่ได้ 100%) บนเดสก์ท็อป AMD 2400+ รุ่นเก่าที่มี RAM 1 หรือ 2 GB ขออภัยฉันจำรายละเอียดไม่ได้ 100% อย่างไรก็ตามฉันมี KVM ที่เชื่อมต่อกับจอภาพและแป้นพิมพ์ PS2 ที่ฉันใช้เพื่อสลับระหว่างเซิร์ฟเวอร์และ iMac ของฉัน (แป้นพิมพ์นั้นเชื่อมต่อเพียงเพื่อให้ฉันสามารถสลับระหว่างสองได้อย่างง่ายดายหลายครั้งต่อสัปดาห์ Pingdom จะบอกฉัน เซิร์ฟเวอร์หยุดทำงานและฉันไม่สามารถกดเซิร์ฟเวอร์ได้เมื่อฉันกลับถึงบ้าน (มันไม่ค่อยเกิดขึ้นเมื่อฉันอยู่ที่บ้าน) ฉันกดปุ่ม Ctrl สองครั้งเพื่อเปลี่ยนเป็นเซิร์ฟเวอร์กดแถบพื้นที่และทุกอย่างก็เริ่มทำงาน อีกครั้งฉันต้องมองอีกครั้ง แต่ฉันไม่เชื่อว่ามีฟีเจอร์การประหยัดพลังงานเปิดอยู่ใน BIOS ไม่มีใครมีข้อเสนอแนะอื่น ๆ ของสิ่งที่ฉันอาจเกิดขึ้น? ฉันมีเว็บไซต์ของลุงของฉันทำงานอยู่ในขณะนี้และฉันอยากจะมีช่วงเวลาที่ดีกว่า 95% ตามบันทึกแล้วฉันไม่มีการติดตั้ง GUI ดังนั้นทุกอย่างจะต้องทำบนคอนโซล (หรือผ่าน WebMin) และฉันรู้วิธีของฉัน แต่ฉันไม่เคยมีประสบการณ์มาก่อน

3
แทนที่ลิงก์สัญลักษณ์ซึ่งเชื่อมโยงกับเป้าหมายไดเรกทอรี
ฉันต้องการอัพเกรดเซิร์ฟเวอร์ Tomcat จาก 7.0.19 เป็น 7.0.20 ฉันเคยไปln -s apache-tomcat-7.0.19 tomcat7มาแล้วดังนั้นตอนนี้ฉันต้องเชื่อมโยง tomcat7ไปยังเป้าหมายใหม่โดยใช้คำสั่งต่อไปนี้ln -s --force apache-tomcat-7.0.21 tomcat7แต่มันไม่ทำงานอย่างที่ฉันคาดไว้: มันสร้างลิงก์สัญลักษณ์tomcat7/apache-tomcat-7.0.21แทนการแทนที่tomcat7ลิงก์สัญลักษณ์ที่มีอยู่ด้วยเป้าหมายใหม่ ตัวอย่าง # mkdir v1 v2 # ln -s v1 v # ln -s v2 v # ll v* lrwxrwxrwx. 1 root root 2 Sep 5 16:02 v -> v1 v1: total 0 lrwxrwxrwx. 1 …

1
ใน Linux สิทธิ์“ เขียน” เทียบเท่ากับ“ เรียกใช้” สำหรับไดเรกทอรีหรือไม่
การอนุญาตให้ใช้งานนั้นเหมาะสมสำหรับไฟล์ (ซึ่งรวมถึงสคริปต์ ฯลฯ ) แต่เมื่อมันมาถึงไดเรกทอรีการwrite (w)อนุญาตทำงานในลักษณะเดียวกันexecute (x)ใช่มั้ย ซึ่งหมายความว่าถ้าเราให้สิทธิ์เขียนไปยังไดเรกทอรีเราปกติจะตรวจสอบ "x" (สำหรับรัน) สำหรับไดเรกทอรีนั้นด้วยใช่ไหม

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