เป็นไปได้หรือไม่ที่จะติดตั้ง Ubuntu ผ่านเครือข่าย


คำตอบ:


11

คุณสามารถติดตั้งระบบ Ubuntu ได้หนึ่งระบบ (โดยทั่วไปคือระบบ Ubuntu Server แต่ไม่จำเป็นต้องมี) จากนั้นใช้เป็นเซิร์ฟเวอร์สำหรับการบูต PXE และติดตั้งระบบอื่น ไบออสบนเครื่องไคลเอนต์ (ที่คุณต้องการติดตั้ง Ubuntu) ต้องรองรับ PXE (เช่นการบู๊ตเครือข่าย ) เพื่อให้สามารถใช้งานได้ แต่ BIOSs ส่วนใหญ่ทำในวันนี้

คุณควรจะสามารถทำมันกับระบบที่ไม่ใช่อูบุนตูในฐานะโฮสต์ได้เช่นกันหากคุณมีการตั้งค่าไว้แล้วและคุณรู้วิธีกำหนดค่าเซิร์ฟเวอร์ที่จำเป็นในระบบที่ไม่ใช่อูบุนตูของคุณ


บทความPXEInstallServer Ubuntu ช่วยวิกิอธิบายถึงวิธีการตั้งค่าระบบ Ubuntu เป็นเซิร์ฟเวอร์ PXE ของคุณและวิธีการติดตั้ง Ubuntu บนระบบอื่น ๆ มันยากที่จะสรุปประเด็นหลัก - รายละเอียดมีความสำคัญมาก ดังนั้นนี่คือสิ่งทั้งหมด (ด้วยการจัดรูปแบบเล็กน้อยและการเปลี่ยนแปลงเครื่องหมายวรรคตอน):

บทนำ

สิ่งนี้จะแนะนำคุณเกี่ยวกับการใช้เซิร์ฟเวอร์ Ubuntu ในฐานะเซิร์ฟเวอร์การติดตั้ง PXE คุณจะต้องเรียกใช้เซิร์ฟเวอร์ DHCP ในเครือข่ายของคุณไม่จำเป็นต้องใช้เซิร์ฟเวอร์นี้ แต่คุณจำเป็นต้องมี

การติดตั้งแพ็คเกจที่จำเป็น

คุณจะต้องติดตั้งแพ็คเกจต่อไปนี้: inetutils-inetd (ก่อนหน้านี้netkit-inetd), tftpd-hpa(ดูที่ การติดตั้งซอฟต์แวร์ )

  • สำหรับ Ubuntu 10.04 inetutils-inetdมีข้อผิดพลาดด้วย มันฟังบน IPv6 เท่านั้นและไม่ได้อยู่บน IPv4 เพื่อเป็นการแก้ปัญหาอย่างรวดเร็วคุณสามารถใช้ openbsd-inetdแทน

หากนี่จะเป็นเซิร์ฟเวอร์ DHCP ของคุณให้ติดตั้งเซิร์ฟเวอร์ dhcp ที่อยู่ในแพ็คเกจ follwing: dhcp3-server(ดูที่ การติดตั้งซอฟต์แวร์ )

กำหนดค่า tftpd-hpa

คุณจะต้องบอก tftpd-hpa เพื่อเริ่มดีมอน (ซึ่งไม่ใช่ค่าเริ่มต้น) หากต้องการทำสิ่งนี้ให้แก้ไข/etc/default/tftpd-hpaไฟล์และตรวจสอบให้แน่ใจว่ามีลักษณะดังนี้:

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

จากนั้นเรียกใช้สคริปต์เริ่มต้นเพื่อเริ่มต้นภูตจริง:

/etc/init.d/tftpd-hpa restart

กำหนดค่า dhcpd

หากเซิร์ฟเวอร์ pxe ของคุณเป็นเซิร์ฟเวอร์ dhcp ของคุณคุณจะต้องมีสิ่งนี้ใน/etc/dhcp3/dhcpd.conf:

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.200;
        filename "pxelinux.0";
}

หากคุณมีเซิร์ฟเวอร์ dhcp อยู่แล้วคุณควรชี้ไปที่เซิร์ฟเวอร์ pxe ของคุณโดยทำสิ่งต่อไปนี้:

subnet 192.168.0.0 netmask 255.255.255.0 {
    <other config here>
    filename "pxelinux.0";
    next-server <pxe host>;
}

อย่าลืมรีสตาร์ทเซิร์ฟเวอร์ dhcp ของคุณเพื่อให้การเปลี่ยนแปลงมีผล:

sudo /etc/init.d/dhcp3-server restart

กำหนดค่า tftpd-hpa

tftpd-hpainetdถูกเรียกจาก ตัวเลือกที่ส่งผ่านไปtftpd-hpa เมื่อเริ่มต้นจะพบได้ใน/etc/inetd.conf

ค่าเริ่มต้นดีสำหรับเราคุณ/etc/inetd.confควรมีรายการดังนี้:

tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

(แม้ว่าคุณอาจจำเป็นต้องแก้ไขไฟล์นี้และแทนที่udpด้วย udp4ตามtftpd-hpaที่คาดว่าจะเป็นที่อยู่ IPv6 ในขณะนี้)

ตอนนี้เราจะคัดลอกไฟล์ที่ต้องการจากซีดีของ Ubuntu:

sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/

หากเซิร์ฟเวอร์ dhcp ของคุณออกข้อมูลเครือข่ายที่ถูกต้องและไคลเอนต์ pxe ของคุณจะมีการเข้าถึงเครือข่ายจากนั้น ณ จุดนี้คุณจะสามารถติดตั้ง Ubuntu โดยใช้ที่เก็บข้อมูลอินเทอร์เน็ต

ฉันต้องการไปอีกเล็กน้อย แต่ติดตั้งทุกอย่างจากเซิร์ฟเวอร์การติดตั้งเช่นเดียวกับการปรับแต่งแพคเกจบางอย่างเพื่อติดตั้ง

ติดตั้ง apache

ปัจจุบันการติดตั้ง nfs ยังไม่รองรับ (โปรดแก้ไขให้ฉันถ้าฉันผิด) ดังนั้นเราจะติดตั้งผ่าน http สำหรับสิ่งที่เราต้องการเว็บเซิร์ฟเวอร์บนเซิร์ฟเวอร์การติดตั้งของเราด้วย: ติดตั้งแพ็คเกจต่อไปนี้: apache(ดู การติดตั้งซอฟต์แวร์ )

คัดลอกไฟล์ Ubuntu

สร้างไดเรกทอรี ubuntu ภายใต้รากเอกสารของ Apache ที่ติดตั้งใหม่และคัดลอกเนื้อหาทั้งหมดของ Ubuntu Alternate CD ไปยังไดเรกทอรีนั้น:

mkdir /var/www/ubuntu
cp -r /media/cdrom/* /var/www/ubuntu/

กำหนดการติดตั้งเอง

มีแพคเกจที่เรียกว่าsystem-config-kickstartซึ่งเป็นส่วนหน้าของ GUI ในการสร้างไฟล์เริ่มต้น ไฟล์ kickstart จะแจ้งให้ผู้ติดตั้งทราบว่าจะรับหีบห่อจากที่ใดสิ่งที่ควรติดตั้งและการตั้งค่าที่มีประโยชน์อื่น ๆ ดูKickstartCompatibilityสำหรับข้อมูลเพิ่มเติม

แพคเกจนี้ไม่จำเป็นต้องติดตั้งบนเซิร์ฟเวอร์การติดตั้งของคุณสามารถอยู่บนเดสก์ท็อป Ubuntu ที่สะดวกได้

สร้างที่กำหนดเองks.cfgด้วยsystem-config-kickstartต้องแน่ใจว่าระบุ HTTP ภายใต้ "วิธีการติดตั้ง" ให้ IP /ubuntu/ของคุณติดตั้งเซิร์ฟเวอร์และทำให้ไดเรกทอรี /var/www/html/บันทึกไฟล์และคัดลอกไปยังเซิร์ฟเวอร์ติดตั้งของคุณภายใต้

`ks.cfg ที่เรียบง่ายมากซึ่งใช้ไฟล์ติดตั้งบนเซิร์ฟเวอร์การติดตั้งเท่านั้นและถามคำถามอื่น ๆ ทั้งหมดอาจมีลักษณะเช่นนี้:

install
url --url http://192.168.0.1/ubuntu/

ใช้ ks.cfg ของคุณ

เพื่อให้เครือข่ายของคุณติดตั้ง Ubuntu เพื่อใช้ไฟล์ kickstart ของคุณคุณต้องบอกตำแหน่งที่จะค้นหา แก้ไข /var/lib/tftpboot/pxelinux.cfg/defaultและเพิ่มลง ks=http://<installserver>/ks.cfgในบรรทัดต่อท้าย จากนั้นควรมีลักษณะเช่นนี้ (โปรดทราบว่าบรรทัดต่อท้ายคือหนึ่งบรรทัด):

label linux
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432

root = / dev / rd / 0 rw -

ใน Jaunty [และน่าจะเป็นรุ่นที่ใหม่กว่าซึ่งรวมถึงรุ่นที่คุณอาจใช้] 1ไฟล์เริ่มต้นถูกแบ่งออกเป็น บรรทัดผนวกสามารถพบได้ใน /ubuntu-installer/i386/boot-screens/text.cfg:

label install
        menu label ^Install (from my http server)
        menu default
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet

บูตและติดตั้ง

ตอนนี้คุณควรจะสามารถบูตพีซีเครื่องอื่นบน LAN ผ่านเครือข่ายและติดตั้ง Ubuntu โดยอัตโนมัติ :) คุณสามารถเปลี่ยนแปลงจุดติดตั้ง tftp และ http เพื่อให้ Ubuntu หลายรุ่นติดตั้งบนเครือข่ายของคุณ

ใช้ซีดี (หรือ. iso) โดยตรง

คุณยังสามารถทำสิ่งต่าง ๆ ข้างต้นได้โดยไม่ต้องคัดลอกไฟล์ใด ๆ คุณสามารถต่อแผ่นซีดี (หรือ. iso) แล้วทำการเมาท์เพิ่มเติมด้วย--bindตัวเลือก ข้อดีคือคุณสามารถอัปเกรดซีดี (หรือ. iso) โดยไม่จำเป็นต้องอัปเดตไฟล์เซิร์ฟเวอร์การติดตั้ง

ตัวอย่างเช่นหลังจากติดตั้งซีดี (หรือ. iso) เพื่อ/media/cdrom/คุณสามารถติดตั้งไฟล์ ubuntu ไปยังสารบบเว็บ:

mount --bind /media/cdrom/ /var/www/ubuntu/

ในทำนองเดียวกันคุณสามารถทำสิ่งเดียวกันกับtftproot:

mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/

หากคุณต้องการสร้างpxelinux.cfgไดเรกทอรีด้วยไฟล์เริ่มต้นที่เหมาะสมคุณสามารถติดตั้งที่ด้านบนของแผ่นซีดีที่เมานต์เพื่อให้เซิร์ฟเวอร์ tftp มอบไฟล์ pxelinux.cfg / default ของคุณ ตัวอย่างเช่นpxelinux.cfgไดเรกทอรีใน~/pxelinux.cfgสามารถติดตั้งเช่นนี้:

mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg

(โปรดทราบว่าในตัวอย่างข้างต้นจุดเมานท์ที่แท้จริงของไดเรกทอรีจะสิ้นสุดลง /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgเนื่องจาก pxelinux.cfgเป็น symlink บนซีดี (หรือ. iso)

- PXEInstallServerซึ่งมีการจัดรูปแบบเล็กน้อยเครื่องหมายวรรคตอนและการเปลี่ยนแปลงตัวพิมพ์ใหญ่เพื่อรองรับรูปแบบถาม Ubuntu

บทความนั่นคือจากเอกสารวิกิพีเดียอูบุนตู มันถูกเขียนขึ้นโดย "ผู้มีส่วนร่วมในวิกิเอกสารของอูบุนตู" และได้รับอนุญาตภายใต้CC-BY-SA 3.0ซึ่งอนุญาตให้รวมไว้ที่นี่พร้อมกับการระบุแหล่งที่มาที่เหมาะสม

1 [ข้อความตัวเอียงที่มีวงเล็บปิด]ไม่ได้มาจากต้นฉบับ มันเป็นความเห็นของฉัน


หมายเหตุ: ความแตกต่างระหว่างวิธีนี้และวิธีการที่มิทช์ที่แนะนำ วิธีการนั้นเกี่ยวข้องกับการบูทจาก CD / DVD หรือ USB แฟลชไดรฟ์ซึ่งจะทำการติดตั้งระบบผ่านเครือข่าย โดยค่าเริ่มต้นเครือข่ายนี้เป็นอินเทอร์เน็ต เพื่อให้วิธีการนั้นเหมาะสมสำหรับการติดตั้งไปยังเครื่องหลายร้อยเครื่องบนเครือข่ายคุณอาจต้องการสร้างและโฮสต์ที่เก็บ Ubuntu บนเครือข่ายของคุณและชี้การติดตั้งของคุณไปที่

ความพยายามและโครงสร้างพื้นฐานที่จำเป็นในการทำเช่นนั้นเทียบเท่ากับสิ่งที่จำเป็นสำหรับ PXE ในการบูตเครื่องตามที่อธิบายไว้ข้างต้น ดังนั้นในขณะที่วิธีการที่อาจจะตอบสนองความต้องการของคุณผมขอแนะนำให้คุณพิจารณา PXE บูตถ้าคุณจริงๆต้องติดตั้งโดยไม่ต้อง "สื่อทางกายภาพ."


ฉันต้องเปลี่ยนการตั้งค่าใด ๆ ในเราเตอร์ของฉันหรือไม่?
Enkouyami

4

คุณสามารถทำได้โดยใช้วิธีการติดตั้งเน็ตเริ่มการติดตั้ง Ubuntu ผ่านเครือข่าย อธิบายไว้ที่การติดตั้ง Netboot

ตัวติดตั้งเครือข่าย

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

ดาวน์โหลดตัวติดตั้งเครือข่ายสำหรับ 12.04 LTS

ดาวน์โหลดตัวติดตั้งเครือข่ายสำหรับ 13.04


4

มีหลายวิธีที่จะทำให้สำเร็จ

1 - Netboot

คุณต้องแก้ไขชื่อโฮสต์และที่อยู่ IP ใน HOWTO นี้เพื่อตั้งค่าของคุณเอง หลักการที่อธิบายไว้ที่นี่มีผลบังคับใช้กับเซิร์ฟเวอร์ DHCP และ TFTP อื่น ๆ นอกเหนือจากที่อธิบายไว้ด้านล่าง การใช้ซอฟต์แวร์เซิร์ฟเวอร์สำรองเป็นแบบฝึกหัดสำหรับผู้อ่าน

สำหรับคำแนะนำเกี่ยวกับวิธีการใช้คอมพิวเตอร์ที่ใช้ windows เป็นเซิร์ฟเวอร์ TFTP และ DHCP ให้ไปที่การติดตั้ง / WindowsServerNetboot

HOWTO นี้จะช่วยให้คุณสามารถใช้งานโปรแกรมติดตั้งได้ หากคุณต้องการติดตั้ง Ubuntu โดยอัตโนมัติหรือไม่ต้องใส่เครื่องโปรดดูที่การติดตั้ง / LocalNet

2 - LocalNet

วิธีการติดตั้งนี้ใช้ DHCP / BOOTP, TFTP และ FTP / HTTP เพื่อรับแหล่งการติดตั้ง ตัวติดตั้งนั้นประกอบด้วย Linux kernel และ initrd ไฟล์เหล่านี้จะถูกถ่ายโอนผ่านกระบวนการบู๊ต DHCP / TFTP

ส่วนที่เหลือของแหล่งการติดตั้งสามารถถ่ายโอนผ่าน FTP หรือ HTTP หากเครื่องเป้าหมายเข้าถึงอินเทอร์เน็ตแหล่งข้อมูลเหล่านี้สามารถดึงได้โดยตรงจากมิเรอร์ Ubuntu หรือคุณสามารถดาวน์โหลดหนึ่งใน ISO การติดตั้งติดตั้งวนรอบย้อนกลับและให้บริการกับเซิร์ฟเวอร์ HTTP / FTP ในเครื่อง

3 - NetworkConsole

การบูตจากซีดี (อาจเป็นแบบ TFTP หรือคล้ายกัน) และติดตั้งระบบผ่าน SSH

4 - การติดตั้งอย่างรวดเร็วผ่าน SSH

คำแนะนำฉบับย่อสำหรับการติดตั้ง Hardy Ubuntu 12.04 บนเซิร์ฟเวอร์เฉพาะผ่าน ssh

ดูเอกสารฉบับเต็มของการติดตั้งเซิร์ฟเวอร์และเครือข่าย


1

สิ่งที่ใช้ได้ผลสำหรับฉันเมื่อติดตั้ง Ubuntu 18.04 LTS อิงตามคำแนะนำของ Isabel Castelloซึ่งดูเหมือนว่าอิงตามคำแนะนำ LocalNet จาก Wiki ของ Ubuntuแต่สามารถอ่านและเข้าใจฉันได้มากกว่า

ข้อกำหนดเบื้องต้น

คุณต้องอยู่บนเครือข่ายที่มี 3 โหนด:

  1. พื้นฐานเราเตอร์ DHCP
  2. เป้าหมายเซิร์ฟเวอร์ที่คุณต้องการติดตั้งอูบุนตู จะต้องเชื่อมต่อกับเราเตอร์ด้วยสายเคเบิล (ไม่ใช่ WiFi) และแน่นอนว่ามีการรองรับการบูทเครือข่ายใน BIOS
  3. แหล่งเซิร์ฟเวอร์ซึ่งจะให้บริการไฟล์ติดตั้งเริ่มต้นและบริการ คู่มือนี้จะถือว่าเป็น Ubuntu ด้วยเช่นกัน ระบบปฏิบัติการอื่น ๆ ก็เป็นไปได้เช่นกัน แต่คำสั่งจะแตกต่างกันอย่างเห็นได้ชัด

ขั้นตอน

  1. ตรวจสอบให้แน่ใจที่จะช่วยให้บูตระบบเครือข่ายในเป้าหมายของ ไบออส

    การเข้า BIOS มักทำได้โดยการกดหรือกดค้างไว้DelหรือF2เมื่อเครื่องบู๊ต อีกวิธีหนึ่งการกดF12มักจะอนุญาตให้แก้ไขลำดับการบู๊ตด้วยวิธีเฉพาะของผู้ขายซึ่งอาจช่วยได้

  2. ค้นหาค่าต่อไปนี้:

    (คุณอาจต้องการที่จะเรียกดู / เปลี่ยนการตั้งค่า DHCP บนเราเตอร์เพื่อหาบางส่วนของผู้. นอกจากนี้หากคุณจัดการเพื่อเข้าสู่เครือข่าย Bootเวทีเมื่อบูตเป้าหมายเครื่องก็อาจจะแสดงอย่างน้อยอยู่ MACเพื่อให้คุณ สามารถจดไว้ได้)

    • ที่อยู่ MAC ของเป้าหมาย - ทรัพย์สินของการ์ดเครือข่าย
    • ที่อยู่ IP ของเป้าหมาย - กำหนดให้มันโดยเราเตอร์ ,
    • IP เกตเวย์ - ในคำอื่น ๆ IP ของเราเตอร์,
    • หน้ากาก subnet / เครือข่าย - มักจะพบในแหล่งที่มาของและ / หรือเราเตอร์ตั้งค่าเครือข่าย
  3. ติดตั้งและกำหนดค่าtftpบนโฮสต์ต้นทาง :

    $ sudo apt-get install tftpd-hpa
    $ grep TFTP_DIRECTORY /etc/default/tftpd-hpa 
    TFTP_DIRECTORY="/var/lib/tftpboot"
    $ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
    $ sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/
    $ rm netboot.tar.gz
    

    หากgrepข้างต้นแสดงให้เห็นเส้นทางที่แตกต่างปรับค่าในคำสั่งที่ระบุไว้ในนี้และขั้นตอนต่อไป

  4. ติดตั้งกำหนดค่าและเรียกใช้bootpเช่นกันบนโฮสต์ต้นทาง :

    หมายเหตุ:แทนที่$TARGET_MACค่าอื่น ๆ ด้วยค่าที่เหมาะสมซึ่งรวบรวมไว้ในขั้นตอนที่ 2 ด้านบน $TARGET_MACอยู่ควรจะมีทวิภาคเช่น: 00:00:39:2B:54:B5และจุดเช่น$SUBNET_MASK255.255.255.0

    $ sudo apt-get install bootp
    $ vim ./bootptab
    client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0
    $ sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
    
  5. รีบู๊ตเครื่องเป้าหมายในขณะที่เปิดใช้งานคุณสมบัติ Network Boot (กดF12ถ้าจำเป็นหรือไม่มีอะไรเลยหรือสิ่งอื่นใดที่ BIOS ของคุณต้องการ)

    โปรแกรมติดตั้ง Ubuntu 18.04 แบบข้อความที่เป็นข้อความควรเริ่มทำงานในเครื่องเป้าหมายทันที ดำเนินการต่อราวกับติดตั้ง Ubuntu ตามปกติ

  6. พิเศษ:เพื่อความปลอดภัยหลังจากเสร็จสิ้นการติดตั้งคุณควรทำการสลับคุณสมบัติ Network Bootใน BIOS ของเป้าหมายกลับเป็นปิดการใช้งาน

หวังว่านี่จะช่วยได้!


0

Cobblerเป็นเซิร์ฟเวอร์การติดตั้ง Linux ที่ช่วยให้สามารถติดตั้งสภาพแวดล้อมการติดตั้งเครือข่ายได้อย่างรวดเร็ว มันผสานเข้าด้วยกันและทำให้งาน Linux ที่เกี่ยวข้องจำนวนมากทำงานโดยอัตโนมัติดังนั้นคุณไม่จำเป็นต้องกระโดดข้ามคำสั่งและแอพพลิเคชั่นต่าง ๆ มากมายเมื่อปรับใช้ระบบใหม่และในบางกรณีก็เป็นการเปลี่ยนงานที่มีอยู่ Cobbler สามารถช่วยในการเตรียมการจัดการ DNS และ DHCP อัปเดตแพ็คเกจการจัดการพลังงานการจัดการการกำหนดค่าและอื่น ๆ อีกมากมาย

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