ISV Redhat SUSE LINUX 2005/2/8
Redhat SUSE LINUX Redhat SUSE LINUX init Redhat SUSE LINUX LSB FHS SUSE init RPM RPM SUSE build SUSE 2
Redhat SUSE LINUX 3
SUSE LINUX Enterprise Server 9 SLES8 kernel 2.4 SLES9 kernel 2.6 Hyper Threading NUMA Big SMP Granular Locking kernel 64 CPU Block I/O IPv6 IPSEC Mobile IPv6 Hotplug SCSI USB Firewire PCI CPU sysfs ACPI Infiniband 4
Redhat SUSE LINUX
Redhat SUSE LINUX init 6
Redhat SUSE LINUX SUSE LINUX Filesystem Hierarchy Standard FHS FHS UNIX-like http://www.pathname.com/fhs/ 7
Redhat SUSE LINUX FHS FHS /opt/<package>/ /opt/<provider>/ /usr/local /bin /usr/bin /etc/opt/ /etc/ /srv/ /srv/www /srv/ftp /etc/httpd /var/www 8
init Redhat SUSE LINUX init /etc/rc.d/init.d /etc/init.d init chkconfig /etc/rc.d/rc[012345].d init INIT INFO Required-Start Required-Stop Provides Linux Standard Base LSB install_initd remove_initd insserv init insserv man init /etc/init.d/skeleton Redhat SUSE init SUSE RPM 9
Redhat SUSE LINUX Redhat gcc2.96 * gcc http://gcc.gnu.org/gcc-2.96.html Redhat gcc2.96 SUSE Kernel2.4 NPTL SUSE version 8 version * Redhat gcc3.2 RHEL2.1 RedHat 7.2 gcc2.96 10
Redhat SUSE LINUX
Redhat SUSE LINUX LSB FHS SUSE init RPM RPM SUSE build SUSE 12
1 2 CPU Intel AMD CPU PowerPC s390 XML char signed unsigned sizeof 14
2 2 float double POSIX Tool Chain gcc mak binutil 32bit 15
LSB FHS
LSB LSB FHS SUSE LINUX Linux Standard Base LSB http://www.opengroup.org/lsb/cert/cert_prodlist.tpl?caller=index.tpl LSB Free Standards Group Working Group http://www.freestandards.org/ LSB Linux LSB Linux LSB http://www.linuxbase.org/ 17
LSB LSB FHS LSB FHS various ABIs System V Interface definition Single Unix Specification OpenGL X11 LSB LSB CPU LSB RPM Version3 http://refspecs.freestandards.org/lsb.shtml 18
FHS 1 2 LSB FHS http://www.pathname.com/fhs/ * Filesytem Hierarchy Standard version 2.3 19
FHS 2 2 LSB FHS / root FHS /bin - Essential command binaries /boot - Static files of the boot loader /dev - Device files /etc - Host-specific system configuration /home - User home directories (optional) /lib - Essential shared libraries and kernel modules /lib32-32-bit architecture dependent libraries (optional) /lib64-64-bit architecture dependent libraries (optional) /media - Mount point for removable media /mnt - Mount point for mounting a filesystem temporarily /opt - Add-on application software packages /proc - Linux filesystem for handling process and system info /root - Home directory for the root user (optional) /sbin - Essential system binaries /srv - Data for services provided by this system /tmp - Temporary files /usr - Secondary hierarchy /var - Variable data 20
LSB FHS LSB FHS ABI LSB LSB FHS 1 Linux Linux 21
SUSE init RPM
SUSE init RPM LSB LSB Linux LSB LSB init RPM SUSE LSB LSB Linux SUSE LINUX LSB Redhat lsb.rpm LSB Redhat lsb.rpm lsb.rpm Redhat lsb.rpm SUSE LSB init RPM 23
init 1 2 SUSE init RPM SUSE LSB Redhat init 1. init Redhat chkconfig 3 4 5 20 80 SUSE LSB install_initd insserv $local_fs $networks $syslog nthd 3 4 5 0 1 2 6 24 Redtat http://www.redhat.com/docs/manuals/enterprise/rhel-3-manual/sysadminguide/s1-services-chkconfig.html SUSE LSB http://refspecs.freestandards.org/lsb.shtml
init 2 2 SUSE init RPM 2. init /etc/init.d /etc/rc.d/init.d 3. init Redhat SUSE Redhat chkconfig SUSE install_initd remove_initd insserv Required-Start Required-Stop 25
RPM 1 2 SUSE init RPM Redhat SUSE LSB RPM 1. %post %post OS SUSE LSB Redhat 26
RPM 2 2 SUSE init RPM 2. %preun %preun SUSE LSB Redhat 27
init RPM 1 5 SUSE init RPM 1 SUSE install_initd remove_initd insserv SUSE nthd install_initd SUSE OS nthd nthd Required-Start init install_initd init INIT INFO install_initd S01 2 init INIT INFO init /etc/init.d/rc?.d install_initd 28
init RPM 2 5 SUSE init RPM 3 init LSB start stop LSB init LSB/Linux Assigned Names and Numbers Authority LANANA http://www.lanana.org/ 29
init RPM 3 5 SUSE init RPM 4 init bash LSB init bash 30
init RPM 4 5 SUSE init RPM 31
init RPM 5 5 SUSE init RPM 5 RPM spec RPM spec %files /etc/init.d/rc?.d RPM spec RPM Redhat SUSE rpm --showrc Redhat SUSE 32
RPM SUSE build
SUSE s build 1 2 RPM SUSE build build RPM SUSE build SLES9 SDK URL http://developer.novell.com/ndk/susesdk.htm build SUSE Linux chroot / 34
SUSE s build 1 2 RPM SUSE build build RPM spec BuildRequires: RPM RPM / root build RPM build RPM BuildRequires: RPM RPM spec BuildRequires: 35
SUSE s build RPM SUSE build build RPM Build chroot RPM RPM chroot 36
SUSE
YaST SUSE YaST Yet another Setup Tool YaST YaST Window KDE GNOME ncurses 38
SuSEconfig SUSE SuSEconfig suseconfig /etc/sysconfig /sbin/conf.d/suseconfig.* SuSEconfig YaST 39
1 3 lint-free make gcc ldd SUSE gcc 3.2 3.3 41
2 3 RPM relocatable SUSE rpm --prefix rpm --relocate LSB FHS initd RPM spec /usr/lib/lsb/install_initd %post /usr/lib/lsb/remove_initd %preun 42
3 3 SUSE init LSB init bash LSB linuxthreads NPTL NGPT SLES8 linuxthreads NGPT NPTL: SLES9 linuxthreads LD_ASSUME_KERNEL NGPT NPTL: Linux NPTL 64bit Novell Yes Certified 43
Redhat SUSE SUSE LSB FHS SUSE YaST SuSEconfig 45
1 2 RPM LSB FHS LANANA http://www.rpm.org/ http://www.linuxbase.org/ http://www.pathname.com/fhs/ http://www.lanana.org/ Novell Migrating Red Hat applications to SUSE --Technical Overview http://www.novell.com/coolsolutions/feature/11223.html Linux Standard Base and Filesystem Hierarchy Standard Compliance for Novell Products http://developer.novell.com/yespgm/linux/suse/standard.html How To Create RPMs and Init Scripts That Are Compatible On Both SUSE Linux and Red Hat Linux http://www.novell.com/coolsolutions/feature/11256.html 47
1 2 IBM Developing LSB-certified applications http://www-106.ibm.com/developerworks/linux/library/llsb.html Packaging software with RPM, Part 3 http://www-106.ibm.com/developerworks/linux/library/lrpm3.html A Guide to Writing Portable and Efficient C Programs http://www.linuxgazette.com/node/397 SLES9 SDK http://developer.novell.com/ndk/susesdk.htm GNU/GCC's Response to distributions using gcc 2.96 http://gcc.gnu.org/gcc-2.96.html 48
General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. Novell, Inc., makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc., reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.