CentOS

利用win10自带hyper-v虚拟机安装centos7后,hyper-v默认分辨率较低导致虚拟机窗口较小,解决方法如下:

 方式一:
1.  su后取得root权限;
2.  敲入命令,  grubby --update-kernel=ALL --args="video=hyperv_fb:1920 x1080
3. 重启计算机;
 
其中1600x900为你所需分辨率,可按实际需要设置。 x是字母,不是乘号
 
方式一:

1、打开 Terminal

2、进入root模式,输入:cd /etc/default,输入:vim grub

3、进入编辑模式,在末尾加入一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1280x720"  ,红色部分是我电脑的分辨率,根据自己情况更改

4、更新grub,使之生效,在centos7下的update-grub命令是:grub2-mkconfig -o /boot/grub2/grub.cfg 

5、重启虚拟机,命令:reboot


 

远程桌面软件:http://www.xrdp.org/

方法/步骤

 
  1.  

    打开已经安装了CentOS7的主机,以root用户登录,在桌面上打开一个终端,输入命令:rpm -qa|grep epel,查询是否已经安装epel库(epel是社区强烈打造的免费开源发行软件包版本库);

    如果没有,则以yum方式安装:yum install epel-release

    Windows10远程连接CentOS7(搭建Xrdp服务器)
  2.  

    以yum方式安装xrdp,在终端上输入命令:yum install xrdp

    Windows10远程连接CentOS7(搭建Xrdp服务器)
    Windows10远程连接CentOS7(搭建Xrdp服务器)
    Windows10远程连接CentOS7(搭建Xrdp服务器)
  3.  

    以yum方式安装tigervnc-server(因为Xrdp最终会自动启用VNC,所以必须安装tigervnc-server,否则xrdp无法使用),命令为:yum install tigervnc-server

    Windows10远程连接CentOS7(搭建Xrdp服务器)
  4.  

    为用户root设置vnc密码,命令为:vncpasswd root;

    Windows10远程连接CentOS7(搭建Xrdp服务器)
  5.  

    配置xrdp.ini文件,修改XRDP最大连接数,否则远程连接可能无法成功(实验过,貌似没啥关系,可以忽略,如果不行再配置)

    把max_bpp=32, 改为max_bpp=24

    Windows10远程连接CentOS7(搭建Xrdp服务器)
  6.  

    查询SELinux状态,配置或关闭SELinux , 否则可能无法启动xrdp服务,或者启动出错;

    查看SELinux状态命令:/usr/sbin/sestatus -v 

    临时关闭SELinux(设置SELinux 成为permissive模式)命令:setenforce 0     

    Windows10远程连接CentOS7(搭建Xrdp服务器)
  7.  

    由于是测试,所以在此直接关闭防火墙,命令为:

    systemctl stop firewalld.service

    如果需要开机关闭,则命令为:

    systemctl disable firewalld.servie

  8.  

    或者不关闭防火墙,打开3389端口命令:

    firewall-cmd --permanent --zone=public --add-port=3389/tcp

    firewall-cmd --reload

  9.  

    启动xrdp服务,并且设置为开机启动(大多数博客的说法,但是本人将vnc服务禁用后,远程连接依旧可以使用):

    启动服务命令:systemctl start xrdp

    开机启动命令:systemctl enable xrdp

    Windows10远程连接CentOS7(搭建Xrdp服务器)
  10.  

    在键盘上按下“Ctrl+R”键,在弹出的“运行”框中输入“mstsc“命令,按“确定”,打开Windows远程连接,输入IP地址开始远程连接,在弹出的Xrdp用户验证窗口中输入CentOS7的用户名和密码,登录如图:

    Windows10远程连接CentOS7(搭建Xrdp服务器)
    Windows10远程连接CentOS7(搭建Xrdp服务器)

 


  

windows/linux 文件拷贝软件:Xmanager

 


 

 

centos 7 安装 chrome步骤如下:

1、进官网下载chrome rpm 格式安装包,下载地址 https://www.google.cn/chrome/

Download Chrome for Linux
Debian/Ubuntu/Fedora/openSUSE

Please select your download package:
 64 bit .deb (For Debian/Ubuntu) 64 bit .rpm (For Fedora/openSUSE) 

选择 64 bit .rpm (For Fedora/openSUSE),下载后文件 google-chrome-stable_current_x86_64.rpm

2、chrome 安装

2.1、切换终端目录到下载文件目录,执行安装命令:

rpm -ivh google-chrome-stable_current_x86_64.rpm 

2.2、若安装失败,并提示缺少依赖,如提示can not find libXss.so.1 libappindicator3.so.1,可先获取依赖包信息 查询命令:

repoquery --nvr --whatprovides libXss.so.1
repoquery --nvr --whatprovides libappindicator3.so.1

2.2、查询结果:

libXScrnSaver-1.2.2-6.1.el7 

2.3、安装依赖:

yum install libXScrnSaver*
yum install libappindicator*

///也可以这样安装依赖

1.查找哪个源包含这个命令

[root@localhost ~]# yum provides */lsb_release

2.从上面的输出可以看到redhat-lsb-core-4.1-27.el7.centos.1.x86_64 这个package包含这个命令,那就安装这个包。

[root@localhost ~]# yum install redhat-lsb-core-4.1-27.el7.centos.1.x86_64

有可能还缺少fonts,安装之:

# yum install liberation-fonts
///

2.5、再次执行安装命令即可

rpm -ivh google-chrome-stable_current_x86_64.rpm 

安装成功后,可在菜单栏(applications)-Internet中启动chrome

3、卸载chrome

查询已安装的chrome:

[root@ou Downloads]# rpm -qa|grep chrome
google-chrome-stable-68.0.3440.106-1.x86_64 

执行卸载命令:

[root@ou Downloads]# rpm -e --nodeps google-chrome-stable-68.0.3440.106-1.x86_64



 
  

 使用Linux中的mount命令挂载一个Windows的共享目录

# mount -t cifs //10.0.0.1/share /mnt/sharefolder -o username=sensirx,password=sensirx,vers=2.0

红色为windows共享目录及用户密码,蓝色为linux挂载位置


 Hyper-v设置linux固定ip

一、创建CentOS 7专用的虚拟交换机

打开Hyper-v控制面板,找到右边的“虚拟交换机管理器”

进去后,点击“新建虚拟网络交换机”,填写名称后,选择“内部”

打开网络中心,修改配置如下图,注意ip地址随意填,形式为 “192.168.xxx.xxx”,子网掩码固定“255.255.255.0”

二、配置CentOS 7内部固定ip

右键“连接”CentOS 7

输入账户密码登录后,输入一下命令

$ cd /etc/sysconfig/network-scripts

然后输入命令$ ls 查看文件夹中的文件,如图

要修改的就是名称为“ifcgf-eth0”的文件,输入命令$ vi ifcfg-eth0,修改文件内容如图,重点修改红框中选中的地方

保存修改退出后,执行重启网络服务的命令

$ systemctl restart network

ping一下刚才设置好的固定ip试一下

成功了,但是这个时候我们想访问外网是不行的,不信可以试下ping www.baidu.com

所以,为了能访问外网,还要做一点小修改,回到windows上,进入网络共享中心,找到“以太网”,修改如下图

此时提示

系统要把ip改为默认192.168.137.1,我们当然不需要这个ip,回去打开CentOS 7的虚拟网络

修改这里为上面第一步中设置的ip,我的是192.168.46.1

改好了之后,再次重启下网络,执行$ systemctl restart network 然后 ping www.baidu.com

至此,固定ip已经配置好了。

 

备注:windows重启后,网络共享可能会出现问题,这时先关闭网卡的共享,然后再开启就可以了。

 

 


 

centos7下Qt无法输入中文

 重新安装一下ibus后重启(若使用的是自带的中文输入法)

$ sudo yum install ibus-qt
$ reboot

 


 Centos7: 设置时区

 
  

CentOS7提供三个命令行工具,可用于配置和显示有关系统日期和时间的信息。

 
  
  1. timedatectl:Linux 7中的新增功能,也是systemd其中的一部分。
  2. date:系统时钟,也成为软件时钟,一旦系统启动并且系统时钟被初始化,系统时钟就完全独立硬件时钟。
  3. hwclock:  real-time clock (RTC)通常被称为硬件时钟,(在系统集成电路板上),即使在机器关闭时也能正常工作。实时时钟可以使用UTC( Universal Time)或本地时间,建议使用UTC。
 
  

 

 
  
使用timedatectl命令
 
  
显示当前日期和时间: 
 
  
1
timedatectl
 
  
1
2
3
4
5
6
7
8
9
[root@zydev ~] # timedatectl
       Local  time : Mon 2017-11-06 01:22:46 CST    #中部标准时间,UTC+8
   Universal  time : Sun 2017-11-05 17:22:46 UTC
         RTC  time : Sun 2017-11-05 17:22:46
        Time zone: Asia /Shanghai  (CST, +0800) 
      NTP enabled: no
NTP synchronized: no
  RTC  in  local  TZ: no
       DST active: n /a
 
  

 改变ntpd和chrony状态不会立即生效,需要执行:

 
  
1
systemctl restart systemd-timedated.service
 
  
改变当前时间
 
  

  该命令同时更新系统时间和硬件时钟。其结果类似于使用date --sethwclock --systohc命令。如果NTP启用服务,该命令将失败。

 
  
1
2
3
4
5
6
7
8
9
10
[root@zydev ~] # timedatectl set-time 23:06:45
[root@zydev ~] # timedatectl
       Local  time : Mon 2017-11-06 23:06:51 CST
   Universal  time : Mon 2017-11-06 15:06:51 UTC
         RTC  time : Mon 2017-11-06 15:06:51
        Time zone: Asia /Shanghai  (CST, +0800)
      NTP enabled: no
NTP synchronized: no
  RTC  in  local  TZ: no
       DST active: n /a
 
  

  默认情况下,系统配置硬件时钟使用UTC,如果要配置为当地时间,加上参数set-local-rtc 

 
  
1
timedatectl  set - local -rtc boolean
 
  

  更换布尔为yes或者no,默认是no

 
  
更改当前日期
 
  
1
timedatectl  set - time  YYYY-MM-DD
 
  

  请注意,更改日期而不指定当前时间会导致将时间设置为00:00:00。

 
  

要将当前日期更改为2017年6月2日并保持当前时间(下午11:26)

 
  
1
timedatectl  set - time  ”2017-06-02 23:26:00”
 
  
更改时区
 
  

列出时区

 
  
1
timedatectl list-timezones| grep  Asia
 
  

 更改时区为香港

 
  
1
timedatectl  set -timezone Asia /Hong_Kong
 
  
使系统时钟与远程服务器同步
 
  

timedatectl命令还允许您使用该NTP协议启用系统时钟与一组远程服务器的自动同步。启用NTP将启用chronydntpd服务,具体取决于它们中的哪一个被安装。

 
  
1
timedatectl  set -ntp boolean
 
  

  启用同步

 
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@zydev ~] # timedatectl set-timezone Asia/Hong_Kong
[root@zydev ~] # timedatectl
       Local  time : Mon 2017-11-06 23:22:07 HKT
   Universal  time : Mon 2017-11-06 15:22:07 UTC
         RTC  time : Mon 2017-11-06 15:22:07
        Time zone: Asia /Hong_Kong  (HKT, +0800)
      NTP enabled: no
NTP synchronized: no
  RTC  in  local  TZ: no
       DST active: n /a
[root@zydev ~] # timedatectl set-ntp yes
[root@zydev ~] # timedatectl
       Local  time : Mon 2017-11-06 23:24:14 HKT
   Universal  time : Mon 2017-11-06 15:24:14 UTC
         RTC  time : Mon 2017-11-06 15:24:14
        Time zone: Asia /Hong_Kong  (HKT, +0800)
      NTP enabled:  yes
NTP synchronized: no
  RTC  in  local  TZ: no
       DST active: n /a
 
  
使用date命令
 
  

缺省情况下,date显示本地时间。要显示在UTC的时间,运行与所述命令--utc-u命令

 
  
1
2
3
4
[root@zydev ~] # date
Mon Nov  6 23:34:09 HKT 2017
[root@zydev ~] # date -u
Mon Nov  6 15:34:13 UTC 2017
 
  

可以通过在命令行上提供选项来自定义显示信息的格式: +"format"

 
  
控制序列描述
%HHH格式的小时(例如17)。
%MMM格式的分钟(例如30)。
%S第二个是SS格式(例如24)。
%dDD格式的月份中的某一天(例如,16)。
%mMM格式的月份(例如09)。
%YYYYY格式的年份(例如2016)。
%Z时区缩写(例如,CEST)。
%FYYYY-MM-DD格式的完整日期(例如2016-09-16)。这个选项等于%Y-%m-%d
%T全时以HH:MM:SS格式(例如,17 :30: 24)。这个选项等于%H:%M:%S
 
  
 改变当前时间
 
  

更改时间

 
  
1
date  -s 23:43:45
 
  

同时更改时间和日期

 
  

要将当前日期更改为2017年6月2日并保持当前时间(下午11:26)

 
  
1
date  -s  "2017-06-02 23:26:00"
 
  

更改日期而不指定当前时间会导致将时间设置为00:00:00

 
  

 

 
  
使用hwclock
 
  

显示硬件时钟当前时间

 
  
1
2
[root@app-01 ~]# hwclock
Tue 07 Nov 2017 11:42:15 AM CST  -0.269798 seconds
 
  

将硬件时钟设置为特定日期和时间,并将硬件时钟保持为UTC

 
  
1
hwclock -- set  --date  "21 Oct 2016 21:17"  --utc
 
  

 硬件时钟与系统时间同步,并设置为UTC时间

 
  
1
hwclock --systohc --utc
 
  

 硬件时钟与系统时间同步,并设置为本地时间

 
  
1
hwclock --systohc --localtime



 

svn命令大全

安装:

$ sudo yum install subversion
# 测试安装是否成功
$ svnserve --version

 

1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)
3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
4、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock test file“ test.php
svn unlock PATH
5、更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
svn delete path -m “delete test fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
8、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
9、查看文件详细信息
svn info path
例如:svn info test.php
10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
12、SVN 帮助
svn help
svn help ci
——————————————————————————
以上是常用命令,下面写几个不经常用的
——————————————————————————
13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

 
  

LD_LIBRARY_PATH环境变量设置及Linux动态库查找方法

在linux下的编程,毫无疑问的迟早都要用到LD_LIBRARY_PATH这个环境变量,不过这个环境变量是基于shell的,也就是说只有在当前设置了的shell里才会有作用,因此每次打开新的shell运行程序不停地设置LD_LIBRARY_PATH,是一件非常麻烦的事情,所以我们就会想有不有什么一劳永逸地方法,使得设置之后就不用再去设置了?答案是肯定的,即在~/目录下打开.bashrc文件,设置环境变量如下:

 

  1.  
    LD_LIBRARY_PATH=dir: $LD_LIBRARY_PATH
  2.  
    export LD_LIBRARY_PATH


那么以后打开新的shell执行程序是,再也不用每次打开shell就设置LD_LIBRARY_PATH环境变量了。

 

 

附:

linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)

下面的几段是转载的,看了之后明白linux怎么找到共享库的

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

Linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。

但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢?

目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconfig 生成 /etc/ld.so.cache。 ld.so 加载共享库的时候,会从 ld.so.cache 查找。

传统上,Linux 的先辈 Unix 还有一个环境变量:LD_LIBRARY_PATH 来处理非标准路经的共享库。ld.so 加载共享库的时候,也会查找这个变量所设置的路经。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./lib

export LD_LIBRARY_PATH

但是,有不少声音主张要避免使用 LD_LIBRARY_PATH 变量,尤其是作为全局变量。这些声音是:

* LD_LIBRARY_PATH is not the answer - http://prefetch.net/articles/linkers.badldlibrary.html

* Why LD_LIBRARY_PATH is bad - http://xahlee.org/UnixResource_dir/_/ldpath.html 

* LD_LIBRARY_PATH - just say no - http://blogs.sun.com/rie/date/20040710

解决这一问题的另一方法是在编译的时候通过 -R<path> 选项指定 run-time path。

1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到

2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到。

比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。

3. 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。

4. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。

5. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。

LD_LIBRARY_PATH 这个环境变量是大家最为熟悉的,它告诉loader:在哪些目录中可以找到共享库。可以设置多个搜索目录,这些目录之间用冒号分隔开。在linux下,还提供了另外一种方式来完成同样的功能,你可以把这些目录加到/etc/ld.so.conf中,然后调用ldconfig。当然,这是系统范围内全局有效的,而环境变量只对当前shell有效。按照惯例,除非你用上述方式指明,loader是不会在当前目录下去找共享库的,正如shell不会在当前目前找可执行文件一样。


 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/fansite/p/11353116.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值