Unix & Linux

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

1
ประเภท 'none' สำหรับจุดเมานท์คืออะไรและทำไมเมาท์พอยต์ของประเภทเดียวกันด้านล่าง / วิ่ง?
ใน Ubuntu 14.04 เมื่อรันคำสั่ง mount ฉันได้รับข้อความที่ตัดตอนมา tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) ฉันไม่เข้าใจว่าทำไมไดเรกทอรีย่อยของ/runถูกเมาท์ภายในไดเรกทอรีหลักที่เมานต์แล้ว ( /run) และความnoneหมายของระบบไฟล์ /etc/fstabไฟล์ของฉันว่างเปล่า

8
mount.cifs ไม่สามารถใช้ไฟล์ข้อมูลรับรองเดียวกับที่ smbclient ใช้
ฉันกำลังพยายามติดตั้ง NetApp CIFS ให้กับเซิร์ฟเวอร์ของเราและฉันได้รับ "Permission Denied" พิมพ์ไปยัง stderr และNT_STATUS_WRONG_PASSWORDพิมพ์ไปยังที่ทำงานdmesgอยู่ root@xxxehpvld05 ~ $ mount.cifs -vv //zhp-nas.xxx.com/perspectives /mnt/secure/cifs -o credentials=/etc/cifs.creds mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) root@xxxehpvld05 ~ $ dmesg | tail CIFS VFS: cifs_mount failed w/return code = -13 Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD …
10 linux  samba  cifs  smb 

2
ส่งสำเนาของเอาต์พุตสคริปต์ไปยังไฟล์
สมมติว่าฉันมีสคริปต์ Zsh และฉันต้องการให้มันพิมพ์ผลลัพธ์ไปSTDOUTยัง แต่ก็คัดลอก (ดัมพ์) เอาต์พุตไปยังไฟล์ในดิสก์ ยิ่งกว่านั้นสคริปต์เริ่มต้นด้วยตัวเลือกต่อไปนี้ set -o xtrace ซึ่งบังคับให้มันเป็น verbose และพิมพ์คำสั่งที่มันทำงาน ฉันต้องการที่จะจับเอาท์พุทนี้เช่นกันในไฟล์ในดิสก์ ความเข้าใจของฉันคือถ้าฉันทำ ./my_script.sh > log.txt มันจะส่งSTDOUTไปlog.txtแต่ถ้าฉันต้องการที่จะเห็นเอาท์พุทใน terminal? ฉันได้อ่านเกี่ยวกับteeและMULTIOSตัวเลือกใน zsh แต่ฉันไม่แน่ใจว่าจะใช้พวกเขา เมื่อฉันทำ: ./my_script | tee log.txt ฉันสามารถเห็นผลลัพธ์บนเทอร์มินัล แต่ไฟล์ไม่log.txtเห็นว่าจะจับทุกอย่าง (อันที่จริงมันเก็บแทบทุกอย่าง)

3
ตัวแปรสภาพแวดล้อมไม่ได้ถูกตั้งค่าเมื่อฟังก์ชั่นของฉันถูกเรียกในไปป์ไลน์
ฉันมีฟังก์ชันแบบเรียกซ้ำต่อไปนี้เพื่อตั้งค่าตัวแปรสภาพแวดล้อม: function par_set { PAR=$1 VAL=$2 if [ "" != "$1" ] then export ${PAR}=${VAL} echo ${PAR}=${VAL} shift shift par_set $* fi } ถ้าฉันเรียกมันด้วยตัวมันเองมันจะตั้งค่าตัวแปรและ echoes เป็น stdout: $ par_set FN WORKS FN=WORKS $ echo "FN = "$FN FN = WORKS การเปลี่ยนเส้นทาง stdout ไปยังไฟล์ยังใช้งานได้: $ par_set REDIR WORKS > out cat …

1
เริ่มต้นการเชื่อมต่อ ssh จากเซิร์ฟเวอร์ไปยังไคลเอนต์
เราสามารถเชื่อมต่อผ่านsshเครื่องระยะไกลที่มี IP สาธารณะได้อย่างง่ายดาย แต่ตอนนี้ฉันมีเครื่องระยะไกลที่ไม่มี IP สาธารณะและฉันต้องเชื่อมต่อกับมันจากเครื่องของฉันที่มี IP สาธารณะ ดังนั้นเครื่องระยะไกลควรเริ่มต้นการเชื่อมต่อนี้ (เพิ่มไคลเอนต์) ฉันต้องการเพราะมีปู่ของฉันในคอมพิวเตอร์ที่ไม่มี IP สาธารณะและเขาต้องการความช่วยเหลือในระบบของเขาในบางครั้ง ในสถานการณ์ที่คล้ายกันบน Windows ฉันใช้การเชื่อมต่อ VNC (โดย TightVNC) เซิร์ฟเวอร์ TightVNC มีตัวเลือก "เพิ่มลูกค้า": ผู้ใช้เพิ่งป้อน IP ของลูกค้า (เช่น IP สาธารณะของฉัน) ลูกค้าของฉันอยู่ใน "โหมดการฟัง" และ เมื่อ "เซิร์ฟเวอร์" เพิ่มลูกค้าการเชื่อมต่อจะเริ่มต้นได้ ดังนั้นจึงเป็นไปได้ที่จะทำการหลอกลวงด้วยการเชื่อมต่อ SSH?

3
ไฟล์ swap ที่เพิ่มขึ้นแบบไดนามิกใน Debian
ฉันรู้วิธีสร้างไฟล์ swap และใช้เป็น swap แต่ฉันต้องกำหนดขนาดของไฟล์ไว้ล่วงหน้าและใช้พื้นที่บนดิสก์ถ้ามีการใช้ swap หรือไม่ ฉันจะสร้าง swap ที่มีขนาดเริ่มต้นเป็น 0 และเติบโตได้อย่างไรตามความต้องการ
10 linux  swap 

1
ฉันจะรักษา glibc / gcc / … stack ที่แยกต่างหาก (ใหม่กว่า) ได้อย่างไรในรูปแบบที่ไม่ใช่รูทบน Linux
คลัสเตอร์การคำนวณของเรารัน CentOS เวอร์ชันเก่ามากโดยมีเคอร์เนลเก่า (2.6.18) และแน่นอน libs เก่าและไบนารี เนื่องจากการอัปเดตสิ่งทั้งหมดต้องการงานจำนวนมากบนโหนดทั้งหมดนี่ไม่ใช่ตัวเลือก ฉันกำลังพยายามรวบรวมและใช้โปรแกรมที่ต้องการC++11และดังนั้นรุ่นที่ใหม่กว่าของgcc(และ / หรือclang) เนื่องจากฉันไม่ต้องการยุ่งกับระบบเลยฉันต้องการทำสิ่งนี้ในฐานะผู้ใช้ที่ไม่ใช่รูทในทรีไดเรกทอรีในเครื่อง ปัญหาคือที่gccต้องใหม่glibcกว่าที่มีอยู่ในเครื่อง ดังนั้นผมจำเป็นต้องรักษาแยกรุ่นใหม่glibcในท้องถิ่นของฉันlib/ต้นไม้อาจจะเป็นตามที่อธิบายไว้ที่นี่ ที่ฉันหายไปคือวิธีการทำผม "ฝัง" เส้นทางของ libs ท้องถิ่นของฉันในทุกไบนารีที่จำเป็นเช่นgcc, g++ฯลฯ ? การตั้งค่า LD_LIBRARY_PATH กับแผนผังโลคัลของฉันlib/ทำให้ไบนารีระบบทั้งหมดไม่ทำงานอีกต่อไป ( ELF file OS ABI invalid) เพราะพวกเขาต้องการใช้ใหม่libm.so/ libc.soกับที่พวกเขายังไม่ได้รวบรวม ดังนั้นเพื่อตัดมันขึ้น: อะไรคือวิธีการที่เหมาะสมในการรักษาใหม่กองพัฒนาท้องถิ่น (ที่มีglibc, gccฯลฯ ) ในแบบคู่ขนานกับระบบเก่าได้โดยไม่ต้อง messing รอบเป็นราก? ตามคำถามด้านข้าง: การตั้งค่า LD_LIBRARY_PATH จะโพสต์เป็นโซลูชันทั่ว SE เมื่อแยกออกglibcมา สำหรับฉันมันทำให้เกิดข้อผิดพลาดด้านบนเมื่อฉันพยายามรันไบนารีระบบใด ๆ (เช่นls) มาทำไม …


1
ทำไมผู้อ่านถึงแสดง“ System V” เป็นระบบปฏิบัติการของฉันแทนที่จะเป็น Linux
ฉันรวบรวมโปรแกรม C ขนาดเล็ก (รหัส 2 บรรทัด) กับ gcc เพื่อพยายามทำความเข้าใจกับรูปแบบไฟล์ ELF ทำreadelf -hในไฟล์วัตถุฉันมีในส่วนหัว: OS/ABI: UNIX - System V ฉันกำลังใช้งาน Fedora ดังนั้นทำไมไม่ใช้ Linux แทนล่ะ แก้ไข : ฉันรวบรวม int main(){ int x = 0; x++; } gcc -o main.o -c main.cกับ รุ่น gcc ของฉันคือ gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
10 linux  elf 

1
“ เวลาของระบบ” คืออะไรเมื่อใช้“ เวลา” ในบรรทัดคำสั่ง
ฉันใช้timeเวลากับPerlสคริปต์บนเทอร์มินัลมาตรฐานใน Ubuntu 14.04 ฉันได้อ่านนั่นreal timeคือเวลานาฬิกาจับเวลา; เวลาที่ฉันเป็นผู้ใช้กำลังดูที่โปรแกรมกำลังทำงานจากฉันเริ่มโปรแกรมจนกว่าจะสิ้นสุดลง แต่ฉันไม่ได้สิ่งที่userหรือsysเวลา หน้าคนที่timeคลุมเครือพูดน้อยที่สุด ในขณะที่มันค่อนข้างชัดเจนว่าrealเวลาแบ่งระหว่างuserและsysไม่ชัดเจนสิ่งที่พวกเขาเป็นตัวแทน ในสคริปต์ของฉันฉันกำลังทำการเปรียบเทียบ [1] C ++ และ Perl เพื่อดูความแตกต่างและฉันต้องการทราบว่าฉันได้รับข้อมูลอะไรจริง ๆ ตัวอย่างผลลัพธ์คือ: real 0m24.198s user 0m23.120s sys 0m1.030s มีคนช่วยอธิบายรายละเอียดเกี่ยวกับรูปแบบเวลาเริ่มต้นให้ผู้ใช้ทราบได้อย่างไร ฉันเป็นสามเณรใน Linux ดังนั้นโปรดอย่าคิดมากเกินไป [1] ที่น่าสนใจในขณะที่ C ++ เป็นวิธีที่เร็วกว่า Perl ในเกณฑ์มาตรฐานของฉันในเรื่องrealเวลา แต่sysเวลาไม่ได้แตกต่างกันมากนักโดย C ++ ใช้sysเวลามากกว่า Perl จริง ๆ นี่คือเหตุผลที่ฉันต้องการรู้ว่าพวกเขาหมายถึงอะไร
10 time 

3
ไดเรกทอรีบ้านและ pam.d โดยใช้ LDAP
แบ็คกราวน์: ฉันไม่คุ้นเคยกับ ins และ outs of pam และ LDAP authentication ในด้านการกำหนดค่า ฉันใช้ระบบที่ใช้ pam แต่ฉันได้ทำงานกับแอปพลิเคชันเท่านั้นไม่ใช่ระบบเอง คำถาม: การใช้แพมเพื่อควบคุมการพิสูจน์ตัวตนผ่าน LDAP สิ่งนี้หมายความว่าจะไม่สร้างไดเรกทอรีภายในบ้านบนระบบหรือไม่ ถ้าไม่ฉันจะสร้างผู้ใช้บนเซิร์ฟเวอร์หรือส่งผู้ใช้ไปยังระบบจากแหล่ง LDAP หรือไม่?
10 users  pam  home  ldap 

1
ฉันจะติดตั้ง gcc ล่าสุดบน FreeBSD ได้อย่างไร
ฉันจะติดตั้งgccFreeBSD ล่าสุดได้อย่างไรและตั้งค่าระบบเพื่อให้เวอร์ชันล่าสุดนี้ถูกใช้เพื่อรวบรวมโปรแกรมเพิ่มเติม ในขณะที่เขียนนี้รุ่นล่าสุดgccคือรุ่น 4.9.0 และฉันใช้ FreeBSD 10.0 ฉันต้องการg++คอมไพเลอร์ C ++ จริงๆ แต่ฉันจำเป็นต้องติดตั้งgcc49แพคเกจเช่นนี้ใช่ไหม
10 freebsd  gcc  g++ 

2
เหตุใดบันทึก sshd ของฉันจึงแสดงหลายครั้งในพอร์ตที่ไม่ถูกต้อง
ssh daemon ของฉันถูกตั้งค่าให้ฟังบนพอร์ต 2221 ฉันได้ปิดใช้งานการเข้าสู่ระบบด้วย root จาก ssh ฉันไม่เข้าใจว่าทำไมauth.logฉันจึงเห็นความพยายามในการเข้าสู่ระบบพอร์ตอื่น ๆ (ตัวอย่างกับ 4627 ที่นี่) May 17 15:36:04 srv01 sshd[21682]: PAM service(sshd) ignoring max retries; 6 > 3 May 17 15:36:08 srv01 sshd[21706]: User root from 218.10.19.134 not allowed because none of user's groups are listed in AllowGroups May 17 15:36:08 srv01 …


1
หน้าจอสัมผัสและเมาส์เป็นอินพุตแยกกันหรือไม่
ใครช่วยให้ฉันอ้างอิงที่ดีเกี่ยวกับวิธีการบรรลุเป้าหมายนี้หรือเพียงแค่บอกฉันว่ามันทำอย่างไร Google ไม่ได้ช่วยฉันที่นี่จริงๆเพราะจะพยายามให้คำแนะนำกับทัชแพดเสมอ: /

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