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

Linux เป็นคำศัพท์ทั่วไปสำหรับระบบปฏิบัติการโอเพนซอร์ซเหมือนโอเพนซอร์สที่ใช้เคอร์เนลลินุกซ์

4
วิธีเปลี่ยนเส้นทาง stdout ไปยังไฟล์ต่อไปหลังจากที่ logrotate ทำการย้ายมัน
ฉันมีสคริปต์ง่าย ๆ ซึ่งส่งออกเป็นกลุ่มของบันทึกไปยังหน้าจอและฉัน pip STDOUT ไปยังไฟล์เพื่อเก็บบันทึก เนื่องจากสคริปต์นี้ใช้งานได้นานฉันจึงต้องหมุนไฟล์บันทึกเพื่อให้ไฟล์เหล่านั้นถูกจับให้เล็กลงและจัดการได้ง่ายขึ้น ปัญหาที่ฉันพบคือเมื่อlogrotateย้ายไฟล์บันทึกปัจจุบันไปยังไฟล์ใหม่ไฟล์บันทึกที่สร้างขึ้นใหม่จะไม่ได้บรรจุด้วยบันทึกอีกต่อไป ดูเหมือนว่าเมื่อไฟล์บันทึกดั้งเดิมถูกลบแล้วตัวจัดการไฟล์จะหายไปและการเปลี่ยนเส้นทางจะไม่ทำงานอีกต่อไป ฉันพบโพสต์นี้ซึ่งมีปัญหาเช่นเดียวกับฉันและอ้างว่าสามารถแก้ไขได้โดยใช้>>แทน>การเปลี่ยนเส้นทางเอาต์พุต ฉันทดสอบวิธีการแก้ปัญหาของเขา แต่มันไม่ได้ผลสำหรับฉัน ใครบ้างมีความคิดวิธีการทำให้การเปลี่ยนเส้นทางทำงานได้หรือไม่

5
วิธีหยุด / ป้องกัน SSH bruteforce [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับข้อบกพร่องของเซิร์ฟเวอร์ ปิดเมื่อปีที่แล้ว ฉันยังใหม่ต่อการบริหารเครือข่ายดังนั้นโปรดพิจารณาว่าฉันยังไม่เคยมีประสบการณ์ ฉันมีรูทเซิร์ฟเวอร์ Ubuntu พร้อมแผงควบคุม เมื่อวานเพื่อนของฉันและฉันสังเกตเห็นว่าคุณภาพการพูดของ TS3 ของเราแย่มาก ฉันส่ง Ping ไปที่เซิร์ฟเวอร์และมีการสูญเสียแพ็คเก็ตที่สูงมาก หลังจากนั้นฉัน googled auth.logบิตและพบว่ามีการ ฉันดาวน์โหลดและเลื่อนไปรอบ ๆ แล้วฉันพบสิ่งนี้: May 13 10:01:27 rs204941 sshd[9351]: input_userauth_request: invalid user student [preauth] May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): check pass; user unknown May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): authentication failure; …

4
มีคำสั่ง Unix / Linux เพื่อนับบรรทัดต่อวินาทีจาก stdin หรือไม่
ฉันพยายามนับจำนวนการสืบค้น SQL ต่อวินาทีจากล็อกไฟล์และฉันต้องการทำแบบเรียลไทม์โดยการวางท่อ stdout จาก grep ลงในคำสั่งบางคำสั่ง (ฉันกำลังทำการทดสอบประสิทธิภาพอยู่) ฉันสามารถเขียนได้ด้วยตัวเอง แต่คิดว่านี่จะเป็นจริง ฉันดูที่ wc แต่ไม่เห็นตัวเลือกให้อนุญาตสิ่งนี้ ฉันยังสามารถใช้มันเพื่อนับคำขอต่อวินาทีโดยการ pip หางจากบันทึกการเข้าถึง

2
วิธีรับเอาท์พุทคำสั่งสูงสุดเพื่อแสดงอาร์กิวเมนต์ rake
ในอดีตเซิร์ฟเวอร์ของเราทั้งหมดจะแสดงอาร์กิวเมนต์คำสั่งที่ส่งผ่านไปยังเรคโดยอัตโนมัติเมื่อเราดูในอันดับต้น ๆ ตัวอย่างเช่น: แต่บนเซิร์ฟเวอร์นี้โดยเฉพาะเราได้รับสิ่งนี้แทน (รูปภาพทำงานด้านบนแสดงคำสั่ง rake แต่ไม่แสดงอาร์กิวเมนต์ใด ๆ ที่ถูกส่งผ่านไปยังเรค): เซิร์ฟเวอร์ทั้งสองกำลังเรียกใช้ Ubuntu (แม้ว่าเซิร์ฟเวอร์ที่ไม่มีคำสั่ง rake จะเป็นรุ่นใหม่กว่าของ ubuntu) ทั้งสองวิ่งผ่าน rake ผ่าน ruby ​​enterprise edition (จัดทำโดย rvm) ดูเหมือนจะไม่พบเอกสารใด ๆ เกี่ยวกับวิธีการเลือกสิ่งที่จะแสดงในคอลัมน์ "คำสั่ง" นอกเหนือจากการสลับ "มากกว่าข้อมูล / ข้อมูลน้อยลง" ที่ชัดเจน (ภาพหน้าจอทั้งหมดจะแสดงเมื่อเปิดใช้งานข้อมูลเพิ่มเติม มีใครพบอะไรที่คล้ายกันกับสิ่งนี้หรือไม่
22 linux  ubuntu  top 

3
ฉันจะอัปเกรดเป็น PHP เวอร์ชันล่าสุดใน CentOS ด้วย yum ได้อย่างไร
ฉันพบบางบล็อกโพสต์เกี่ยวกับเรื่องนี้ แต่มันค่อนข้างขาดคำอธิบายเกี่ยวกับผลข้างเคียงที่เป็นไปได้ ฉันสามารถใช้รายละเอียดบางอย่างเกี่ยวกับขั้นตอนเหล่านี้: วิธีเพิ่ม repo ที่ให้ PHP 5.4 ลงใน yum สามารถแทนที่รุ่น PHP ปัจจุบันใน CentOS ได้อย่างราบรื่นหรือไม่? ฉันจะเปลี่ยนกลับไปเป็น repo อย่างเป็นทางการได้เมื่อมันรองรับ PHP 5.4 ได้อย่างไร? (ปัจจุบัน 5.3.3 ในระบบของฉัน) มีโอกาสที่จะทำลายโมดูล PHP ที่ฉันใช้อยู่หรือไม่ บันทึก ผู้คนอัพเกรดด้วยวิธีเดียวกันในเวอร์ชันที่ใหม่กว่าและแนะนำให้ลบเฉพาะรุ่นในคำถาม แม้ว่าจะเป็นการดีที่จะปักหมุดรุ่นในกรณีที่รุ่นที่ใหม่กว่าแบ่งบางสิ่งบางอย่างฉันต้องการเก็บเวอร์ชันสำเร็จที่แนะนำโดยชุมชนไว้เป็นโน้ต อย่าลังเลที่จะอัปเดตสิ่งนี้หากคุณประสบความสำเร็จในการอัพเกรดกับรุ่นอื่น ๆ รุ่น PHP: 5.4, 5.5, 5.6 รุ่น CentOS: 5, 6
22 linux  php  centos  yum  centos6 

2
คุณจะหนีจากตัวละครใน heredoc ได้อย่างไร?
ฉันทำงานกับสคริปต์ทุบตีที่พยายามหยุดไม่ให้พยายามแทนที่ตัวแปรภายใน heredoc ของฉัน จะตั้งค่า heredoc ให้เป็น A) ยกเว้นชื่อตัวแปรแทนที่จะทำการแยกวิเคราะห์หรือ B) คืนค่าสตริงทั้งหมดที่ไม่ถูกแตะต้อง? cat > /etc/nginx/sites-available/default_php <<END server { listen 80 default; server_name _; root /var/www/$host; <--- $host is a problem child } END ตามที่เป็นเมื่อฉันเสร็จสิ้นการฉีดมันลงในไฟล์ฉันเหลือกับนี้ server { listen 80 default; server_name _; root /var/www/; }
22 linux  bash  heredoc 

4
KVM / qemu - ใช้ปริมาณ LVM โดยตรงโดยไม่ต้องใช้ไฟล์ภาพ?
ฉันไม่แน่ใจว่าจะใช้วลีคำถามนี้อย่างไร (ดังนั้นชื่อที่ไม่ดี) ดังนั้นฉันขอยกตัวอย่างสิ่งที่ฉันพยายามทำ ในโฮสต์ Xen (เก่า) ของฉันฉันสามารถนำเสนอระบบไฟล์ LVM โดยตรงกับแขกแต่ละคนได้ ระบบไฟล์เหล่านี้ถูกสร้างขึ้นจริงและจัดรูปแบบบนโฮสต์และส่งผ่านโดยตรง เช่นสำหรับหนึ่งในโฮสต์ของฉันที่ใช้พาร์ติชัน tmp และ swap แยกกันฉันจะกำหนดที่เก็บข้อมูลดังนี้: disk = [ 'phy: / dev / vg1 / guest1-swap, sda1, w', 'phy: / dev / vg1 / guest1-disk, sda2, w', 'phy: / dev / vg1 / guest1-tmp, sda3 , w ', ] ดังนั้น guest1-swap …

3
เช็ดเซิร์ฟเวอร์ Linux ทั้งหมดด้วยตัวเองอย่างปลอดภัย
ฉันมีการเข้าถึง ssh จากระยะไกลและการเข้าถึงรูท ฉันไม่มีสิทธิ์เข้าถึงทางกายภาพ ฉันไม่ได้มองหาวิธีแก้ปัญหาที่เกี่ยวข้องกับการบูทเข้ากับอะไรฉันต้องการทำสิ่งนี้จากสิ่งที่กำลังทำงานอยู่ ระบบปฏิบัติการคือ SL6 มีวิธีโหลดทุกอย่างที่จำเป็นลงใน RAM และใช้ dd หรือคล้ายกับการล้างดิสก์ทั้งหมดอย่างปลอดภัยหรือไม่? เห็นได้ชัดว่านี่จะส่งผลให้กล่องไม่ทำงานในที่สุดผลลัพธ์ที่ฉันตั้งใจ ดูเหมือนว่าจะเป็นไปได้ ภาพเพิ่มเติมที่น่าสนใจอีกสองรายการ: สามารถ ssh in, รันหน้าจอ, รันคำสั่ง dd และปลด เข้าสู่ระบบในอีกหนึ่งสัปดาห์ต่อมาเมื่อมันเสร็จ :) ยังไงก็มีแถบความคืบหน้า? ปรับปรุง : ตอนนี้ฉันจะไปกับตัวเลือก chroot กำลังทำ: mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 …

8
ฉันควรปิด swap สำหรับเว็บเซิร์ฟเวอร์ linux หรือไม่
เมื่อเร็ว ๆ นี้เพื่อนของฉันบอกฉันว่ามันเป็นความคิดที่ดีที่จะปิด swap บนเว็บเซิร์ฟเวอร์ linux ที่มีหน่วยความจำเพียงพอ เซิร์ฟเวอร์ของฉันมี 12 GB และปัจจุบันใช้ 4GB (ไม่นับแคชและบัฟเฟอร์) ภายใต้โหลดสูงสุด อาร์กิวเมนต์ของเขาคือว่าในเซิร์ฟเวอร์สถานการณ์ปกติจะไม่ใช้ RAM ทั้งหมดดังนั้นวิธีเดียวที่จะสามารถพบสถานการณ์ OutOfMemory ได้เนื่องจากบั๊ก / ddos ​​/ etc ดังนั้นในกรณีที่ swap ถูกปิดระบบจะมีหน่วยความจำไม่เพียงพอซึ่งจะทำให้หน่วยความจำของโปรแกรมหยุดทำงานชั่วคราว (เป็นไปได้มากว่ากระบวนการเซิร์ฟเวอร์เว็บ) และกระบวนการอื่น ๆ ในกรณีที่มีการเปิดการแลกเปลี่ยนบนมันจะกินทั้ง RAM และ swap และในที่สุดจะส่งผลให้เกิดความผิดพลาดเหมือนกัน แต่ก่อนหน้านั้นมันจะถ่ายกระบวนการที่สำคัญเช่น sshd เพื่อสลับและเริ่มทำการแลกเปลี่ยนจำนวนมากซึ่งทำให้เกิดการชะลอตัวครั้งใหญ่ วิธีนี้เมื่ออยู่ภายใต้ระบบ ddos ​​อาจเข้าสู่สภาพที่ใช้ไม่ได้อย่างสมบูรณ์เนื่องจากความล่าช้ามากและฉันอาจจะไม่สามารถเข้าสู่ระบบและฆ่ากระบวนการเว็บเซิร์ฟเวอร์หรือปฏิเสธการรับส่งข้อมูลที่เข้ามาทั้งหมด (ทั้งหมดยกเว้น ssh) ถูกต้องหรือไม่ ฉันทำบางสิ่งบางอย่างหายไป (เช่นข้อเท็จจริงที่ว่าการสลับพาร์ติชั่นนั้นมีประโยชน์อย่างมากแม้ว่าฉันจะมี RAM เพียงพอ) ฉันควรปิดหรือไม่

1
สองเน็ตเวิร์กอินเตอร์เฟสและสอง IP แอดเดรสบนซับเน็ตเดียวกันใน Linux
ฉันเพิ่งเจอสถานการณ์ที่ฉันต้องการที่อยู่ IP สองแห่งบนซับเน็ตเดียวกันที่กำหนดให้กับโฮสต์ Linux หนึ่งตัวเพื่อให้เราสามารถเรียกใช้ไซต์ SSL / TLS สองแห่ง วิธีแรกของฉันคือใช้นามแฝง IP เช่นใช้ eth0: 0, eth0: 1 เป็นต้น แต่ผู้ดูแลระบบเครือข่ายของเรามีการตั้งค่าที่เข้มงวดพอสมควรเพื่อความปลอดภัยที่ทำให้ความคิดนี้แย่ลง: พวกเขาใช้การสอดแนม DHCP และโดยปกติจะไม่อนุญาตให้ใช้ที่อยู่ IP แบบคงที่ การกำหนดแอดเดรสแบบสแตติกทำได้โดยใช้รายการ DHCP แบบคงที่ดังนั้นที่อยู่ MAC เดียวกันจะได้รับการกำหนด IP เดียวกันเสมอ คุณลักษณะนี้สามารถปิดการใช้งานต่อสวิตช์พอร์ตหากคุณถามและคุณมีเหตุผล (ขอบคุณฉันมีความสัมพันธ์ที่ดีกับพวกเครือข่ายและนี่ไม่ใช่เรื่องยากที่จะทำ) เมื่อปิดใช้งานการสอดแนม DHCP บน switchport พวกเขาต้องวางกฎบนสวิตช์ที่กล่าวว่าที่อยู่ MAC X ได้รับอนุญาตให้มีที่อยู่ IP Y แต่น่าเสียดายที่นี่มีผลข้างเคียงของการบอกว่า MAC address X ได้รับอนุญาตเท่านั้น ที่อยู่ IP Y …
22 linux  routing 

3
Kerberos ทำงานกับ SSH อย่างไร
คำถามนี้ถูกโยกย้ายจาก Super User เพราะสามารถตอบได้ใน Server Fault อพยพ 8 ปีที่ผ่านมา สมมติว่าฉันมีคอมพิวเตอร์สี่เครื่องแล็ปท็อปเซิร์ฟเวอร์ 1 เซิร์ฟเวอร์ 2 เซิร์ฟเวอร์ Kerberos: ฉันเข้าสู่ระบบโดยใช้ PuTTY หรือ SSH จาก L ถึง S1 โดยระบุชื่อผู้ใช้ / รหัสผ่านของฉัน จาก S1 ฉันแล้ว SSH ถึง S2 ไม่ต้องใช้รหัสผ่านเนื่องจาก Kerberos รับรองความถูกต้องของฉัน อธิบายการแลกเปลี่ยนโปรโตคอล SSH และ KRB5 ที่สำคัญทั้งหมด: "L ส่งชื่อผู้ใช้ไปที่ S1", "K ส่ง ... ไปยัง S1" ฯลฯ (คำถามนี้มีวัตถุประสงค์เพื่อแก้ไขโดยชุมชนโปรดปรับปรุงสำหรับผู้อ่านที่ไม่ใช่ผู้เชี่ยวชาญ …

3
rsync จะไม่ลบไฟล์ที่ปลายทาง
ฉันพยายามทำมิเรอร์ไดเรกทอรีที่เปลี่ยนแปลงตลอดเวลาไปยังไดเรกทอรีอื่น ปัญหาของฉันคือ rsync จะไม่ลบไฟล์ที่ปลายทางหากไม่มีอยู่ในไดเรกทอรีต้นทางอีกต่อไป นี่คือสคริปต์สาธิต: #!/bin/sh set -x DIR1=/tmp/1 DIR2=/tmp/2 rm -rf $DIR1 rm -rf $DIR2 mkdir $DIR1 mkdir $DIR2 echo "foo" > $DIR1/a echo "bar" > $DIR1/b rsync -a $DIR1/* $DIR2 rm -f $DIR1/a rsync -a --delete $DIR1/* $DIR2 ls -1 $DIR2 นี่คือผลลัพธ์: + DIR1=/tmp/1 + DIR2=/tmp/2 + rm …
22 linux  rsync 

8
เหตุใดฉันจึงไม่สามารถเข้าไปยังอินสแตนซ์ EC2 ใหม่ของฉันได้
ฉันสร้างอินสแตนซ์ใหม่ (เล็ก, 64 บิต AMI linux จาก Amazon) สร้างคู่คีย์ใหม่ที่ชื่อว่า "mir" ฉันดาวน์โหลดmir.pemและวางไว้ใน~/.sshโฟลเดอร์ของฉัน ssh-add mir.pemฉันยังไม่ได้ทำ จากนั้นฉันก็พยายาม ssh ubuntu@public_DNS_from_amazon ทำไมมันไม่ทำงาน!

2
ความแตกต่างและการใช้งานที่ถูกต้องสำหรับ / tmp และ / var / tmp
ฉันยังไม่ได้คิดอะไรมากมายจนกระทั่งถึงตอนนี้ แต่มันก็แปลกที่มีไดเรกทอรี / var / tmp และ / tmp สำหรับลินุกซ์ distros ส่วนใหญ่ที่ฉันใช้เป็นประจำ (Ubuntu, Centos, Redhat) มีความแตกต่างทางความหมายระหว่างสองหรือไม่เช่นเมื่อใครออกแบบเลย์เอาต์ระบบไฟล์ครั้งแรกเขาหรือเธอคิดว่า "ไฟล์ tmp ทั้งหมดไม่ได้ถูกสร้างขึ้นเท่ากัน!" ข้อแตกต่างเดียวที่ฉันพบสำหรับ Centos คือ / tmp จะทำการขัดไฟล์ที่เก่ากว่า 240 ชั่วโมงเป็นประจำในขณะที่ / var / tmp จะเก็บไฟล์เก่าไว้เป็นเวลา 720 ชั่วโมง
22 linux  directory 

5
เพิ่มการหมดเวลาของ sudo ชั่วคราวในช่วงเวลาของสคริปต์การติดตั้ง
ฉันกำลังพยายามเขียนสคริปต์ที่จะติดตั้งซอฟต์แวร์จำนวนมากและฉันไม่ต้องการเรียกใช้ทุกอย่างrootดังนั้นฉันจึงอยากจะขอรหัสผ่านจากนั้นไปที่การติดตั้งโดยใช้sudoหรือsuเพื่อรับสิทธิพิเศษเมื่อต้องการ ฉันกำลังทำsudo -vเพื่อขอรหัสผ่านที่จุดเริ่มต้นของสคริปต์และจากนั้นเพียงใช้ sudo ตามปกติในภายหลัง มันใช้งานได้ดีจนกระทั่งฉันได้ติดตั้งครั้งเดียวซึ่งหมดเวลา ฉันไม่ต้องการเพิ่มการหมดเวลาอย่างถาวร มีวิธีที่ฉันสามารถเพิ่มการหมดเวลาของ sudo สำหรับเซสชันปัจจุบันเท่านั้นหรือไม่

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