一种linux系统下保存用户配置的方法及装置的制造方法

文档序号:9417196阅读:220来源:国知局
一种linux系统下保存用户配置的方法及装置的制造方法
【技术领域】
[0001]本发明涉及的Linux系统技术领域,特别是涉及一种Linux系统下保存用户配置的方法及装置。
【背景技术】
[0002]目前,在为设备构建Iinux系统时,采用的方式很多,大致可分为两类:一类是根文件系统直接在非易失性存储器上,用户操作的文件即是非易失性存储器上的,例如直接选择磁盘、CF卡、DOM卡以及板载flash等非易失性存储器上的文件系统作为Iinux根文件系统;另一类是系统文件存放在RAM中,用户直接操作的是RAM中的文件。
[0003]以上描述的第一类,被挂载的根文件系统在非易失性存储器上,可以是romfs等只读类型的,也可以是jiffs、yaffs、ext4等可读写类型的。只读类型的文件系统满足了文件安全性问题,用户是不能修改文件和删除文件的,所以也就导致了这种类型无法让用户保存配置;如果是可读写类型的文件系统,那么用户操作的即是非易失性存储器上的文件,操作完成即完成了保存,设备重启之后仍然是操作后的文件,但这种方式就失去了文件的安全性,用户的误操作可能会导致系统不可恢复。
[0004]上边描述的第二类系统文件存放在RAM中,在没有ramfs和tmpfs之前,通常把RAM的一部分制作成ramdisk,然后最终系统的系统文件都在ramdisk中,而非真实的非易失性存储器中。不论是较老的ramdisk还是较新的ramfs和tmpfs,都是把系统文件放入RAM中,用户直接操作的是RAM中的文件,这种情况下,如果用户修改或者删除系统中的文件,实际与非易失性存储器上的文件无关,设备重启后一切恢复原样。这种方式满足了文件的安全性,但没有解决用户配置的保存问题,也没有解决日志以及异常信息的实时保存。

【发明内容】

[0005]本发明的目的是提供一种Linux系统下保存用户配置的方法及装置,以实现在保证系统文件安全性的同时,解决了用户配置的保存问题,能够保存用户配置。
[0006]为解决上述技术问题,本发明提供一种Linux系统下保存用户配置的方法,该方法包括:
[0007]利用开源工具建立Linux系统下的根文件系统initrd,并在内存中创建新目录newroot ;
[0008]在所述根文件系统initrd中查找出配置文件,将所述配置文件打压缩包变为配置压缩文件,将所述根文件系统initrd中除了所述配置文件的其它系统文件打压缩包变为系统压缩文件;
[0009]将所述配置压缩文件和所述系统压缩文件迀移至非易失性存储器中,并将所述配置压缩文件解压至所述内存中的新目录newroot中形成配置文件副本;
[0010]接收用户输入的更改配置文件指令,在所述更改配置文件指令的作用下,对所述内存中的配置文件副本进行更改得到新配置文件;
[0011]利用配置保存命令将所述新配置文件打压缩包,将所述新配置文件压缩至所述非易失性存储器中形成新配置压缩文件;
[0012]重新启动所述根文件系统initrd时,在所述非易失性存储器中解压所述新配置压缩文件得到所述新配置文件,将所述新配置文件作为当前的Linux系统下的配置文件。
[0013]优选的,所述在内存中创建新目录newroot之后,还包括:
[0014]将所述新目录newroot挂载ramfs文件系统或者tmpfs文件系统。
[0015]优选的,所述在所述根文件系统initrd中查找出配置文件,将所述配置文件打压缩包变为配置压缩文件,将所述根文件系统initrd中除了所述配置文件的其它系统文件打压缩包变为系统压缩文件,包括:
[0016]在所述根文件系统initrd中查找出涉及用户配置保存的配置文件;
[0017]将所述配置文件单独打压缩包,形成配置文件压缩包并命名为config-origin.tar.gz ;
[0018]将所述根文件系统initrd中其它的系统文件分类打压缩包,形成分类的各个系统压缩文件。
[0019]优选的,所述利用配置保存命令将所述新配置文件打压缩包,将所述新配置文件压缩至所述非易失性存储器中形成新配置压缩文件,包括:
[0020]利用配置保存命令config-save,对所述新配置文件打压缩包,并命名为conf ig-user.tar.gz,形成 conf ig-user.tar.gz 压缩文件;
[0021]挂载所述非易失性存储器,保存config-user.tar.g压缩文件到所述非易失性存储器;
[0022]保存完成之后卸载所述非易失性存储器。
[0023]优选的,所述重新启动所述根文件系统initrd时,在所述非易失性存储器中解压所述新配置压缩文件得到所述新配置文件,将所述新配置文件作为当前的Linux系统下的配置文件,包括:
[0024]在所述根文件系统initrd启动初始化脚本时,利用mount命令挂载所述非易失性存储器到所述根文件系统initrd ;
[0025]检测所述非易失性存储器中是否存在config-user.tar.gz压缩文件;如果存在,解压config-user.tar.gz压缩文件到newroot/etc目录,形成所述新配置文件并作为当前Iinux系统的配置文件。
[0026]本发明还提供一种Linux系统下保存用户配置的装置,包括:
[0027]建立模块,用于利用开源工具建立Linux系统下的根文件系统initrd,并在内存中仓键亲if目录newroot ;
[0028]第一压缩模块,用于在所述根文件系统initrd中查找出配置文件,将所述配置文件打压缩包变为配置压缩文件,将所述根文件系统initrd中除了所述配置文件的其它系统文件打压缩包变为系统压缩文件;
[0029]迀移模块,用于将所述配置压缩文件和所述系统压缩文件迀移至非易失性存储器中,并将所述配置压缩文件解压至所述内存中的新目录newroot中形成配置文件副本;
[0030]更改模块,用于接收用户输入的更改配置文件指令,在所述更改配置文件指令的作用下,对所述内存中的配置文件副本进行更改得到新配置文件;
[0031]第二压缩模块,用于利用配置保存命令将所述新配置文件打压缩包,将所述新配置文件压缩至所述非易失性存储器中形成新配置压缩文件;
[0032]启动模块,用于重新启动所述根文件系统initrd时,在所述非易失性存储器中解压所述新配置压缩文件得到所述新配置文件,将所述新配置文件作为当前的Linux系统下的配置文件。
[0033]优选的,所述装置还包括:
[0034]挂载模块,用于将所述新目录newroot挂载ramfs文件系统或者tmpfs文件系统。
[0035]优选的,所述第一压缩模块包括:
[0036]查找单元,用于在所述根文件系统initrd中查找出涉及用户配置保存的配置文件;
[0037]单独压缩单元,用于将所述配置文件单独打压缩包,形成配置文件压缩包并命名为 config-origin.tar.gz ;
[0038]分类压缩单元,用于将所述根文件系统initrd中其它的系统文件分类打压缩包,形成分类的各个系统压缩文件。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1