Gentoo Linux是一個基於portage進行包管理的Linux發行版,最先版本始於2002年。其官方官網爲http://www.gentoo.orgphp
目前,Gentoo Linux已經在在互聯網企業中使用,其它最大的應用就是豆瓣網。聽說豆瓣網的服務器全都使用Gentoo Linux。java
Gentoo Linux的安裝和RHEL SUSE等這些發行版有一些不一樣,其安裝方式通常採用mini CD +stage3 進行安裝。首先,是網易有gentoo鏡像上下載安裝包,共3個python
包. 地址爲http://mirrors.163.com/gentoo/releases/ 下載包,linux
install-amd64-minimal-20130711.iso LiveCD,使用這個iso來引導系統shell
stage3-amd64-20130711.tar.bz2 stage3是一個/目錄的文件進行打包apache
portage-20130704.tar.bz2 這是gentoo的ebuild的集合vim
用 install-amd64-minimal-20130711.iso引導系統,進行系統後,設置root密碼,設置IP地址,啓動sshd服務,對硬盤進行分區, 掛載分區,將stage3-amd64-20130711.tar.bz2和 portage-20130704.tar.bz2文件上傳至硬盤,將這兩個文件解壓至相應目錄。chroot到新環境下,安裝gentoo內核,emerge gentoo-sources, 再安裝gentoo內核編譯工具,emerge genkernel, 從新編譯內核,安裝grub,修改grub配置文件,設置網絡,修改/etc/fstab文件等。ruby
查看Gentoo Linux系統相關信息bash
gentoo ~ # emerge --info Portage 2.1.12.2 (default/linux/amd64/13.0, gcc-4.6.3, glibc-2.15-r3, 3.8.13-gentoo x86_64) ================================================================= System uname: Linux-3.8.13-gentoo-x86_64-Intel-R-_Core-TM-_i5-2435M_CPU_@_2.40GHz-with-gentoo-2.2 KiB Mem: 1009420 total, 898752 free KiB Swap: 0 total, 0 free Timestamp of tree: Fri, 12 Jul 2013 23:15:01 +0000 ld GNU ld (GNU Binutils) 2.23.1 app-shells/bash: 4.2_p45 dev-lang/python: 2.7.5, 3.2.5-r1 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.12.6 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.6.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.7 (virtual/os-headers) sys-libs/glibc: 2.15-r3 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirrors.163.com/gentoo/" #使用網易鏡像,加快軟件的下載速度 LDFLAGS="-Wl,-O1 -Wl,--as-needed" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://mirrors.163.com/gentoo-portage" #使用網易的rsync源,加快portage同步速度 USE="acl amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm gpm iconv ipv6 mmx modules mudflap multilib ncurses nls nptl openmp pam pcre readline session sse sse2 ssl tcpd unicode zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Gentoo的網絡、主機等配置信息位於/etc/conf.d/目錄下服務器
-rw-r--r-- 1 root root 328 Jul 11 06:03 bootmisc -rw-r--r-- 1 root root 876 Jul 11 06:03 consolefont -rw-r--r-- 1 root root 412 Jul 11 04:58 crypto-loop -rw-r--r-- 1 root root 117 Jul 11 06:03 dmesg -rw-r--r-- 1 root root 1402 Jul 11 06:03 fsck -rw-r--r-- 1 root root 580 Jul 11 05:15 gpm -rw-r--r-- 1 root root 56 Jul 13 07:23 hostname #主機名配置信息 -rw-r--r-- 1 root root 877 Jul 11 06:03 hwclock #硬件時間配置信息 -rw-r--r-- 1 root root 918 Jul 11 06:03 keymaps #鍵盤配置信息 -rw-r--r-- 1 root root 105 Jul 11 06:03 killprocs -rw-r--r-- 1 root root 121 Jul 11 06:03 localmount -rw-r--r-- 1 root root 898 Jul 11 06:03 modules -rw-r--r-- 1 root root 336 Jul 13 10:45 net #網絡配置信息 lrwxrwxrwx 1 root root 3 Jul 13 10:49 net.enp2s1 -> net -rw-r--r-- 1 root root 1335 Jul 11 06:03 netmount -rw-r--r-- 1 root root 271 Jul 11 05:54 pydoc-2.7 -rw-r--r-- 1 root root 271 Jul 11 05:32 pydoc-3.2 -rw-r--r-- 1 root root 149 Jul 11 05:23 rsyncd -rw-r--r-- 1 root root 396 Jul 11 06:06 sshd -rw-r--r-- 1 root root 76 Jul 11 06:03 tmpfiles -rw-r--r-- 1 root root 1639 Jul 11 06:07 udev -rw-r--r-- 1 root root 282 Jul 11 06:03 urandom
主機配置:
gentoo conf.d # more hostname # Set to the hostname of this machine hostname="gentoo" gentoo conf.d #
網絡配置信息
gentoo conf.d #more net # This blank configuration will automatically use DHCP for any net.* # scripts in /etc/init.d. To create a more complete configuration, # please review /usr/share/doc/openrc*/net.example* and save your configuration # in /etc/conf.d/net (this file :]!). config_enp2s1=("192.168.222.132/24") #網卡符號爲enp2s1 routes_enp2s1=("default via 192.168.222.2") #網關配置信息
gentoo的ebuild的集合位於系統的/usr/portage目錄下,系統進行了按應用、開發、遊戲、媒體等進行了分類
gentoo portage # ls app-accessibility app-portage dev-ruby games-simulation media-libs net-print sec-policy www-misc app-admin app-shells dev-scheme games-sports media-plugins net-proxy skel.ChangeLog www-plugins app-antivirus app-text dev-tcltk games-strategy media-radio net-voip skel.ebuild www-servers app-arch app-vim dev-tex games-util media-sound net-wireless skel.metadata.xml x11-apps app-backup app-xemacs dev-texlive gnome-base media-tv net-zope sys-apps x11-base app-benchmarks dev-ada dev-util gnome-extra media-video perl-core sys-auth x11-drivers app-cdr dev-cpp dev-vcs gnustep-apps metadata profiles sys-block x11-libs app-crypt dev-db distfiles gnustep-base net-analyzer razorqt-base sys-boot x11-misc app-dicts dev-dotnet eclass gnustep-libs net-dialup rox-base sys-cluster x11-plugins app-doc dev-embedded games-action gpe-base net-dns rox-extra sys-devel x11-proto app-editors dev-games games-arcade gpe-utils net-firewall sci-astronomy sys-firmware x11-terms app-emacs dev-haskell games-board header.txt net-fs sci-biology sys-freebsd x11-themes app-emulation dev-java games-emulation java-virtuals net-ftp sci-calculators sys-fs x11-wm app-forensics dev-lang games-engines kde-base net-im sci-chemistry sys-infiniband xfce-base app-i18n dev-libs games-fps kde-misc net-irc sci-electronics sys-kernel xfce-extra app-laptop dev-lisp games-kids licenses net-libs sci-geosciences sys-libs app-leechcraft dev-lua games-misc lxde-base net-mail sci-libs sys-power app-misc dev-ml games-mud mail-client net-misc sci-mathematics sys-process app-mobilephone dev-perl games-puzzle mail-filter net-nds sci-misc virtual app-office dev-php games-roguelike mail-mta net-news sci-physics www-apache app-officeext dev-python games-rpg media-fonts net-nntp sci-visualization www-apps app-pda dev-qt games-server media-gfx net-p2p scripts www-client
Gentoo Linux對於一個軟件包,有如下幾個描述文件,
gentoo ktorrent # ls ChangeLog #修改日誌 Manifest files #gentooo爲軟件包打的patch ktorrent-4.3.1.ebuild #ebuild文件 metadata.xml #元數據文件