package managershsinmu/courses/_media/nasa... · 2013. 4. 22. · homework – build a meta package...
TRANSCRIPT
![Page 1: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/1.jpg)
Package Managers What are they and why we use them
![Page 2: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/2.jpg)
Thoughts of an admin
Installing software is painful
Installing a lot of software is extremely painful
Installing a lot of software on a lot of machines is HELL
![Page 3: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/3.jpg)
舉例 - LOL
天賦、符文
道具
![Page 4: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/4.jpg)
Before Packages
Install from source
Time consuming
Varying configuration
![Page 5: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/5.jpg)
Improvement 1
Copy the binaries
Setup scripts?
Version?
Dependencies?
![Page 6: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/6.jpg)
Package - Basic
Archive
Binaries
Supporting files
Setup script
![Page 7: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/7.jpg)
Package – Improvement
Versioning
◦ 1.0.x
◦ 1.1.x
◦ …
Upgrades!
![Page 8: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/8.jpg)
Package - Dependencies
Program A requires library B to work
If library C is available, program A will work better/faster!
![Page 9: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/9.jpg)
Example – Call of Duty
Requires: DirectX
Works better with: PhysX
![Page 10: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/10.jpg)
Package Managers Low Level Unpacking packages
Run configuration scripts
Dependency checks
…
![Page 11: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/11.jpg)
Package Managers High Level Usage Fetch from remote repositories
Search
Install additional packages to meet dependencies
Handle complex upgrades
![Page 12: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/12.jpg)
Package Repository
Collection of packages
Maintained by distribution
Multiple package versions
Package index
![Page 13: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/13.jpg)
Package Managers RPM Based DEB Based
Low level RPM Dpkg
High level YUM, up2date, … APT
![Page 14: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/14.jpg)
DEBIAN DPKG & APT
Focus on
![Page 15: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/15.jpg)
Types of Packages
Binary Package
Meta Package
Virtual Package
![Page 16: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/16.jpg)
Binary Package
Normal package
Source is available
Architecture
◦ Dependent
Compiled binary files
◦ Independent
Scripts
Documents
Data files
![Page 17: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/17.jpg)
Meta Package
Depends on other packages only
Rename
◦ git-core -> git
Default version
◦ gcc -> gcc-4.6
◦ Python -> python2.7
Can be creative!
![Page 18: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/18.jpg)
Virtual Package
Does not really exist
Names common functionality
Other binary packages “provide” a virtual package
c-compiler is provided by
◦ gcc
◦ gcc-4.6
◦ clang
![Page 19: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/19.jpg)
Commonly Used Commands
apt-get
apt-cache
aptitude
◦ Frontend to the first 2 commands
![Page 20: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/20.jpg)
Search for a package
apt-cache search ^vim$
Search pattern
State flags
![Page 21: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/21.jpg)
Search Patterns
Patterns are regular expressions
Aptitude supports complex patterns
◦ See reference
Search requires guessing
◦ Just like Googling
◦ Keywords
![Page 22: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/22.jpg)
Differences
Aptitude and apt-cache have slighty different search behavior
◦ Aptitude looks at package name only
◦ Apt-cache looks at description as well
![Page 23: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/23.jpg)
State Flags
i Installed
c Removed
p Purged
v Virtual package
B Broken dependencies
u Unpacked
C Half-configured
H Half-installed
![Page 24: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/24.jpg)
Try it!
You want to install a web server. What do you look for?
What should you actually install?
![Page 25: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/25.jpg)
Looking at a package
Web interface
◦ http://packages.debian.org
CLI
◦ apt-cache show XXX
◦ aptitude show XXX
Debian Control File
Try it now!
![Page 26: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/26.jpg)
![Page 27: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/27.jpg)
Package Info
Name
State
Version
Priority
Section
Maintainer
Architecture
Dependencies
Description
![Page 28: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/28.jpg)
Package Info - State
installed
not installed
removed
…
![Page 29: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/29.jpg)
Package Info - Version
Vim: 2:7.3.547-6
2: -> Epoch
7.3.547 -> Upstream version
-6 -> Debian package revision
![Page 30: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/30.jpg)
Package Info - Priority
Required
Important
Standard
Optional
Extra
![Page 31: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/31.jpg)
Package Info - Dependencies
Depends
Recommends
Suggests
Conflicts
Replaces
Breaks
Provides
Syntax: http://www.debian.org/doc/debian-policy/ch-relationships.html
![Page 32: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/32.jpg)
Installing / Removing
apt-get install XXX
aptitude install XXX
remove/purge
hold/unhold
upgrade
dist-upgrade
![Page 33: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/33.jpg)
remove vs. purge
Remove keeps config files in system
Purge = Remove + delete config files
![Page 34: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/34.jpg)
hold/unhold
Keep a package at a specific state/version unless explicitly request otherwise
![Page 35: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/35.jpg)
upgrade vs. dist-upgrade
upgrade only updates currently installed packages
dist-upgrade will do anything to satisfy all new dependencies
![Page 36: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/36.jpg)
Try it!
Install a web server
Then remove it
See that config files are still there
Then purge it
![Page 37: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/37.jpg)
MAKING A PACKAGE
![Page 38: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/38.jpg)
Why?
Customize
Software not packaged yet
◦ Become a maintainer?
Build your own
![Page 39: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/39.jpg)
Making your first package
Basic structure
◦ package/XXX
Files you want to package
◦ package/DEBIAN/control
Debian control file
◦ package/DEBIAN/xxx
Package scripts, other control files
dpkg-deb –b package
![Page 40: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/40.jpg)
Homework – Build a meta package Name: nasa-hw
Should always install ◦ gcc >= 1:4.7
◦ make > 3.80
Should not install when ◦ clang is installed
Maintainer: Your ID <your email>
Use your judgment for other fields ◦ Read the documents!
Submit control file
![Page 41: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/41.jpg)
Too simple?
Debian related source code
◦ source/debian/rules
◦ source/debian/control
◦ source/debian/changelog
◦ source/debian/…
![Page 42: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/42.jpg)
Guidelines for packaging
Debian 新維護人員手冊
◦ http://www.debian.org/doc/manuals/maint-guide/
Get other package sources and see how other people do it
◦ apt-get source XXX
![Page 43: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/43.jpg)
Packages for packaging
build-essential
dpkg-dev
debhelper
CDBS
dh_make
lintian
![Page 44: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/44.jpg)
build-essential
Meta package that depends on essential tools for packaging
You need to install additional tools/libraries
◦ debhelper, cdbs, …
◦ lib*-dev
![Page 45: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/45.jpg)
dpkg-dev
Basic tools for package development
dpkg-buildpackage
![Page 46: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/46.jpg)
Debhelper
Collection of commands to assist packaging
Wraps complex steps
◦ Splitting files between different packages
◦ Generating shared library dependencies
◦ Generate and sign binary packages
◦ …
![Page 47: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/47.jpg)
CDBS
Common Debian Build System
Class based system
Supports different build systems
◦ make, ant, cmake, …
http://www.slideshare.net/petereisentraut/the-common-debian-build-system-cdbs
![Page 48: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/48.jpg)
dh_make
Prepare source code for packaging
Always uses debhelper
Supports CDBS
![Page 49: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/49.jpg)
lintian
Check packages for errors
![Page 50: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/50.jpg)
Steps to packaging
1. Get source code 2. Unpack 3. dh_make 4. Install build dependencies 5. Check control file 6. Check installation paths 7. Build package
◦ dpkg-buildpackage –b
8. Check package contents, debug if nessecary
◦ dpkg-deb –c xxx.deb
![Page 51: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/51.jpg)
Packaging Tutorial
http://www.debian.org/doc/manuals/maint-guide/first.en.html
![Page 52: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/52.jpg)
Try if you want
Last semester’s homework
◦ Very hard
Build a package of “Omnitty”
◦ http://omnitty.sourceforge.net/
You will also need to build a package for “ROTE”
◦ http://omnitty.sourceforge.net/
Build it, install it, and try it out
![Page 53: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/53.jpg)
Tips
Packages you can look at
◦ libevent
◦ screen
◦ tmux
◦ make
![Page 54: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/54.jpg)
HOMEWORK RECAP
![Page 55: Package Managershsinmu/courses/_media/nasa... · 2013. 4. 22. · Homework – Build a meta package Name: nasa-hw Should always install gcc >= 1:4.7 make > 3.80 Should not install](https://reader035.vdocuments.net/reader035/viewer/2022071213/60375e03a9d5892bc202951a/html5/thumbnails/55.jpg)
nasa-hw meta package
Upload control file to CEIBA
Start sooner! You need to do research to finish this assignment.