精华内容
下载资源
问答
  • 结果系统提示:“Could not open RTC: No such file or directory”,即找不到RTC文件。(2)/dev/rtc由于内核在编译过程中没有提供RTC支持,需要重新编译内核(或为内核增加一个module)。方法为,在make menuconfig...

    1.时区的支持

    (1)hwclock

    为了查看硬件时钟是否为本地时间,运行命令hwclock –r。结果系统提示:“Could not open RTC: No such file or directory”,即找不到RTC文件。

    (2)/dev/rtc

    由于内核在编译过程中没有提供RTC支持,需要重新编译内核(或为内核增加一个module)。方法为,在make menuconfig阶段,选中“Character device”的“Enhanced Real Time Clock Support”一项的支持。

    为内核增加了该模块后,目录/proc/drive/下已出现了rtc文件,cat也能查看到正常的内容。但/dev/目录下仍没有rtc文件。

    于是通过mknod命令在/dev目录下增加rtc文件。通过man rtc可以得知,RTC为只读字符设备,主10,从135。因此命令为“mknod /dev/rtc c 10 135”。命令执行完毕后,/dev下成功生成了rtc文件。

    运行hwclock –r,能够看到硬件时间为本地时间。通过date命令查看系统时间,却为UTC时间。这说明系统没有进行本地时间的设置。

    (3)/etc/localtime

    Linux的系统时区是通过符号连接/etc/localtime来得到的。可以通过tzset命令来设置时区。如果没有该命令,可以通过命令“ln –s /etc/localtime /usr/share/zoneinfo/Asia/Shanghai”来将时区设置为亚洲的上海。

    由于最初构建系统的时候没有包含zoneinfo信息,因此/usr/share目录下不存在zoneinfo目录及其文件。所以将包含zoneinfo信息的机器的/usr/share目录下的整个zoneinfo目录复制到本机的/usr/share目录下。

    通过date命令检查时间,发现已变成了正常的本地时间:

    Mon Aug 29 13:14:29 CST 2005

    (4)/etc/sysconfig/clock

    该配置文件可用来设置用户选择何种方式显示时间。如果硬件时钟为本地时间,则UTC设为0,并且不用设置环境变量TZ。如果硬件时钟为UTC时间,则要设置UTC为1,并设置环境变量TZ(或配置文件/etc/TZ)为时区信息,如“Asia/Shanghai”。

    我机器的硬件时间为本地时间,因此该配置文件内容为:

    ZONE="Asia/Shanghai"

    UTC=0

    ARC=0

    2.NTP同步设置

    (1)ntpdate

    如果只是通过NTP服务器同步系统时间,可以使用命令ntpdate(位于/usr/sbin/下,使用ntpd会提供更佳全面的功能)。Ntpdate用到的库包括:libcap.so.1 => /lib/libcap.so.1、libc.so.6 => /lib/tls/libc.so.6、/lib/ld-linux.so.2 (0xf6fdf000)。将该命令文件及相关的库都复制到这台机器上,并找到一个最近的稳定的NTP服务器。我使用的是nets.org.sg(IP:203.117.180.36)。运行命令“ntpdate 203.117.180.36”,再通过date命令查看时间,发现时间已更新。

    四、相关知识

    Linux时钟

    Linux机器里有两个时钟,一个是硬件时钟(CMOS时钟),一个是内核时钟。硬件时钟是电池驱动的,通过专门的芯片工作。可以通过BIOS设置屏或一些系统命令(如hwclock)进行设置。内核时钟是由内核维护的,启动时从硬件读取时间,之后独立运行。

    RTC(Real Time Clock)

    即Linux实时的时钟驱动,通常它们被嵌在计算机的芯片中,也有一些是在主板上使用Motorola MC146818(或clone)实现的。该硬件设备可映射到/dev/rtc,供root编程访问。

    NTP(Network time protocol)

    NTP为一种网络时间协议,是一种确保网络上的主机调整时间的方法。很多地方都会提供NTP服务器(ISP或网管,也可以在http://www.eecis.udel.edu/~mills/ntp/clock1a.html寻找一个最近的服务器)。

    展开全文
  • linux同步工具

    2017-09-13 11:24:04
    linux同步工具项目源码 项目简介 :实现在linux环境下服务端和客户端同步文件、更新文件、一键部署环境开发环境 :linux,c++, vim, g++, gdb, make 主要技术 :1、正则表达式:关于正则表达式的元字符和在c++中使用...

    linux同步工具

    项目源码

    项目简介 :实现在linux环境下服务端和客户端同步文件、更新文件、一键部署环境

    开发环境 :linux,c++, vim, g++, gdb, make

    主要技术

    1、正则表达式:关于正则表达式的元字符和在c++中使用正则表达式,我做了总结:正则表达式

    2、守护进程:linux下,man 7 daemon会得到守护进程的标准创建过程。

     1. Close all open file descriptors except standard input, output, and error (i.e. the first three file descriptors 0, 1, 2). This ensures that no accidentally passed file descriptor stays around in the daemon process. On Linux, this is best implemented by iterating through /proc/self/fd, with a fallback of iterating from file descriptor 3 to the value returned by getrlimit() for RLIMIT_NOFILE.
    
    2. Reset all signal handlers to their default. This is best done by iterating through the available signals up to the limit of _NSIG and resetting them to SIG_DFL.
    
    3. Reset the signal mask using sigprocmask().
    
    4. Sanitize the environment block, removing or resetting environment variables that might negatively impact daemon runtime.
    
    5. Call fork(), to create a background process.
    
    6. In the child, call setsid() to detach from any terminal and create an independent session.
    
    7. In the child, call fork() again, to ensure that the daemon can never re-acquire a terminal again.
    
    8. Call exit() in the first child, so that only the second child (the actual daemon process) stays around. This ensures that the daemon process is re-parented to init/PID 1, as all daemons should be.
    
    9. In the daemon process, connect /dev/null to standard input, output, and error.
    
    10. In the daemon process, reset the umask to 0, so that the file modes passed to open(), mkdir() and suchlike directly control the access mode of the created files and directories.
    
    11. In the daemon process, change the current directory to the root directory (/), in order to avoid that the daemon involuntarily blocks mount points from being unmounted.
    
    12. In the daemon process, write the daemon PID (as returned by getpid()) to a PID file, for example /run/foobar.pid (for a hypothetical daemon "foobar") to ensure that the daemon cannot be started more than once. This must be implemented in race-free fashion so that the PID file is only updated when it is verified at the same time that the PID previously stored in the PID file no longer exists or belongs to a foreign process.
    
    13. In the daemon process, drop privileges, if possible and applicable.
    
    14. From the daemon process, notify the original process started that initialization is complete. This can be implemented via an unnamed pipe or similar communication channel that is created before the first fork() and hence available in both the original and the daemon process.
    
    15. Call exit() in the original process. The process that invoked the daemon must be able to rely on that this exit() happens after initialization is complete and all external communication channels are established and accessible.
    

    3、配置文档:配置文档主要使用正则表达式进行处理,使用正则表达式提取要获取的关键字。

    4、生产消费者模型:生产消费者模型

    5、设计模式:单例模式简单工厂模式命令模式中介者模式

    项目特点:

    1. 符合语法规则的前提下,支持c注释与c++注释相互转换。
    2. 软件安装与升级:能触发多个主机通过apt或者yum安装和升级指定的软件包。
    3. 脚本执行:能远程控制客户端执行某个脚本文件,达到一键部署功能 。
    4. 整个系统拥有日志功能
    展开全文
  • date命令:查看当前时间 DESKTOP-R5E7NDM:~ # date ...同步网络时间 安装ntp服务命令: DESKTOP-R5E7NDM:~ # zypper in ntp Loading repository data... Reading installed packages... Resolving package...

    date命令:查看当前时间

    DESKTOP-R5E7NDM:~ # date
    Wed Nov 27 02:07:58 UTC 2019

    同步网络时间

    安装ntp服务命令:

    DESKTOP-R5E7NDM:~ # zypper in ntp
    Loading repository data...
    Reading installed packages...
    Resolving package dependencies...
    

    ntpdate 服务器IP:同步服务器时间

    ntp常用服务器:
        中国国家授时中心:210.72.145.44
        NTP服务器(上海) :ntp.api.bz
        美国:time.nist.gov 
        复旦:ntp.fudan.edu.cn 
        微软公司授时主机(美国) :time.windows.com 
        台警大授时中心(台湾):asia.pool.ntp.org

    DESKTOP-R5E7NDM:~ # ntpdate -dv ntp.api.bz
    27 Nov 04:39:23 ntpdate[900]: ntpdate 4.2.8p13@1.3847-o (1)
    Looking for host ntp.api.bz and service ntp
    host found : 114.118.7.163
    

    未完,还是没同步,修改时区

    tzselect

    DESKTOP-R5E7NDM:~ # tzselect
    Please identify a location so that time zone rules can be set correctly.
    Please select a continent, ocean, "coord", or "TZ".
     1) Africa
     2) Americas
     3) Antarctica
     4) Asia
     5) Atlantic Ocean
     6) Australia
     7) Europe
     8) Indian Ocean
     9) Pacific Ocean
    10) coord - I want to use geographical coordinates.
    11) TZ - I want to specify the timezone using the Posix TZ format.
    #? 4
    Please select a country whose clocks agree with yours.
     1) Afghanistan		  14) India		    27) Lebanon		      40) Singapore
     2) Armenia		  15) Indonesia		    28) Macau		      41) Sri Lanka
     3) Azerbaijan		  16) Iran		    29) Malaysia	      42) Syria
     4) Bahrain		  17) Iraq		    30) Mongolia	      43) Taiwan
     5) Bangladesh		  18) Israel		    31) Myanmar (Burma)	      44) Tajikistan
     6) Bhutan		  19) Japan		    32) Nepal		      45) Thailand
     7) Brunei		  20) Jordan		    33) Oman		      46) Turkmenistan
     8) Cambodia		  21) Kazakhstan	    34) Pakistan	      47) United Arab Emirates
     9) China		  22) Korea (North)	    35) Palestine	      48) Uzbekistan
    10) Cyprus		  23) Korea (South)	    36) Philippines	      49) Vietnam
    11) East Timor		  24) Kuwait		    37) Qatar		      50) Yemen
    12) Georgia		  25) Kyrgyzstan	    38) Russia
    13) Hong Kong		  26) Laos		    39) Saudi Arabia
    #? 9
    Please select one of the following timezones.
    1) Beijing Time
    2) Xinjiang Time
    #? 1
    

    最后一步

    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    DESKTOP-R5E7NDM:~ # date
    Wed Nov 27 14:03:49 CST 2019

     

    展开全文
  • Linux同步机制(信号量,自旋锁)

    千次阅读 2015-09-13 17:12:21
    在这以前字符设备的基础也就这么多了,接下来我们讲一下当我们有两个open函数同时打开的时候该怎么处理,我们肯定是不希望在同一时刻有两个应用程序都打开了这个驱动,这个时候我们可以才需一些措施。 总结同一时刻...

    当我们有两个open函数同时打开同一个设别节点的时候该怎么处理,我们肯定是不希望在同一时刻有两个应用程序都打开了这个驱动,这个时候我们可以才需一些措施。

    同一时刻只能够打开一个设备节点,如何实现同一时刻只能有一个进程使用某个设备?使用linux互斥机制

    Linux互斥机制有哪些?
    答:有很多种,如:原子变量、互斥锁、信号量、自旋锁、读写锁等等

    注意以上的集中互斥机制我只会讲解原子变量,信号量。

    上一篇文章的链接:http://blog.csdn.net/qq_21792169/article/details/48416773


    测试程序是不变的。

    代码:下面我例举了原子变量的说有用法,

    原子变量
    #include<asm/atomic.h>
    static atomic_t canopen = ATOMIC_INIT(1); //define atom 
    atomic_set(v,i)//v(shi dizhi)是原子变量 *v=i;
    atomic_read(v)
    atomic_add(i,v)//让*v+=i
    atomic_sub(i,v)//让*v-=i
    atomic_inc(&canopen)//让*v+=1//减一的定义在open函数当中,但是在close函数应该把它加回来
    atomic_dec(v)//让*v-=1


    atomic_sub_and_test(i,v)//*v=0;返回结果是真
    atomic_add_negative(i,v)//*v<0;返回结果是真
    atomic_inc_and_test(v)//*v=0;返回结果是真
    atomic_dec_and_test(v)//*v=0;返回结果是真1


    信号量:static DECLARE_MUTEX(button_lock);     //定义互斥锁
    down(&button_lock);//open时候定义
    up(&button_lock);//close时候定义


    自旋锁也是很常用的在linux内核中。

    展开全文
  • linux file open的实质

    2011-03-30 17:36:15
    linux open file的时候到底做了什么呢? 如图:   这样多线程对文件读写,可见,也是需要对文件进行同步保护的。   但是这和内存变量的同步似乎有些不太一样,也就是用mutex好像不能互斥文件open之后的读写...
  • 远程Linux (centos7.4)二 安装Samba1. 安装samba相关的服务yum install -y samba*2. 查看Samba是否安装成功systemctl status smb注:如果出现如下显示,说明Samba安装成功三 配置Samba1. 配置Samba配置文件1.1 备份...
  • Posix semaphore 有名信号量 .../* sem_open - initialize and open a named semaphore */ #include <fcntl.h> /* For O_* constants */ #include <sys/stat.h> /* For mode constants ...
  • Linux E667 同步失败

    2016-12-22 09:31:02
    因为proc这个目录是一个虚拟文件系统,它放置的数据都是在内存中,本身不占有磁盘空间,所以使用Vim编辑后会出现E667 同步失败,正确的修改方法是使用echo。 例如修改/proc/sys/fs/nr_open 的值为20000000,即:...
  • 环境:已配置openvpn 让服务器与本地服务器可以处在同一网络环境 服务器:客户端(192.168.0.67) 服务端(192.168.0.66) 解决方案:监听服务器端文件夹增删改,推送实时变化数据到客户端,达到备份服务端数据的需求 ...
  • Linux shell中当两个脚本需要同时访问同一个文件时,就会出现冲突。对于这种冲突可以使用flock命令解决。 flock的加锁和解锁方法如下: 加锁: [html] view plain copy exec 3&gt;filename # open a file ...
  • DS LDAP同步linux用户

    2021-03-10 15:17:10
    先将DSLDAP服务同步host2 以下都是在host2上面操作(和前面的open ldap相同) 1.yum安装ldap客户端 yum install nss-pam-ldapd openldap-clients openldap -y 2.#添加client服务器到LDAP服务,注意IP为host1的,只...
  • linux下使用svn同步程序

    千次阅读 2014-08-29 14:27:54
    linux 下的svn就不说了 svn help就知道了 通过svn同步程序,发布和升级就超级简单了,好爽啊 今天准备搞一下svn发布程序 不过登陆是root,同步的程序也是root权限,纠结,还好有sudo命令,爽爽 ...
  • 阅读linux系统编程手册笔记&gt; POSIX信号量跟System V信号量一样,都是用于进程和线程同步对同享资源的访问。信号量(POSIX,System V)是一个整数,其值是不能小于0的。 POSIX信号量主要分为:命名信号量、...
  • linux服务器与window本地之间数据同步

    千次阅读 2017-09-29 09:47:16
    linux服务器与windows本地之间数据同步: 首先在windows端新建3个文件 files.bat 控制ftp文件的启动 files.ftp进行 从linux端向windows端的同步 files1.ftp 进行 从windows向linux端的同步 其中,...
  • Linux 系统调用之open(一)

    千次阅读 2018-02-23 00:59:25
    本文仅以下面简单代码为例,看Linux内核如何完成open的系统调用的(参考内核版本:4.14.13,x86_64)。为了简单起见,本文中暂时忽略并发性访问的同步问题以及错误处理(一般情况下,上述事例中的操作都会成功,除非...
  • 使用范围: 线程同步,相关进程同步,无关进程同步 此文转自: 一、函数介绍 1.初始化打开有名信号量 #include sem_t * sem_open (const char *name, intoflag, ...) sem_t *sem_open(const char *name,int ...
  • Linux集群部署自定义时间同步服务器(ntpd)  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。      身为一名运维人员,在搭建集群的时候,第一步需要做的就是同步每个机器的时间,尤其是在...
  • 有时候,lotus daemon 在同步的时候,经常会出现 too many open files 错误,然后停止了。 实际上,这是操作系统的问题,因为lotus在启动时,会同时读写多个区块文件。而Linux操作系统对于每个用户账号,系统一般...
  • 加载同目录同名歌词同步显示#!/usr/bin/python#-*-coding:utf-8-*-importsys,os,time,subprocess,re,chardetdefload_lrc(lrc_file):try:lrc_contains=open(lrc_file,‘rb‘).read()encoding=chardet.detect(lrc_con....
  • 参考:... 使用有名信号量,sem_open()、sem_close()、sem_post()、sem_wait() 无名信号量:sem_init()、sem_destroy()、sem_wait()、sem_trywait()、sem_post(); 转载于:https://www.cnblogs...
  • deepinlinux + securecrt + rsync同步配置

    千次阅读 2017-01-14 08:29:51
    之前提到,有的时候,teamviewer在windows或者deepin linux下面即使登陆了,右侧没有侧边栏,没发选择机器,可是有时候特别着急,所以选择web界面。但是,今天遇到了一个情况,在https://login.teamviewer.com/,...
  • 【版权声明:尊重原创,转载请保留出处:blog.... system V信号量操作类似于posix信号量,但system V信号量的操作要复杂得多,posix信号量使用步骤为sem_init(sem_open)-->sem_wait(sem_post) --> sem_close详见上一
  • 目录复习结构体:struct文件I/O:线程:主要学习内容信号量同步:按照一定的顺序有序的执行互斥:抢资源;谁先抢到资源就谁先执行网络编程:服务器:server客户端:client代码及演示收获及感悟 复习 结构体:struct ...
  • 目的:同一时刻只能有一个应用程序open设备文件。所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理...
  • 起语: 版权声明: 腾讯课堂->奇牛学院. 我只是用来方便学习 && 复习!!! 我只是一个学习者, 从来不对我说过的话负责...$ man 2 open #查看帮助文档 $ man fsync #查看帮助文档 结语: 时间: 2020-08-20 ...
  • lftp命令同步上传文件,代码如下:复制代码 代码示例:#!/bin/bash#edit by www.jquerycn.cnHOST="IP:端口"USER="用户名"PASS="密码"LCD="本地路径"RCD="远程路径"lftp -c "set ftp:list-options -a;open ftp://$USER...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 335
精华内容 134
关键字:

linuxopen同步

linux 订阅