Unix & Linux

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

1
apt-get และ dpkg แตกต่างกันอย่างไร?
ฉันมีหลายคำถามเกี่ยวกับapt-getdpkg พวกเขาติดตั้งไปยังสถานที่เดียวกันหรือไม่ ข้อมูลมาจากเครื่องมือเหล่านี้ 1 ต่อ 1 ซึ่งกันและกันหรือไม่ มีความแตกต่างในยูทิลิตี้คำสั่งหรือไม่?

4
วิธีการแสดงรายการเนมสเปซใน Linux
คำถามนี้ถูกโยกย้ายจาก Server Fault เนื่องจากสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 5 ปีที่ผ่านมา มีวิธีใดบ้างใน Linux ที่จะแสดงรายการเนมสเปซทั้งหมดในโฮสต์ที่ทำงานอยู่? ฉันต้องการตรวจสอบ namespaces สำหรับกระบวนการเฉพาะ (เช่นกระบวนการที่ทำงานใน LXC-container และกระบวนการอื่น ๆ ทั้งหมดบนโฮสต์) จากนั้นหากลุ่ม cg ของพวกเขา
24 linux  lxc  namespace 

3
คำสั่ง Unix ตรวจสอบว่ามีสองบรรทัดในไฟล์เหมือนกันหรือไม่?
มีคำสั่ง unix ที่สามารถตรวจสอบว่ามีสองบรรทัดในไฟล์เหมือนกันหรือไม่? สำหรับตัวอย่างพิจารณาไฟล์ sentences.txt This is sentence X This is sentence Y This is sentence Z This is sentence X This is sentence A This is sentence B เราเห็นว่าประโยคนั้น This is sentence X ซ้ำแล้วซ้ำอีก มีคำสั่งใด ๆ ที่สามารถตรวจจับสิ่งนี้ได้อย่างรวดเร็วหรือไม่เพื่อที่ฉันจะสามารถใช้มันได้ - $ cat sentences.txt | thecommand Line 1:This is sentence X Line …

2
เหตุใดผู้ใช้ใหม่จึงสืบทอดไฟล์จากผู้ใช้ที่ถูกลบ
ดังนั้นฉันจึงต้องออกกำลังกายในหนังสือเพื่อทำการบ้าน ก่อนอื่นคุณต้องสร้างผู้ใช้ที่ชอบ: useradd -c "Steven Baxter" -s "/bin/sh" sbaxter จากนั้นคุณต้องเพิ่มไฟล์ลงใน/home/sbaxterไดเรกทอรี: touch /home/sbaxter/ some.txt new.txt files.txt แล้วคุณมีการลบผู้ใช้และสร้างผู้ใช้ใหม่ที่ชื่อว่าsbaxter mjaneในการประหลาดใจของฉันเมื่อฉันวิ่งfind /home/ -user mjaneผู้ใช้ใหม่mjaneตอนนี้เป็นเจ้าของไฟล์เก่าของ sbaxter ทั้งหมดเกิดอะไรขึ้น

4
ไม่พบคำสั่ง realpath
ฉันมี debian บีบ amd64 เปลือกปัจจุบันของฉันคือทุบตี ถ้าฉันเขียนสิ่งต่อไปนี้ในเครื่องเทอร์มินัลมันใช้งานได้ $ uname -a Linux core 2.6.32-5-amd64 #1 SMP Fri May 10 08:43:19 UTC 2013 x86_64 GNU/Linux $ echo $SHELL /bin/bash $ echo $(realpath test.sh) /home/ffortier/test.sh ไฟล์ test.sh ของฉันมีลักษณะดังนี้: #!/bin/bash echo $(realpath "$1") หากฉันพยายามที่จะดำเนินการต่อไปนี้ฉันได้รับข้อผิดพลาด $ ./test.sh test.sh ./test.sh: line 2: realpath: command not found ฉันจะใช้คำสั่ง …
24 linux  bash  debian 

9
ฉันจะ“ grep” รูปแบบข้ามหลายบรรทัดได้อย่างไร?
ดูเหมือนว่าฉันใช้ผิดวัตถุประสงค์grep/ egrep. ฉันพยายามค้นหาสตริงในหลายบรรทัดและไม่สามารถหาคู่ที่ตรงกันในขณะที่ฉันรู้ว่าสิ่งที่ฉันกำลังมองหาควรจับคู่ แต่เดิมฉันคิดว่า regexes ของฉันผิด แต่ในที่สุดฉันก็อ่านว่าเครื่องมือเหล่านี้ทำงานต่อบรรทัด (เช่นเดียวกับ regexes ของฉันมันช่างน่ารำคาญเหลือเกิน ดังนั้นเครื่องมือใดที่จะใช้ในการค้นหารูปแบบข้ามหลายบรรทัด?

1
ค้นหาและ rsync?
ฉันต้องการที่จะสามารถค้นหาไฟล์ในช่วง 14 วันและนานกว่า 10k และกว่า rsync ที่พบไฟล์ไปยังปลายทาง มีวิธีรวมคำสั่งทั้งสองนี้หรือไม่? find ./ -mtime +14 -size +10k rsync --remove-sent-files -avz /src /dest
24 bash  shell  find  pipe  rsync 

2
คุณจะบันทึกทุกคำสั่งที่พิมพ์ได้อย่างไร
คุณจะบันทึกคำสั่งทุกคำสั่งที่บางคนใส่ลงไปในเชลล์ได้อย่างไร? ฉันกำลังถามทั้งสองเกี่ยวกับพื้นฐานของการป้องกันตัวเองว่าคุณลงชื่อเข้าใช้เซิร์ฟเวอร์ของผู้อื่นและมีบางอย่างผิดปกติหรือไม่หรือหากมีคนอื่นลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณ แม้แต่สามเณรก็สามารถข้ามประวัติศาสตร์ด้วยunset historyหรือสร้างกระสุนใหม่เพื่อซ่อนเส้นทางของพวกเขา ฉันอยากรู้ว่าผู้ดูแลระบบลินุกซ์อาวุโสติดตามคำสั่งใดบ้างที่ถูกป้อน / เปลี่ยนแปลงในระบบ

6
org.eclipse.swt.SWTError: ไม่มีการจัดการอีก [gtk_init_check () ล้มเหลว] ขณะที่เรียกใช้ eclipse บน ubuntu
ฉันพยายามที่จะเปิด eclipse ใน ubuntu VM ด้วย commmand ด้านล่าง .. และทันทีที่ฉันทำอย่างนั้นฉันมักจะได้รับข้อยกเว้นด้านล่าง - ubuntu@username-dyn-vm1-48493:~$ eclipse Eclipse: An error has occurred. See the log file /home/ubuntu/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1381367113197.log. ดังนั้นเมื่อฉันไปที่ไฟล์บันทึกเฉพาะนี่คือสิ่งที่ฉันเห็นในบันทึก - ubuntu@username-dyn-vm1-48493:~$ more /home/ubuntu/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1381367113197.log !SESSION 2013-10-10 01:05:13.088 ----------------------------------------------- eclipse.buildId=debbuild java.version=1.7.0_25 java.vendor=Oracle Corporation BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Command-line arguments: -os linux -ws gtk -arch x86_64 …
24 linux  ubuntu  eclipse 

1
ทำไม rsync พยายามที่จะคัดลอกไฟล์ที่ทันสมัยอยู่แล้ว?
ฉันมีไฟล์เดียวกันสองไฟล์บนเครื่องโลคัลและไฟล์รีโมต ขนาดของมันเท่ากันและไฟล์บนเครื่องโลคัลใหม่กว่าบนรีโมต - แต่ rsync ยังคงพยายามที่จะคัดลอกไฟล์ ฉันขอ rsync ดังนี้ rsync -nv -e "ssh -p 2222" user@host:/data/file.fif data/file.fif (ถ้าฉันไม่ได้ใช้-nตัวเลือกมันจะเริ่มต้นการดำเนินการคัดลอก) เอกสาร Rsync ระบุอย่างชัดเจนว่าไม่ควรเกิดขึ้น: Rsync finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time. ผลลัพธ์จากstat: …
24 rsync 

4
ฉันสามารถสร้างอินเตอร์เฟสอีเทอร์เน็ตเสมือนชื่อ eth0 ได้หรือไม่?
ฉันใช้งาน Arch โดยใช้เคอร์เนล 3.10.5-1 ระบบจะใช้พฤตินัยใหม่การตั้งชื่อของอีเธอร์เน็ตอินเตอร์เฟซ ENP * * * * * * * * s และ WLP * ฯลฯ ปัญหานี้เป็นปัญหา แต่เป็นสถาบันการศึกษาของฉันคือการใช้โปรแกรมที่เรียกว่าเมเปิ้ล 17 ระบบออกใบอนุญาตของ Maple นั้นขึ้นอยู่กับอินเตอร์เฟสที่มีชื่อว่า eth0 เพราะจะต้องดึงข้อมูลที่อยู่ MAC ของมันเพื่อตรวจสอบใบอนุญาต มันเป็นวิธีที่ไม่ดี แต่ฉันต้องแก้ไขมัน ซึ่งหมายความว่าฉันจะต้องมีส่วนต่อประสาน eth0 กับที่อยู่ MAC ใด ๆ เลย (เพราะฉันสามารถดึงไฟล์ลิขสิทธิ์ใหม่สำหรับที่อยู่ MAC ใหม่) ที่ไม่จำเป็นต้องทำงาน ในความเป็นจริงมันควรจะลงตลอดเวลา ฉันคิดว่ามีหลายวิธีในการพยายามแก้ไขปัญหานี้ แต่ฉันไม่สามารถค้นหาอะไรเกี่ยวกับความคิดใด ๆ ได้ การสร้างอะแดปเตอร์โดยไม่มีการเชื่อมต่อ การสร้างนามแฝงสำหรับ enp3s0 …

3
เรียกใช้คำสั่งแบบสุ่ม
ฉันต้องการเรียกใช้หนึ่งในสองคำสั่งC1และC2โดยการสุ่ม ฉันจะทำเช่นนั้นใน commandline (bash) ได้อย่างไร จะซาบซึ้งถ้าเป็นไปได้หนึ่งซับ
24 bash  random 

1
ใช้ devtmpfs สำหรับ / dev
ฉันสังเกตเห็นตัวเลือกต่อไปนี้ในเคอร์เนล: CONFIG_DEVTMPFS Device Drivers -> Generic Driver Options -> Maintain devtmpfs to mount at /dev และฉันเห็นว่ามันเปิดใช้งานโดยค่าเริ่มต้นในเคอร์เนลการกระจาย Debian 3.2.0-4-amd64 ฉันพยายามที่จะเข้าใจความแตกต่างของตัวเลือกนี้ โดยตัวเลือกนี้/devจะติดตั้งอยู่ในฐานะที่มีตัวเลือกนี้จะติดตั้งเป็นtmpfs devtmpfsนอกจากนั้นฉันไม่เห็นความแตกต่าง helpไม่ได้ชี้แจงให้กับฉันอย่างใดอย่างหนึ่ง สิ่งนี้จะสร้างอินสแตนซ์ของระบบไฟล์ tmpfs / ramfs ก่อนเวลาบูตเครื่อง ในระบบไฟล์นี้เคอร์เนลไดรเวอร์หลักเก็บรักษาโหนดอุปกรณ์ด้วยชื่อและการอนุญาตเริ่มต้นสำหรับอุปกรณ์ที่ลงทะเบียนทั้งหมดด้วยหมายเลขหลัก / รองที่ได้รับมอบหมาย มันมีไดเรกทอรีทำงานได้อย่างสมบูรณ์ / dev ซึ่งโดยปกติ udev จะทำงานอยู่ด้านบนจัดการสิทธิ์และเพิ่ม symlink ที่มีความหมาย ในสภาพแวดล้อมที่ จำกัด อย่างมากมันอาจให้ฟังก์ชั่น / dev ที่เพียงพอโดยไม่มีความช่วยเหลือเพิ่มเติม นอกจากนี้ยังช่วยให้ระบบกู้ภัยง่ายและจัดการหมายเลขหลัก / รองแบบไดนามิกได้อย่างน่าเชื่อถือ ใครช่วยอธิบายความแตกต่างระหว่างการใช้CONFIG_DEVTMPFSvs มาตรฐาน/dev?

10
ฉันสามารถติดป้ายชื่ออุปกรณ์ดิสก์แทนพาร์ติชันได้หรือไม่
ฉันรู้เกี่ยวกับโปรแกรม e2label และเพื่อน ๆ เพื่อติดฉลากเข้ากับพาร์ติชั่นดิสก์เช่น e2label /dev/sda1 bla สิ่งที่ฉันต้องการทำคือสิ่งที่แตกต่าง: ฉันต้องการสร้างป้ายกำกับสำหรับฮาร์ดไดรฟ์สำหรับ / dev / sda ไม่ใช่สำหรับพาร์ติชัน เป็นไปได้และถ้าใช่เป็นอย่างไร แก้ไข: พื้นหลัง: ในกรณีที่มีช่อง HD หลายช่องฉันต้องการติดป้าย (กระดาษ) ที่ประตูของช่องใส่ของจริงและใส่ป้ายชื่อเดียวกันลงบนดิสก์ที่ฉันวางไว้ EDIT2: นี่เป็นเรื่องเกี่ยวกับเซิร์ฟเวอร์ Ubuntu Linux 12.04 EDIT3: บนพาร์ติชัน GPT ยังมี partlabel ซึ่งสามารถตั้งค่าได้เช่นแยกส่วน ดู/server//q/681088/76442

4
ใช้ ABI_X86 ใน Gentoo
เป็นเวลาหลายเดือนแล้วที่ฉันได้อัพเดตระบบ Gentoo ของฉัน และอย่างที่คุณจินตนาการได้นั่นหมายถึงมีแพ็คเกจมากมาย (และการเปลี่ยนแปลงการใช้งาน) ฉันต้องทำต่อไป ระบบของฉันคือ "amd64" (multilib) แต่ฉันมีแพคเกจคีย์เวิร์ดมากมายจาก "~ amd64" อย่างไรก็ตามในการอัปเดตนี้ฉันเห็นการใช้ธง "ABI_X86" อยู่เสมอ นี่คืออะไร? นี่คือใหม่ ไม่มีอะไรใน "eselect news list" เกี่ยวกับมัน ผมพบว่าหัวข้อนี้: http://forums.gentoo.org/viewtopic-t-953900-start-0.html ดูเหมือนว่าจะแสดงวิธีใช้ แต่มีเอกสาร "ของจริง" สำหรับสิ่งนี้หรือไม่ มันทำอะไร? ฉันควรตั้งค่า "ABI_X86" เป็นอะไร ฉันมีระบบ multilib ฉันคิดว่าฉันต้องการ "64" แต่แล้ว "32" และ "x32" คืออะไร? ฉันสับสนในสิ่งที่ฉันต้องทำที่นี่ Emerge ตะโกนมากเกี่ยวกับความขัดแย้งของสล็อตและดูเหมือนว่าจะเกี่ยวข้องกับ "ABI_X86" (ฉันลืมข้อผิดพลาดอย่างแน่นอน แต่ฉันจำได้ว่ามี zlib) ดังนั้นจะมีเอกสารใด ๆ …

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