我在基于 ARM 的嵌入式系统上运行 Ubuntu,该系统缺少电池支持的 RTC。唤醒时间在 1970 年的某个时间。因此,我使用 NTP 服务将时间更新为当前时间。
我将以下行添加到/etc/rc.local文件中:
sudo ntpdate -s time.nist.gov
Run Code Online (Sandbox Code Playgroud)
但是,启动后,仍然需要几分钟才能更新时间,在此期间我无法有效地使用tar和make。
如何在任何给定时间强制更新时钟?
更新 1:以下(感谢 Eric 和 Stephan)在命令行中工作正常,但在放入时无法更新时钟/etc/rc.local:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan 1 00:00:58 UTC 1970
* Stopping NTP server ntpd [ OK ]
* Starting NTP server [ OK ]
Thu Feb 14 18:52:21 UTC 2013
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
更新 2:我尝试遵循针对第一次更新而提出的一些建议,但似乎实际上没有按要求完成这项工作。这是我尝试过的: …
我正在寻找“。”之间的区别。和“源”内置命令和一些源(例如,在本讨论中,以及bash 手册页)表明它们是相同的。
但是,由于环境变量的问题,我进行了测试。我创建了一个testenv.sh包含以下内容的文件:
#!/bin/bash
echo $MY_VAR
Run Code Online (Sandbox Code Playgroud)
在命令提示符下,我执行了以下操作:
> chmod +x testenv.sh
> MY_VAR=12345
> ./testenv.sh
> source testenv.sh
12345
> MY_VAR=12345 ./testenv.sh
12345
Run Code Online (Sandbox Code Playgroud)
[注意第一种形式返回一个空字符串]
所以,这个小实验表明,有是毕竟有差别,其中的“源”命令,孩子的环境继承所有从父之一,这里的变量“” 它不是。
我是否遗漏了什么,或者这是bash的未记录/不推荐使用的功能?
[GNU bash,版本 4.1.5(1)-release (x86_64-pc-linux-gnu)]
我有一台 DELL U2410 显示器连接到配备集成 AMD/ATI 显卡 (AMD E-350) 的 Compaq 100B 台式机。安装的操作系统是 Ubuntu 10.04 LTS。
计算机通过 DVI 接口连接到显示器。
问题是我无法将桌面分辨率设置为原生 1920x1200。允许的最大分辨率为 1600x1200。
做了一些研究,我发现了这个xrandr实用程序。不幸的是,在尝试使用它时,我无法将其配置为所需的分辨率。首先,它不报告输出名称(应该是DVI-0),default而是说。没有它,我无法使用该--fb选项。
EDID 实用程序似乎可以很好地识别监视器。这是来自的输出get-edid:
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:ff
# Block type: 2:0 3:fc
Identifier "DELL U2410"
VendorName "DEL"
ModelName "DELL U2410"
# Block type: 2:0 3:ff
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
HorizSync 30-81
VertRefresh 56-76
# …Run Code Online (Sandbox Code Playgroud) 我有一个 VMware Player 虚拟机设置,运行 Ubuntu 10.04 作为来宾操作系统。
VM 是在 20GB 的虚拟驱动器上创建的,有一个用于工作空间的分区。最后,我需要扩展虚拟驱动器的大小。通过 VMware Player 菜单调整驱动器本身的大小,增加一些 10GB,很容易。我现在需要调整主分区本身的大小(我更喜欢这个而不是创建一个单独的分区并安装它)。
根据 GParted,我现在有以下分区:

我的问题是,如何增加文件系统分区的大小以包含可用的 10GB?
从我在网上找到的信息来看,一个限制似乎是他的交换分区与文件系统紧邻,所以我的理解是第一件事是将该分区移动到卷的末尾。如何才能做到这一点?
此外,一些消息来源建议系统应该从 LiveCD 引导,因此文件系统不是引导分区,因此更容易调整大小。如上所述,我运行一个 VM,所以我不确定如何从 LiveCD 启动它。有任何想法吗?
我试图diff在目录的两个副本(例如工作和备份)中的所有同名文件之间找到s。例如,我可以在diff两个文件中使用两个同名文件:
> diff d1/f.cpp d2/f.cpp
或者我可以找到目录之间的差异:
> diff d1 d2
但我怎样才能找到*.cpp文件之间的差异呢?
> diff d1/*.cpp d2/*.cpp
似乎不起作用(出于明显的原因)。
[用循环解决可能很容易,但我正在努力寻找更优雅的方法]
在磁盘空间非常有限的嵌入式系统上,我的文件夹/var/cache/apt充满了大约 700MBsrcpkgcache.bin.*和几个大*.bin文件。
表演sudo apt-get clean并没有产生明显的差异。
手动删除这些*.bin*文件是否安全?
我在我的 Ubuntu 上使用 Logitech Anywhere Mouse MX。鼠标运行良好,但我无法将操作分配给其上可用的额外按钮。我最怀念的是分配给左右滚轮倾斜的“后退”和“前进”动作。
如何激活这些功能?
我需要澄清一下我们在终端下运行可执行文件的方式。这可能是一个蹩脚的问题,但是使用./an_executable和运行可执行文件有什么区别. an_executable(假设我们在 an_executable 所在的目录中)
我已经知道前者让 shell 在当前目录 ( .) 中查找 an_executable ,但是为什么在使用后一个版本/后不需要 a.呢?
提前致谢。
我即将向客户发送一个新的 10.04 安装系统。这是我们随预装软件和额外硬件测试平台一起发货的第一个系统,所以我认为让桌面壁纸包含我们公司的标志是个好主意。
我想要做的只是将徽标添加到默认背景图像中。问题是:
为了更改符号链接,可以使用 -fs 选项来消除首先取消链接或删除旧链接的需要。但是,尝试在目录上执行此操作似乎不起作用:
$ mkdir dir1
$ mkdir dir2
$ ln -s dir1 lnk
$ ln -sf dir2 lnk
$ ll
......... lnk -> dir1
$
Run Code Online (Sandbox Code Playgroud)
为什么这样?是否还有其他选项可以像处理文件一样对目录执行此操作?
使用 Ubuntu 软件中心,我可以搜索一个大概的包名称,并从中选择匹配的包列表。
如果我通过 ssh(即仅限命令行)在远程机器上工作,我该如何执行这样的搜索?
10.04 ×4
command-line ×3
apt ×2
apt-cache ×1
background ×1
bash ×1
diff ×1
environment ×1
executable ×1
ext4 ×1
logitech ×1
mouse ×1
mouse-wheel ×1
ntp ×1
partitioning ×1
resize ×1
scripts ×1
xrandr ×1