一、软件包安装:
1、源码-->二进制
rpm  dpt(debian)

rpm 5种管理:
安装,卸载,升级,查询,校验

-ivh       --nodeps忽略依赖关系,强制安装
-e
-Uvh 不考虑旧版本包是否存在升级     -Fvh 考虑    --force强行升级
-q -a  支持globbing:rpm -qa kernel*
  -f
  -l
  -i  rpm摘要信息
  -c  生成配置文件
  -d  文档
  --scripts  安装过程中所执行的脚本
  
-V 校验
   rpm database
   重构rpm数据库:
   rpm --initdb 初始化
   rpm --rebuilddb重构
   
2、签名校验:rpm --import导入公钥文件   第三方可靠权威机构认证
     /etc/pki/rpm-gpg
     如:rpm -K bash-4.1.3-i686.rpm
     
     
3、类似Windows中绿色软件安装

 

二、yum库
file:///
ftp://
http://

/etc/yum.repos.d/*.repo
[repo_name]
name=
baseurl=
enabled=0|1 是否启用
gpgcheck=0|1是否校验


yum install
  remove或erase
  update
  list all | installed | available
  search
  info
  whatprovides查询文件由某个文件提供
  grouplist
  groupinstall
  groupremove
  
yum cache缓存
yum clean all清空缓存


createrepo -g(g指定组信息)
repomd.xml
primary.xml.gz
filelists.xml.gz
other.xml.gz
comps*.xml


三、开机流程
cdrom,sata,usb,lan(PXE)
  
GRUB  (第二段在kernel partition)
LILO(LInux LOader)嵌入式系统常用


开机自检--->启动次序(boot device)--->MBR--->kernel-->initrd(ramfs,ramdisk)--->(rootfs:SCSI,RAID,LVM,iSCSI)
--->/sbin/init(/etc/inittab:
           initdefault,如:3,5
           sysinit系统初始化:/etc/rc.d/rc.sysinit
           /etc/rc.d/rc 0 ->/etc/rc.d/rc[0-6].d脚本 -->连接文件:/etc/init.d/SNNnetwork,KNNnetwork开头
           )  
                                      chkconfig --add lvsd  添加自己写的脚本,脚本中#chkconfig:<runlevels><SS><NN>
                                      chkconfig lvsd on)

四、制作Linux
ko----kernel object    如:ext3.ko
find . | cpio -H newc -o --quiet | gzip -9 -n > /mnt/boot/initrd


扩展:
  外置命令
ls
hostname主机名
mount与umount
touch
mkdir
为grub添加图片
login---》nsswitch--》pam
 (ls /usr/lib | grep libnss
 /etc/nsswitch.conf)


which hostname
ldd /bin/hostname
cp /bin/hostname /mnt/sysroot/bin/
cp ...
which mount
ldd /bin/mount
cp /bin/mount /mnt/sysroot/bin
which umount
ldd /bin/umount
cp /bin/umount /mnt/sysroot/bin
cp ...


vim /mnt/sysroot/etc/rc.d/rc.sysinit


五、
1、log日志
syslogd集中管理日志  /etc/syslog.conf
   设施.级别
   auth  auth.=info auth.!=info
   authpriv
   mail
   local7
   damon
   kern
   mark
   user
   */none

(syslogd -r
vim /etc/sysconfig/syslog   并 service syslog reload类似SIGHUP不用重启
..."-m 0 -r"允许接收并帮助其他主机记录日志)

man logger

ls /etc/init.d
chkconfig --list syslog
ls /etc/rc.d/rc3.d/


-/var/log/maillog   密集型信息操作,异步写入,提高系统性能。


klogd记录内核所产生日志信息

/var/log/dmesg
/var/log/messages
/var/log/maillog
/var/log/secure管理员才能查看
var/log/audit/audit.log审计日志


tail -f messages不用退出实时查看更新信息


2、cron 定时,频率(rhce)
system cron
 /etc/crontab
 分 小时 日 月 周 *:每 -:练习范围 ,:离散范围 /:频率,每
 /usr/bin/run-parts
user cron
 /var/spool/cron/username


crontab -e 创建
 -l列出
 -r移除所有
 -u+用户

/etc/cron.allow  /etc/cron.deny
     白名单   黑名单
若两个都存在,则deny被忽略,将使用白名单


anacron配合cron工作,是cron的补充
/etc/anacrontab: field1+field2+field3+field4
service crond status
service anacron status
chkconfig anacron on
chkconfig --list anacron


系统每天要执行的crontab:
tmpwatch、logrotate日志滚动、logwatchcron查看日志工具


打印service cups status(rhce)

NTP网络时间协议/etc/ntp.conf(rhce)


六、kernel
uname -r查看内核版本
cat /proc/cpuinfo  查看cpu信息
lspci查看所有pci芯片
lsusb
free -m
hal-device硬件抽象层


编译内核:
1、准备编译环境
 yum groupinstall "Development Tools" "Development Libraries" -y  开发工具、开发库
2、准备内核源码包
 tar zxvf kernel-  -C /usr/src
 ln -sv linux-2.../ linux
3、开始编译

1)配置内核  Y M N
 make menuconfig
 make oldconfig
 make xconfig
 make gconfig

2) make
3) make install