标签归档:Linux

linux和windows时间同步问题

n年前的问题,现在可能已经不适用

 

由于两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。
Linux和苹果操作系统以当前主板CMOS内时间做为格林威治标准时间,再根据系统设置的时区来最终确定当前系统时间(如时区设置为GMT+08:00北京时间时以及当前CMOS时间为03:00,那么系统会将两个时间相加得出显示在桌面的当前系统时间为11:00)。
Windows操作系统却直接把CMOS时间认定为当前显示时间,不根据时区转换。这样每调整一次系统时区,系统会根据调整的时区来计算当前时间,确定 后,也就同时修改了CMOS内的时间(即每调整一次时区,设置保存后,CMOS时间也将被操作系统改变一次,注意不同操作系统调整时间后,也会同时改变 CMOS时间,这一点是共通的)。
这里我们且不论两种时间计算标准的好差,而仅让Windows认定CMOS时间为格林威治标准时间来消除操作系统之间认定时间的差异,从而解决Windows操作系统与不同操作系统并存时出现的时间认定纠纷。。。(怎么改Ubuntu参见2楼xport的回帖:))

其实Windows注册表内已经隐藏了这样一个开关。瀑布汗,那么就拿它来开刀了。。。
即在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1。
我这里给出一个自己写的命令行,拷贝代码后用记事本另存后缀名为CMD,双击执行即可(在Windows下)
==========================================
@echo off
color 0a
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
echo.
echo 已让Windows识别存贮在主板CMOS内的时间为格林威治标准时间(GMT),即系统根据CMOS时间和设置的时区来确定当前系统的时间。
echo.
pause
==========================================

linux常见问题

内容源自网络

一.系统问题

1.系统无法启动

可能问题是MBR受损或GRUB错误。可考虑两种方案:1 进入救援模式rescue mode,编辑/boot/grub/下的menu.lst 。2 修复MBR,备份MBR:dd if=/dev/had of=MBR-backup bs=512 count=1 ,恢复MBR:dd if=MBR-backup of=/dev/had bs=512 count=1 .

2.启动到ubuntu logo时,卡机

解决方案是编辑/boot/grub/menu.lst,找到此行:kernel /boot/vmlinz-2.6.15-10 root=/dev/hda1 ro quiet splash ,删掉splash ,重启后就不会出现logo.

3.开机无法登陆图形界面

此状况大多是由于X-server配置有误,需重新配置。配置文件: /etc/X11/xorg.conf .运行X配置过程:sudo dpkg-reconfigure xserver-xorg

4.如何添加字体

按Alt+F2键(功能类似MS Windows中的’Win+R’),出现’Run Application’对话框,从中输入fonts:///,然后运行会弹出字体文件夹,将要添加的字体拖进此文件夹即可。注意,添加的字体仅对当前用户有效。

5.如何测试ISO文件是否完整

Command line : md5sum file_name

将产生的32位字符与文件附带的32位验证码进行比较。

6.如何察看文件夹中的隐藏文件

单击文件浏览器(File Browser)中的“View”(视图) è“Show Hidden Files”(显示隐藏文件),此时隐藏文件就会显示出来。也可以使用快捷键 “Ctrl+H”.

7.图形桌面停止响应,如何处理

两种解决方案:1 同时按下Alt+Ctrl+ Backspace 此时将重启x-Windows. 2 按下Alt+F2,跳转到终端,登陆后运行sudo /etc/init.d/gdm stop,将关闭x-window而进入test-mode.然后再键入sudo /etc/init.d/gdm start,将重新启动X-window.

8.如何释放磁盘空间

首先,清空垃圾筒(Trash)中的内容,Trash在桌面的最右下角,点右键清空即可。

其次,清理包缓存,每当由Synaptic或者自动升级管理器下载包时,该包将会被保存在/var/cache/apt/archives/ 下。通过运行以下命令将会在不影响系统情况下清除掉这些包。 sudo apt-get clean

9.安装Windows后,Ubuntu不能启动

原因是Windows将MBR重写,导致系统无法从中读取有关 Ubuntu的启动信息。解决方法是,将系统由CD启动,进入Rescue 模式,按回车键选择键盘布局和语言,之后会得到有关硬盘分区的列表,选择安装有Ubuntu的分区,按回车。待出现shell提示符后输入 “grub-install /dev/hda” 将GRUB安装到硬盘。等待过程结束至输出“install finished”,然后输入“exit”重启计算机。

10.忘记系统密码

重启计算机,待看到GRUB时

二.应用软件

1. 无法关闭程序窗口

利用xkill关闭。按下Alt+F2,输入xkill并按回车,此时鼠标变成一个小骷髅头的形状,单击要关闭的窗口即可。

2.播放DVD画面抖动和跳跃

此状况多数是由于DVD伺服器的DMA模式没有启动,启动这种模式即可。

Sudo hdparm /dev/sdc   grep dma

如果DMA没有启动,会看到 using_dma = 0 (off)

要开启DMA模式,运行 sudo hdparm –d 1 /dev/sdc

此时重新播放DVD,若问题解决,应修改/etc/hdparm.conf并添加如下代码块:

linux安装软件 指南

内容源自网络

如果是别人发布的二进制包,可执行文件通常都安装到 /usr/bin 下面;如果是自己从源代码安装的,可执行文件通常都在 /usr/local/bin 下面,除非配置时指定了安装位置。
例如:
rpm -ivh xxx1.rpm
可执行文件通常都安装到 /usr/bin 下面

./configure (或者 ./configure –prefix=/usr/local)
make
make install
可执行文件通常都在 /usr/local/bin 下面,因为默认参数就是 –prefix=/usr/local

./configure –prefix=/usr (或者 ./configure –prefix=/opt 也可以指定其他位置,如你的家目录 –prefix=~,~就是 /home/xxx<即你的家目录>的缩写)
make
make install
可执行文件通常都在 /usr/bin 下面(或者相应地位于 /opt/bin 下面,或者 /home/xxx/bin 下面,xxx 是你的家目录)

无论那种方法,在 bash 控制台下只要输入可执行文件头几个字母,然后连续按两次 Tab 键,就可以列出可能的所有命令,如果只有一种可能,则自动显示该文件全名,这称为命令补全。想执行当前目录下的可执行文件,则必须使用 ./ 作为命令前导,例如:
./myprogram

除此之外,一般的可执行文件都处在系统的搜索路径里,只要在控制台直接输入命令名就可执行。例如你编译安装了一个叫 synaptic 的软件,只需要在 KDE 的 konsole 虚拟控制台下输入 synaptic 即可。

如果不幸,你的可执行文件不在系统的搜索路径里,就会报告没有这个命令。那么你需要把那个可执行文件的位置加入环境变量 PATH 里,用冒号作分割符,例如:
在你的家目录的 .profile 文件或 .bashrc 文件里添加如下命令
PATH=”~/bin:$PATH” 就可以把你的家目录的 bin 目录追加到搜索路径里。

无论任何时候想知道系统里某个“命令文件”的位置,都可以使用 which 命令,例如:
$which pwd
/usr/bin/pwd
说明 pwd 命令位于 /usr/bin 下面。
新的操作系统装好了,安装一些新的软件那是难免的。但是在Linux中,安装应用软件和Windows下有些不同哦。而且对于Linux初学者来说,安装软件是一件很让人头疼的事情。由于很多Linux应用软件都是以源代码的形式发布的,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,才能使用这些软件。

大多数Linux 初学者往往不知道该如何进行配置和编译。下面笔者就简单介绍一下如何安装Linux应用软件。在安装应用软件之前,还要确保软件安装的编译环境,比如编译器GCC、必要的库文件等。不过,用户不需要担心这些问题,因为大多数 Linux发行版本都已经默认安装了GCC编译器。

目前流行的软件包有两种比较常见的形式,一种是以 RPM、deb包为代表的智能软件包,另一种是file.tar.gz形式的压缩。本文将讨论file.tar.gz的安装方法以及智能软件包在文本环境和图形环境下的安装方法。

一、源代码安装

应用软件的源代码一般是file.tar.gz或者file.tgz格式,也就是说是以tar来打包,然后用gzip来压缩。

以应用软件xfce-3.8.7.tar.gz为例,先进入软件的当前目录,然后使用gzip解压:#gzip -d xfce-3.8.7.tar.gz(注:-d 代表解压)。然后用tar解包:#tar -xvf xfce-3.8.7.tar。由于tar和gzip经常一起使用,所以tar还提供了一个参数,它可以自动调用gzip来解压,即:# tar -xzvf xfce-3.8.7.tar.gz。

进入解压完成之后新建立的目录,一般的应用软件中都有一个用来配置软件的可执行文件——configure,它的参数比较多,而且用法也非常灵活。当然,安装不同的软件参数也不相同,具体有些什么参数,可以用命令:#./configure help取得详细的帮助。例如./configure –prefix=/usr/local/mysql(表示设置软件的安装目录为:/usr/local/mysql)

在运行#./configure [options]配置软件后,它会根据你当前系统、编译、安装相关的信息,生成一个安装配置文件Makefile。Makefile文件通常是用来编译和安装软件的,运行make命令时系统会自动根据Makefile文件中的设置对软件进行编译和安装,如果编译能够顺利通过的话,运行#make install命令来安装。
二、智能包安装

现在,以智能包形式提供的软件很多,像RedHat Linux的RPM、Debian Linux的DEB、KISS、BSD以及Slackware等。RPM和Debian几乎统治着Linux包管理世界,它们是首先被大多数商业 Linux发行版本所广泛采用的应用软件。下面笔者就介绍一下如何安装以RPM和Deb格式打包的软件。

RPM是RedHat Package Manager的缩写,它只能使用在安装了RPM软件的系统中,不过好像目前大多数中文Linux发行版本都支持RPM软件包。

1.用命令管理

#rpm [options] abc.rpm

例如安装python-1.5.2-35.i386.rpm软件时,可以使用如下命令:#rpm –ivh python-1.5.2-35.i386.rpm。

如果你想知道RPM软件包中的相关信息,可以使用命令:#rpm ivh python-1.5.2-35.i386.rpm。

如果想知道python-1.5.2-35.i386.rpm会在系统里安装哪些文件,可以使用以下这个命令:rpm -qpl python-1.5.2-35.i386.rpm。

由于RPM的参数很多,我们就不一一列举,想得到更多有关RPM的参数,可以用命令:#man rpm取得详细的帮助信息。

2.图形界面工具管理

相对命令方式来说,在图形环境下,安装、升级、卸载和查询RPM软件包是一件非常简单轻松的事情,因为Linux提供了几个功能强大的RPM包管理工具。我们推荐使用Linux的图形管理工具来维护RPM软件包,GNOME中的GnoRPM和KDE中的Kpackage就是功能强大的RPM 包管理工具。由于国内用户使用的中文Linux发行版本中最常见的窗口管理器是KDE,下面笔者就以KDE中Kpackage为例,介绍如何使用RPM包管理工具。

点击Start(开始)→System tools(系统工具)→Kpackage,出现Kpackage界面,同时分析Linux系统中的 RPM数据库。它将安装好的RPM包形式的软件按照功能分在Amusements、Application、Development、Document、 Extension、Extentions、Networking、System Environment、User Interface以及X11等几个树形目录中,每个目录中有相应的文件图标和名称。要安装或升级软件,只要点击工具栏的相应按钮就会弹出打开文件的对话框,选中要安装的RPM文件,单击OK按钮,如果不缺必要的运行库,就开始安装软件了。卸载软件时,用鼠标选择相应的软件,单击右边的Uninstall 按钮就可以了。

linux下软件安装位置–我和linux牛人前辈的一段对话


看你安装程序是什么样的,如果是源代码编译安装的话一般在configure的时候把prefix指定为/usr/local, 如果是专门的安装程序的话就自己指定了,应用程序一般都在/usr/local/程序名里,有的放/opt/ ,服务在/srv
宇洋 12:17:27
rpm应该指定安装地点的

Tom 12:17:51
没有对不对的说法,一般的RPM会把库文件放到/uar/lib下面,环境变量的库目录默认也是那里,这样运行的时候就不需要指定环境参数而已
宇洋 12:17:44
不会安装在root下吧

Tom 12:18:05
如果是rpm的话就不会的
Tom 12:18:23
rpm应该也不能改变安装目录
宇洋 12:18:20
那就是编译安装了

Tom 12:18:46
这是我的FF文件,rpm安装的
Tom 12:18:48
/usr/bin/firefox
/usr/lib/firefox-3.0b5
/usr/lib/firefox-3.0b5/.autoreg
/usr/lib/firefox-3.0b5/LICENSE
/usr/lib/firefox-3.0b5/README.txt
/usr/lib/firefox-3.0b5/application.ini
/usr/lib/firefox-3.0b5/blocklist.xml
/usr/lib/firefox-3.0b5/browserconfig.properties
/usr/lib/firefox-3.0b5/chrome
/usr/lib/firefox-3.0b5/chrome/browser.jar
/usr/lib/firefox-3.0b5/chrome/browser.manifest
/usr/lib/firefox-3.0b5/chrome/classic.jar
/usr/lib/firefox-3.0b5/chrome/classic.manifest
/usr/lib/firefox-3.0b5/chrome/e
Tom 12:18:49
n-US.jar
/usr/lib/firefox-3.0b5/chrome/en-US.manifest
/usr/lib/firefox-3.0b5/chrome/icons
/usr/lib/firefox-3.0b5/chrome/icons/default
/usr/lib/firefox-3.0b5/chrome/icons/default/default16.png
/usr/lib/firefox-3.0b5/chrome/icons/default/default32.png
/usr/lib/firefox-3.0b5/chrome/icons/default/default48.png
/usr/lib/firefox-3.0b5/chrome/reporter.jar
/usr/lib/firefox-3.0b5/chrome/reporter.manifest
/usr/lib/firefox-3.0b5/components
/usr/lib/firefox-3.0b5/components/FeedConverter.js
/usr/lib/firefox
Tom 12:18:52
-3.0b5/components/FeedWr
Tom 12:19:35
编译的话如果指定prefix的话就装到你指定的目录,没指定的话默认放在/usr/local
宇洋 12:20:31
我的不在usr里,在root里。以后下载rpm安装。
我安装时没有指定目录,它也没默认到usr里,这是因为系统设置的问题吗

Tom 12:21:55
你看/usr/local/bin下面有没有
Tom 12:22:17
你干嘛非要知道装哪了呀??
宇洋 12:22:58
因为安装scilab费了很多事,网上求助,说我安装在的地方不安全。

另外你安装过tcl/tk吗?我安装完了,无法在终端启动。网上说是PATH设置问题,我不知如何设置

Tom 12:23:18
你直接运行firefox命令可以起来么
Tom 12:23:28
没有~
Tom 12:23:44
我现在要跟他们去吃饭,一会回来跟你说好么
宇洋 12:23:43
好的,谢谢

宇洋 12:24:09
我先去看看自己软件都安装到哪里了

宇洋 13:48:26
打扰。查了一下,我装的是firefox-3.0.tar.bz2
直接解压缩到root目录里,所以就安装到那里了。

Tom 13:49:08
哦你那个是二进制的包,随便放哪都可以的
宇洋 13:49:35
怎么看是二进制包

宇洋 13:50:14
我貌似把一些源代码软件也下载成二进制包安装了

Tom 13:50:29
里面有现成的firefox程序的就是二进制包,如果是源码包的话要编译之后才会生成firefox程序
Tom 13:50:53
源码包不编译不可能安装的
宇洋 13:51:23
嗯。但是安装二进制包有个问题是用终端启动不了

宇洋 13:51:31
设置路径的问题?

Tom 13:51:39
什么程序?
宇洋 13:51:40
如何设置

宇洋 13:51:46
firefox就是

Tom 13:52:01
你firefox的程序的路径是什么
宇洋 13:52:53
我是安了一个快捷方式在桌面上。因为系统里还有一个自带的firefox 2.xxx 终端启动的是那个

宇洋 13:53:16
路径是root/firefox 3.0/firefox

宇洋 13:53:22
应该是这样

Tom 13:53:48
你在终端里面输入/root/firefox 3.0/firefox应该能直接运行
宇洋 13:54:19
有没有通用的设置路径的方法,每个程序都一样吗,我想在终端里直接输入程序名字就可以打开它

宇洋 13:54:35
还要输入地址太麻烦

Tom 13:56:13
可以
/etc/profile的内容你看下,
最后加一句
export PATH=$PATH;/root/firefox 3.0/
Tom 13:56:35
export PATH=$PATH:/root/firefox 3.0/
Tom 13:56:42
错了,不是分号是冒号
宇洋 13:57:28
好的,谢谢。需要放在opt 文件加里的一般是什么程序?

Tom 13:57:34
这是你系统启动时加载的profile文件,想立即生效的话自己运行一下
export PATH=$PATH:/root/firefox 3.0/
Tom 13:58:16
这个我不太清楚,习惯不一样吧,我自己习惯普通的程序放在/usr/local,服务都是装在/srv
宇洋 13:58:42
嗯。就是说,加了那一句后,重启就生效了。
服务是指什么

Tom 14:00:30
对,你也可以手动直接运行一遍export PATH=$PATH:/root/firefox 3.0/,现在就可以生效
apache mysql什么的,我习惯编译安装
宇洋 14:01:33
第三方软件是不是就是指firefox这样的

Tom 14:01:44

 

 

=============

后记,这段对话发生在2008年左右,因为当时安装的还是firefox3.0,文中的牛人姓名进行了缩写(我认为他是linux大牛,也是在我入门时多次无私帮助我的一个前辈),看到这段自己保存在电脑里的“linux软件安装位置”对话,感觉自己刚开始使用linux时真是个什么都不懂就会瞎玩的家伙,不过也就是这样瞎玩,自己的技能树在没有学习任何相关书籍的情况下不断“野蛮”生长,但是也由于没有系统的学过,技能树点的不太完美。

Rsync 远程传输文件

Rsync (Remote Sync): 10 Practical Examples of Rsync Command in Linux

 

不要再用scp了,用rsync!

Copy/Sync Files and Directory to or From a Server
rsync -avz rpmpkgs/ root@192.168.0.101:/home/
Copy/Sync a Remote Directory to a Local Machine
rsync -avzh root@192.168.0.100:/home/tarunika/rpmpkgs /tmp/myrpms
Copy a File from a Remote Server to a Local Server with SSH
 rsync -avzhe ssh root@192.168.0.100:/root/install.log /tmp/
Copy a File from a Local Server to a Remote Server with SSH
 rsync -avzhe ssh backup.tar root@192.168.0.100:/backups/

【转发】如何在fedora系统中关掉 SELINUX

编辑/etc/selinux/config,找到这段:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=enforcing

把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:
SELINUX=disabled
保存,关闭。
……

编辑/etc/sysconfig/selinux,找到:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=enforcing

如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
SELINUX=disabled
保存,退出。

如果你碰到其他类似提示:
cannot restore segment prot after reloc: Permission denied
哪应该是SELinux的问题,可以考虑把它关闭。
————————————————————————————-
郁闷的是.我把SELinux关闭后还是不行.于是到google上search.发现这个很有用.
在你保证SElinux 被disable后.还执行下
chcon -t texrel_shlib_t
如: chcon -t texrel_shlib_t /路径/路径/名字.so (这个文件视具体执行文件.)

以上两步.已经解决了很多server的问题了.

使用chcon 命令
示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled