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

ทุกอย่างที่มีซอร์สโค้ดของโปรแกรม Unix เช่นการคอมไพล์การติดตั้งหรือวิธีการดึงโค้ดสำหรับการศึกษา

7
ฉันจะค้นหาการนำไปใช้ของการเรียกระบบเคอร์เนล Linux ได้อย่างไร?
ฉันพยายามที่จะเข้าใจว่าฟังก์ชั่นพูดmkdirทำงานได้อย่างไรโดยดูที่เคอร์เนล นี่เป็นความพยายามที่จะเข้าใจเคอร์เนลภายในและนำทางระหว่างฟังก์ชั่นต่าง ๆ ฉันรู้ว่าถูกกำหนดไว้ในmkdir sys/stat.hฉันพบต้นแบบ: /* Create a new directory named PATH, with permission bits MODE. */ extern int mkdir (__const char *__path, __mode_t __mode) __THROW __nonnull ((1)); ตอนนี้ฉันต้องดูว่าไฟล์นี้ใช้ฟังก์ชั่นใดของ C จากไดเรกทอรีแหล่งฉันพยายาม ack "int mkdir" ซึ่งแสดง security/inode.c 103:static int mkdir(struct inode *dir, struct dentry *dentry, int mode) tools/perf/util/util.c 4:int mkdir_p(char *path, …

12
การกำหนดพา ธ ไปยังเชลล์สคริปต์ที่มา
มีวิธีการที่เป็นแหล่งเชลล์สคริปต์เพื่อหาเส้นทางของตัวเองหรือไม่ ฉันกังวลเกี่ยวกับทุบตีเป็นหลักแม้ว่าฉันจะมีเพื่อนร่วมงานบางคนที่ใช้ tcsh ฉันเดาว่าฉันอาจไม่มีโชคที่นี่เนื่องจากการหาสาเหตุทำให้คำสั่งถูกเรียกใช้ในเชลล์ปัจจุบันดังนั้นจึง$0ยังคงเป็นการเรียกใช้เชลล์ปัจจุบันไม่ใช่สคริปต์ที่มา ความคิดที่ดีที่สุดของฉันคือการทำsource $script $scriptเพื่อให้พารามิเตอร์ตำแหน่งแรกมีข้อมูลที่จำเป็น ใครมีวิธีที่ดีกว่า เพื่อความชัดเจนฉันกำลังจัดหาสคริปต์ไม่ใช่เรียกใช้: source foo.bash
80 shell  source 

8
เหตุใดแหล่งข้อมูลของ Bash จึงไม่ต้องการบิตการประมวลผล
ด้วย Bash sourceคุณสามารถรันสคริปต์โดยไม่ต้องตั้งค่าบิตเรียกใช้งาน นี่เป็นเอกสารและมีพฤติกรรมที่คาดหวัง แต่สิ่งนี้ไม่ได้เกิดจากการใช้งานบิตการดำเนินการใช่หรือไม่ ฉันรู้ว่านั่นsourceไม่ได้สร้าง subshell

5
อะไรคือความแตกต่างระหว่างการสร้างจากแหล่งที่มาและการใช้แพ็คเกจการติดตั้ง?
ฉันสงสัยว่า: เมื่อติดตั้งบางอย่างมีวิธีที่ง่ายในการคลิกสองครั้งที่ไฟล์ปฏิบัติการติดตั้งและในทางกลับกันก็มีวิธีสร้างไฟล์จากแหล่งที่มา อันหลังการดาวน์โหลดบันเดิลซอร์สนั้นยุ่งยากมาก แต่อะไรคือความแตกต่างพื้นฐานระหว่างสองวิธีนี้?

8
uname จะรับข้อมูลจากที่ไหน
uname ได้รับข้อมูลจากที่ไหน ฉันคิดว่านี่เป็นสิ่งที่ควรตรงไปตรงมา น่าเสียดายที่ฉันไม่พบส่วนหัวที่มีเพียงข้อมูลนั้น สมมติว่ามีคนต้องการเปลี่ยนผลลัพธ์พื้นฐานของuname/ uname -s จากLinuxเป็นอย่างอื่น (โดยพื้นฐานแล้วคือเปลี่ยนชื่อเคอร์เนล) เขา / เธอจะทำอย่างไรในวิธีที่เหมาะสม (นั่นคือการเปลี่ยนแหล่งที่มา)
40 linux  kernel  source 

5
วิธีการคอมไพล์และติดตั้งโปรแกรมจากแหล่งที่มา
นี่เป็นปัญหาที่จำกัดความเพลิดเพลินของฉันของ Linux หากแอปพลิเคชั่นไม่ได้อยู่ในที่เก็บหรือถ้ามันไม่มีสคริปต์ตัวติดตั้งฉันก็ต้องต่อสู้กับที่และวิธีการติดตั้งแอพพลิเคชั่นจากแหล่งที่มา เทียบกับ Windows ได้ง่าย คุณจำเป็นต้องใช้แอพพลิเคชั่นตัวติดตั้งซึ่งทำงานทั้งหมดในตัวช่วยสร้าง ด้วย Linux ... ไม่มาก ดังนั้นคุณมีเคล็ดลับหรือคำแนะนำเกี่ยวกับเรื่องนี้หรือมีเว็บไซต์ใด ๆ ที่อธิบายอย่างชัดเจนว่าทำไมติดตั้งโปรแกรม Linux จากแหล่งที่มาได้อย่างไร

10
ทำไมโปรแกรมไม่กระจายในรูปแบบที่คอมไพล์แล้ว?
แต่พวกเขาให้คำแนะนำเช่น cd downloaded_program ./configure make install สิ่งนี้จะสร้างเอลฟ์ที่จำเป็นและอาจเป็นไฟล์. so บางไฟล์ ทำไมไม่วางไฟล์เหล่านั้นไว้ในไฟล์ zip เพื่อดาวน์โหลดเช่นเดียวกับแอพ windows? มีเหตุผลใดที่พวกเขาต้องรวบรวมโดยผู้ใช้?

2
เหตุใดจึงไม่มีแพ็คเกจแพ็คเกจใน Arch Linux
ฉันเข้าใจว่าการแจกแจงตามแหล่งที่มาเช่นGentooหรือSlackwareไม่จำเป็นต้องมี*-devรุ่นของโปรแกรม ซึ่งรวมถึงซอร์สโค้ดรวมถึงไฟล์ส่วนหัวเพื่อรวบรวมทุกอย่างในเครื่อง แต่ฉันไม่เคยเห็น*-devแพ็คเกจในArch Linuxแม้ว่าจะเป็นแพ็คเกจก็ตาม ฉันวิ่งข้าม*-devแพคเกจจำนวนมากในการกระจายอื่น ๆ

1
แผนผังแหล่งที่มาของเคอร์เนลประกอบด้วยอะไร? สิ่งนี้เกี่ยวข้องกับส่วนหัวเคอร์เนลของ Linux หรือไม่
ในหนังสือที่ผมมักจะอ่านอ้างอิงถึงแหล่งที่มาของลินุกซ์ที่ต้นไม้/usr/src/linuxกับชุดปกติของไดเรกทอรีย่อย ( arch, block, crypto, ... ) ฉันคาดหวังว่าต้นไม้ต้นนี้จะมีไฟล์ไบนารีที่สร้างเคอร์เนล ในระบบของฉัน (Ubuntu 10.04) ... สำหรับเมล็ดที่แตกต่างกันที่ฉันมี (โดยใช้การดาวน์โหลดซอฟต์แวร์อัตโนมัติไม่ได้ติดตั้งด้วยตนเอง) ฉันค้นหาในตำแหน่งนี้แทนสองไดเรกทอรีย่อยสำหรับแต่ละเคอร์เนลดังนี้ /usr/src/linux-headers-2.6.32-22 /usr/src/linux-headers-2.6.32-22-generic ในไดเรกทอรีย่อยฉันคาดว่าไฟล์ไบนารีหมู่คนอื่น ๆ อย่างไรก็ตามฉันตรวจสอบจำนวนต้นไม้ที่เหมาะสมและไดเรกทอรีย่อยสุดท้ายจากที่นี่ดูเหมือนจะมีเสมอMakefile(เมื่ออ่านมันมักจะฟังดูเหมือนไฟล์กำหนดค่าแล้วเป็นไฟล์ติดตั้ง) รวมถึงไฟล์อื่น ๆ ที่แยกบางครั้ง (ส่วนใหญ่Kconfig) คำถามของฉันอาจไร้เดียงสา แต่ฉันสับสนเล็กน้อย คือ (2) สิ่งที่ฉันควรคาดหวังให้เห็นในแผนผังแหล่งที่มาของเคอร์เนล และทำไมฉันจึงมีการอ้างอิงที่ชัดเจนถึง 'ส่วนหัว' ฉันจำเป็นต้องติดตั้งlinux-generic-headersในขณะที่กลับไปหาซอฟต์แวร์อื่นและไม่แน่ใจว่าสิ่งนี้อาจเกี่ยวข้อง ฉันรู้ว่ามีเหตุผลที่ดีสำหรับ makefiles (เช่นการติดตั้งโมดูลในไดเร็กตอรี่ย่อย / ไดร์เวอร์), แต่ (มาก) makefiles เท่านั้น?
25 ubuntu  kernel  source 

4
จะดาวน์โหลดซอร์สโค้ด Linux Kernel ของรุ่นใดรุ่นหนึ่งได้ที่ไหน
มีทรัพยากรในการดาวน์โหลดที่มารุ่นเคอร์เนลที่เฉพาะเจาะจงหรือไม่ ตัวอย่างเช่นฉันต้องการรับแหล่ง 2.6.36.2 เปรียบเทียบกับแพ็คเกจนี้และดูว่ามีการเปลี่ยนแปลงอะไรบ้าง

4
เมื่อใช้คอมไพล์แฮชแล้วจะรู้ได้อย่างไรว่าเคอร์เนลรีลีสนั้นมีอะไรบ้าง?
สมมติว่าฉันมีปัญหาบางอย่างที่แก้ไขโดยแพทช์ล่าสุดไปยังที่เก็บ Linux git อย่างเป็นทางการ ฉันมีวิธีแก้ไข แต่ฉันต้องการยกเลิกเมื่อมีการเปิดตัวที่มีการแก้ไขของฉัน ฉันรู้ว่าคอมไพล์ที่แน่นอนกระทำกัญชาเช่นf3a1ef9cee4812e2d08c855eb373f0d83433e34c วิธีที่ง่ายที่สุดในการตอบคำถามคืออะไรเคอร์เนลรุ่นใดบ้างที่มีโปรแกรมแก้ไขนี้ คะแนนโบนัสหากไม่ต้องการพื้นที่เก็บข้อมูล git Linux ในพื้นที่ ( LWMอธิบายแนวคิดบางอย่าง แต่สิ่งเหล่านี้จำเป็นต้องใช้ที่เก็บข้อมูลในเครื่อง)

14
Distros ที่รองรับการคอมไพล์จากแหล่งที่มา
นานมาแล้วฉันเคยใช้ FreeBSD กับระบบพอร์ตและหลังจากนั้น Gentoo สำหรับการขนส่งเพื่อติดตั้งแอปพลิเคชันผ่านการรวบรวมจากแหล่งที่มา ฉันทำสิ่งนี้เพื่อกำหนดเป้าหมายระบบของฉันโดยตรง มี distros อื่น ๆ ที่สนับสนุนการกำหนดค่าดังกล่าวหรือไม่ ฉันดูเหมือนจะจำ Slackware ที่มีบางสิ่งที่คล้ายกัน



4
รีสตาร์ท Bash โดยสิ้นเชิง
มีวิธีที่จะสมบูรณ์รีสตาร์ททุบตีและโหลด.bashrcและ.profileและชอบ? ฉันต้องการตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงของฉันทำงานอย่างถูกต้องหลังจากแก้ไขไฟล์เหล่านี้

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