Unix & Linux

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

4
การบันทึกโลคัลของคำสั่ง ssh ทั้งหมดแบบโลคัล?
ฉันจะเก็บบันทึกโลคัลที่บันทึกเวลาของคำสั่งรีโมตทั้งหมดที่ฉันใช้ในssh(ไคลเอ็นต์ openssh บรรทัดคำสั่งเริ่มต้นผ่านbash) ได้อย่างไร? ที่ต้องการ: ที่สำคัญ: ฝั่งไคลเอ็นต์ 100% โดยไม่ต้องอาศัยการบันทึกเซิร์ฟเวอร์ กำหนดค่าหรือติดตั้งต่อผู้ใช้พร้อมบันทึกที่จัดเก็บในโฮมไดเรกทอรีของผู้ใช้ การสนับสนุนสำหรับการแยกความแตกต่างระหว่างหลายเซสชันพร้อมกันกับผู้ใช้และโฮสต์ที่หลากหลาย ไม่รบกวน (ไม่จำเป็นต้องเปิดใช้งานในแต่ละครั้งและไม่รบกวนการใช้ ssh อย่างมีนัยสำคัญ) ลำดับความสำคัญสูง: เอาต์พุตไม่ถูกล็อกหรือกรองออกให้มากที่สุด รายการรหัสผ่านอย่างใดอย่างหนึ่งจะไม่ถูกบันทึกหรือไฟล์ถูกเข้ารหัส บ่งชี้ถึงคำสั่งจริงที่ใช้ (หลังจากแท็บ / ประวัติเสร็จสมบูรณ์, backspaces, CTRL+ C, ฯลฯ ... ถูกประมวลผลแล้ว) ยินดีที่ได้: ยังบันทึกคำสั่งในเซสชันที่ถูกล่ามโซ่ (คำสั่งที่ป้อนระหว่างระยะไกลsshหรือsu <user>เซสชัน) ควรเริ่มต้นเซสชันและสิ้นสุดเซสชัน ง่ายbash-based, การแก้ปัญหาที่ไม่ใช่รากจะดีที่สุด (บางทีอาจจะเป็นaliasหรือbashสคริปต์เสื้อคลุมสำหรับsshคำสั่ง?) ระดับความสามารถของฉัน: ฉันไม่ได้ใหม่กับการเขียนโปรแกรม แต่ยังคงเรียนรู้bashและ "วิธี Linux" ดังนั้นตัวอย่างโค้ดที่มีคำอธิบายสั้น ๆ จะได้รับการชื่นชมมากที่สุด กลยุทธ์ที่เป็นไปได้ keylogger - ปัญหา: บันทึกรหัสผ่านไม่บันทึกแท็บ / …

1
'ulimit -m' ใช้งานไม่ได้กับ Linux (ทันสมัย) หรือไม่
บทความนี้อ้างว่าการ-mตั้งค่าสถานะเพื่อulimitทำอะไรใน Linux ที่ทันสมัย ฉันไม่สามารถหาสิ่งอื่นใดมายืนยันการอ้างสิทธิ์นี้ได้ มันถูกต้องหรือไม่ คุณอาจพยายาม จำกัด การใช้หน่วยความจำของกระบวนการโดยการตั้งค่าขนาดชุดที่อยู่อาศัยสูงสุด (ulimit -m) สิ่งนี้ไม่มีผลกับ Linux ชาย setrlimit กล่าวว่าเคยใช้งานได้เฉพาะในรุ่นโบราณ คุณควร จำกัด จำนวนหน่วยความจำเสมือนสูงสุด (ulimit -v) แทน หากเป็นจริงว่ามันทำงานกับ Linux เวอร์ชันเก่าเวอร์ชันใดหยุดสนับสนุนสิ่งนี้

3
เซสชัน SSH ผ่าน OpenVPN จะตัด / ล็อคหลังจากผ่านสองสามบรรทัด
ฉันมีพีซีไร้พัดลมที่เหมือนกันจำนวนมากที่ใช้ debian 6 (ARM) ส่วนใหญ่เชื่อมต่อกันผ่าน comcast และทำงานได้ดี มีบางอย่างที่เชื่อมต่อกับโมเด็ม 'WiMax' และมีปัญหาด้านการสื่อสาร โดยเฉพาะ: ถ้าฉันเลือกหนึ่งในนี้และลองใช้คำสั่งเช่น 'ps -ax' ฉันจะได้รับประมาณ 3 บรรทัดจากนั้นเซสชั่นจะถูกล็อค ถ้าฉันปล่อยให้นั่งในที่สุดมันจะปิดด้วย 'เซสชันปิดโดยเพียร์' สิ่งที่ฉันได้ลอง: ssh -vvv →ไม่มีข้อความผิดพลาด ssh <user@host> 'command'→บางครั้งจะส่งคืนเอาต์พุตเต็มของคำสั่ง บางครั้งมันจะไม่เชื่อมต่อเลย ข้อเสนอแนะในสิ่งอื่น ๆ ที่จะลอง? ฉันพบว่าฉันสามารถรันคำสั่งบางอย่างได้สำเร็จเช่นการกดปุ่มส่งคืนโหลหรือมากกว่านั้นก็โอเค cd ~แล้วทำงานเป็นไม่lf df -hฉันสามารถรันได้dfหลายครั้งสำเร็จ แต่ทันทีที่ฉันลองบางสิ่งที่มีเอาต์พุตมากขึ้น (เช่นls /etc) มันจะล็อค มันสร้างความแตกต่างที่ฉันพยายามสื่อสารระหว่างสองโฮสต์นี้โดยใช้ OpenVPN หรือไม่?
12 networking  ip  openvpn 

3
เมื่อออกจากเทอร์มินัลล่าสุดในเซสชั่น tmux มันสามารถสลับไปยังอีก?
เมื่อฉันออกจากเทอร์มินัลสุดท้ายในเซสชั่น tmux มันจะปิด tmux โดยอัตโนมัติและนำฉันกลับไปที่เทอร์มินัลหลัก เป็นไปได้หรือไม่ที่จะเปลี่ยน tmux ไปเป็นเซสชันอื่นที่ทำงานอยู่แล้วแทนที่จะปิด? ฉันสร้างเซสชันที่มีชื่อใหม่สำหรับทุกงานที่ฉันทำงานเช่น TRxxx อีเมลเกา ฯลฯ และเมื่อฉันทำกับหนึ่งในนั้นฉันปิดเทอร์มินัลทั้งหมดโดยใช้ทางออกในทุก ๆ เมื่อคุณรัน exit ในเทอร์มินัลสุดท้ายของเซสชัน tmux จะนำคุณกลับไปที่เทอร์มินัลหลัก แต่เป็นไปได้ไหมที่จะเปลี่ยนเป็นเซสชันเปิดอื่น ๆ แทนดังนั้นฉันไม่ต้องติดตั้งใหม่ คำถามนี้คล้ายกับ " Kill a tmux session และเลือกอีก tmux session " แต่ฉันต้องการปิดเทอร์มินัลด้วยวิธีที่ดีโดยใช้ exit แทนการฆ่าหน้าต่าง
12 tmux 

2
แก้ไขปัญหาแพคเกจที่ใช้งานไม่ได้บนเดเบียนไหม
ฉันต้องการเริ่มต้นสำรวจตัวเองให้ห่างจากแอพ Google เพราะมันมีราคาแพงและดูเหมือนว่า Citadel มีฟังก์ชั่นกลุ่มแวร์ทั้งหมดที่ฉันต้องการ ดังนั้นฉันกำลังพยายามติดตั้งชุด Citadel ด้วย: apt-get install citadel-suite แต่มันกลับมา: citadel-suite: ขึ้นอยู่กับ: citadel-mta แต่จะไม่ได้รับการติดตั้ง E: ไม่สามารถแก้ไขปัญหาได้คุณได้จัดแพคเกจที่เสียหาย ก็ใช่ มันต้องการ citadel-mta นั่นคือจุดครึ่ง เหตุใดจึงไม่ได้รับการติดตั้ง มีแพคเกจอะไรหัก ทำไมพวกเขาถึงแตก? ทำไมพวกเขาจัดขึ้น? ฉันไม่ได้จับพวกเขา หรือทำลายพวกเขาสำหรับเรื่องที่ ปัญหาของ apt-get คือว่าใน 10 ปีที่ฉันใช้มันมันมีให้ยืมวลี Apple เพียงทำงาน ตอนนี้ไม่เป็นเช่นนั้นฉันค่อนข้างจะสูญเสีย ฉันลองสวิตช์ -f แล้ว แต่ก็ไม่ได้ช่วยอะไร ฉันไม่ได้ทำการแก้ไขใด ๆ กับ /etc/apt/sources.list ดังนั้นฉันจึงไม่สามารถเปลี่ยนกลับได้ ฉันควรลองสิ่งต่อไปอย่างไร
12 debian  apt 


3
ไม่สามารถเชื่อมต่อกับการเชื่อมต่อ localhost ใด ๆ
ฉันกำลังใช้ Centos 6.5 พร้อมอัปเดตล่าสุด ปัญหาของฉันคือเมื่อใดก็ตามที่ฉันพยายามที่จะเชื่อมต่อกับบริการในท้องถิ่นมันก็แค่แฮงค์เช่น: wget wget 127.0.0.1 --2014-03-11 12:43:42-- http://127.0.0.1/ Connecting to 127.0.0.1:80... After a while timeout... SSH # ssh 127.0.0.1 -p 6060 -v OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to 127.0.0.1 [127.0.0.1] port 6060. debug1: connect …

2
ฉันจะกำจัด Kerberos สำหรับ passwd ได้อย่างไร
เมื่อฉันออกคำสั่งให้เปลี่ยนรหัสผ่านของฉันเช่นนี้: sudo passwd huahsin ระบบแจ้งให้ฉัน: Current Kerberos password: ฉันไม่รู้ว่าได้ทำอะไรกับการกำหนดค่าระบบฉันจะกำจัดสิ่ง Kerberos นี้ได้อย่างไรเมื่อฉันเปลี่ยนรหัสผ่าน
12 linux  kerberos  passwd 

2
PATH บน Mac OS คืออะไร
อะไรคือสิ่งที่PATHอยู่ใน Mac OS? ฉันได้ใช้มันเพื่อติดตั้งเครื่องมือบรรทัดคำสั่งระดับโลก แต่เอกสารเดียวที่ฉันได้พบคือบทเรียนสำหรับการทำเช่นนั้นโดยไม่มีคำอธิบายที่แท้จริงของสิ่งที่เกิดขึ้นภายใต้ประทุน ฉันยังไม่ได้พบหน้าเว็บที่เกี่ยวข้องในวิกิพีเดีย ดังนั้นอะไรคือจุดประสงค์PATHและความแตกต่างระหว่าง/etc/pathsและ~/.bash_profile** คืออะไร ตัวอย่างเช่นในpathsไฟล์ของฉันฉันเห็นสิ่งนี้: /usr/bin /bin /usr/sbin /sbin /usr/local/bin แต่ในของ~/.bash_profileฉันฉันเห็นสิ่งนี้: # Setting PATH for Python 2.7 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH นี่เป็นเพียงส่วนเพิ่มเติมเฉพาะของผู้ใช้ในpathsไฟล์หรือไม่ มีอะไรอยู่ในpathsนั้น/usr/binบ้างไหม?
12 osx  path  binary 

3
เราจะติดตามปัญหาการล่มของโปรแกรมใน Linux ได้อย่างไร?
หากแอปพลิเคชันขัดข้องใน Windows เราสามารถตรวจสอบตัวแสดงเหตุการณ์ในเครื่องมือการดูแลระบบเพื่อดูสิ่งที่ผิดพลาด บางครั้งมันมีข้อมูลที่เป็นประโยชน์อื่น ๆ ไม่ได้ แต่มันเป็นการเริ่มต้น ใน linux หากแอปพลิเคชัน (ใด ๆ ) ขัดข้องว่ามีใครเริ่มติดตามสิ่งที่เกิดขึ้น มีบันทึกกลางบางอย่างหรือคล้ายกันบ้างไหม?

4
วิธีการเพิ่มรูปแบบการทุบตีเสร็จสิ้น (สำหรับ unzip)?
เมื่อฉันพิมพ์ unzip <tab> ฉันได้รับรายชื่อของไฟล์ทั้งหมดที่ลงท้ายด้วย.zipซึ่งเป็นพฤติกรรมมาตรฐานของการทำให้แท็บเสร็จสมบูรณ์สำหรับunzipคำสั่ง อย่างไรก็ตามฉันยังต้องการทุบตีเสร็จสิ้นสำหรับunzipรายการไฟล์ที่ลงท้าย.udpด้วยนอกเหนือจาก.zipไฟล์ ฉันจะทำพฤติกรรมนี้ในท้องถิ่นของฉันได้.bashrcอย่างไร

3
การกระจายสคริปต์: ฉันควรใช้ / bin / gawk หรือ / usr / bin / gawk สำหรับ shebang หรือไม่
เหยี่ยวใน / bin หรือ / usr / bin เป็นปกติหรือไม่? ฉันจะไปด้วย#!/usr/bin/env gawkแต่แล้วฉันก็ไม่สามารถใช้การโต้แย้ง #!/bin/gawk -fตอนนี้ผมใช้ สคริปต์ยาวมากและมีคำพูดเดียวจำนวนมากและใช้งานได้กับ stdin คู่มือ GNU Awk มีส่วน 1.1.4 โปรแกรมปฏิบัติการ awkที่ใช้ #! / bin / awk ในตัวอย่าง แต่จะพูดต่อไปว่า: โปรดทราบว่าในระบบจำนวนมากawkอาจพบได้ในแทนใน/usr/bin /binCaveat Emptor คนส่วนใหญ่ทำอะไร ฉันได้อ่านsed แล้วจะถือว่าเป็นมาตรฐานใน / binในขณะที่ perl นั้นควรจะเป็นมาตรฐานใน / usr / bin (หน้าเดียวกับ sed link แต่พวกเขาจะไม่ให้ฉันสร้างลิงค์ที่สามสำหรับโพสต์นี้) แล้ว awk / …
12 awk  shebang  env 

1
การส่งออกผิดพลาดของ du?
ฉันคิดว่าคำสั่ง du ของฉันสับสน % du -shc DIR ... ... 6123941496 total % du -shc DIR ... ... 6.1G total % du -sc --si DIR ... ... 6.6G total ฉันลองให้LANG=Cและตรวจสอบผลลัพธ์ซ้ำในสเปรดชีต ดูเหมือนว่า -h เอาต์พุตโดยใช้พลังของ 1,000 (--si) และ --si ให้คำตอบที่ผิด ฉันคิดว่าคำตอบที่ถูกต้องควรเป็น 5.7G สำหรับ -h และ 6.1G สำหรับ --si แล้วจะเกิดอะไรขึ้นที่นี่? % du --version du …
12 disk-usage 

2
จะเก็บไพพ์ (|) ในตัวแปรได้อย่างไร?
แนวคิดจะใช้เป็น ... ไปป์ในคำสั่ง ตัวอย่างเช่นสมมติว่ามีเส้นทางยาว ๆ ที่ต้องพิมพ์ซ้ำอีกครั้งตามด้วยไพพ์และโปรแกรมที่สองเช่น "directory1/directory2/direcotry3/file.dat | less -I " ฉันต้องการให้ส่วนนั้นถูกเก็บไว้ในตัวแปรดังนั้นจึงสามารถใช้เช่นนี้: r="directory1/directory2/direcotry3 \| less -I -p " $ cat path1/path2/$r <searchterm> แต่ฉันได้รับ cat: invalid option -- I Try `cat --help' for more information. ... หมายถึงท่อไม่ทำงาน
12 bash  pipe  variable 

6
DU: แสดงเฉพาะโฟลเดอร์ที่ระดับความลึก
ฉันได้รับผลลัพธ์จากdu -hสิ่งต่อไปนี้ 103M ./.wine/drive_c/windows/mono/mono-2.0/lib/mono 103M ./.wine/drive_c/windows/mono/mono-2.0/lib 129M ./.wine/drive_c/windows/mono/mono-2.0 129M ./.wine/drive_c/windows/mono 362M ./.wine/drive_c/windows 545M ./.wine/drive_c ฉันต้องการแสดงเฉพาะโฟลเดอร์ที่สามารถดำเนินการได้มากที่สุดเท่านั้นซึ่งคือโฟลเดอร์ ./.wine/drive_c/windows/mono/mono-2.0/lib/mono มีวิธีใดที่จะลบโฟลเดอร์พาเรนต์ถ้าโฟลเดอร์ลูกรับผิดชอบการใช้พื้นที่ดิสก์ส่วนใหญ่หรือไม่? การตั้งค่าเพื่อแสดงเฉพาะโฟลเดอร์ใบไม้อาจใช้เคล็ดลับหรือการตั้งค่าเพื่อลบขนาดของโฟลเดอร์ย่อยทั้งหมดจากโฟลเดอร์หลักเมื่อคำนวณขนาดของโฟลเดอร์หลัก
12 disk-usage 

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