哈特中尉's Blog

不会写代码的司机不是好厨师!

官方教程:https://www.postgresql.org/download/linux/redhat/

安装资源rpm

1
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

安装客户端

1
yum -y install postgresql10

安装服务端

1
yum -y install postgresql10-server

初始化数据库

1
/usr/pgsql-10/bin/postgresql-10-setup initdb

修改配置文件

vi /var/lib/pgsql/10/data/postgresql.conf
一共修改3处

  • #listen_addresses = 'localhost' 改为 listen_addresses = '*'
  • #port = 5432 改为 port = 5432
  • #password_encryption = md5 改为 password_encryption = md5

修改访问控制文件

vi /var/lib/pgsql/10/data/pg_hba.conf
文件最后一行加入
host all all 0.0.0.0/0 md5

开放防火墙

1
2
3
firewall-cmd --permanent --add-port=5432/tcp  
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

启动服务

1
systemctl start postgresql-10

访问postgresql

1
su - postgres

设置postgres用户密码

  • su - postgres 切换用户,执行后提示符会变为 ‘-bash-4.2$’
  • psql -U postgres 登录数据库,执行后提示符变为 ‘postgres=#’
  • ALTER USER postgres WITH PASSWORD 'abc123';  设置postgres用户密码
  • \q  退出数据库
  • exit

重启服务

1
systemctl restart postgresql-10

开机自启动

1
systemctl enable postgresql-10

下载安装包

1
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

安装

1
tar -zxvf apache-maven-3.6.3-bin.tar.gz

配置环境变量

1
2
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

刷新环境变量

1
source /etc/profile

修改maven配置文件

1
2
cd $MAVEN_HOME/conf
vi settings.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
......
<localRepository>/opt/mvnrepo</localRepository>
......

......
<mirrors>
<mirror>
<id>aliyun-maven</id>
<mirrorOf>*,!dxrj-maven</mirrorOf>
<name>aliyun-maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
......

windows配置文件参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>D:\\software\\mvnrepo</localRepository>

<pluginGroups>
</pluginGroups>

<proxies>
</proxies>

<servers>
<server>
<id>dxrj-maven-releases</id>
<username>dxrjmaven</username>
<password>dxrj#2020</password>
</server>
<server>
<id>dxrj-maven-snapshots</id>
<username>dxrjmaven</username>
<password>dxrj#2020</password>
</server>
</servers>
<mirrors>
<mirror>
<id>aliyun-maven</id>
<mirrorOf>*,!dxrj-maven</mirrorOf>
<name>aliyun-maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>

maven使用本地jar文件

1
2
3
4
5
6
7
<dependency>
<groupId>org.apache</groupId>
<artifactId>abc</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/abc-2.0.jar</systemPath>
</dependency>

安装jar到本地仓库

1
mvn install:install-file -DgroupId=com.alipay -DartifactId=sdk-java -Dversion=20170818173712 -Dpackaging=jar -Dfile=alipay-sdk-java20170818173712.jar

跳过test

mvn install -Dmaven.test.skip=true
或者

1
2
3
4
5
6
7
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

tomcat插件使用

1
2
3
4
5
6
7
8
9
10
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>UTF-8</uriEncoding>
<path>/eap</path>
<finalName>eap</finalName>
</configuration>
</plugin>

创建maven项目

  • 缺省创建
    mvn archetype:generate
    所有参数按照提示输入
  • 创建JAVA SE项目
    1
    mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.banmaxia -DartifactId=map -Dpackage=com.banmaxia.map -Dversion=1.0
  • 创建JAVA EE项目
    1
    mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.banmaxia -DartifactId=map -Dpackage=com.banmaxia.map -Dversion=1.0 -DinteractiveMode=false

创建项目速度太慢的解决办法:

  • 1.下载http://repo1.maven.org/maven2/archetype-catalog.xml到本地maven仓库根目录。
  • 2.archetype:generate命令加上 -DarchetypeCatalog=local参数
1
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.banmaxia -DartifactId=map -Dpackage=com.banmaxia.map -Dversion=1.0 -DarchetypeCatalog=local

原因说明:创建时候会校验-DarchetypeArtifactId=maven-archetype-webapp的值,但是此文件很大,每次去网络上校验耗时,所以直接下载到本地,每次本地校验很快。

原文地址:http://blog.csdn.net/xztjhs/article/details/42214967a

centos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。
重置密码主要有rd.break和init两种方法。

rd.break方法:

  • 1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;
  • 2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;
  • 3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;
  • 4、mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;
  • 5、chroot /sysroot/ 改变根;
    (1)echo redhat|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;
    (2)还有就是先cp一份,然后修改/etc/shadow文件
  • 6、touch /.autorelabel 这句是为了selinux生效
  • 7、ctrl+d 退出
  • 8、然后reboot
    至此,密码修改完成

init方法:

    1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
    1. 在linux16/Linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh
    1. 按Ctrl+x启动到shell。
    1. 挂载文件系统为可写模式:mount –o remount,rw /
    1. 运行passwd,并按提示修改root密码。
    1. 如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel
    1. 运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启

git作为一个 分布式代码仓库,其实没有server和client的概念。

yum安装git

1
yum install -y git

查看git版本

1
git --version

卸载git

1
yum remove git

yum仓库更新不及时,目前最新的git版本可以从GitHub下载安装。

下载安装文件

https://github.com/git/git/releases
https://www.kernel.org/pub/software/scm/git

1
wget https://github.com/git/git/archive/v2.13.3.tar.gz

解压当前目录

1
tar -xzvf v2.13.3.tar.gz

安装必要依赖

1
yum  -y install  cpio curl curl-devel zlib-devel openssl-develexpat-devel gettex-devel build-essential tcl8.4 tk8.4 gettext vim openssh-clients setuptoolntsysv system-config-securitylevel-tui system-config-network-tui wget man gccgcc-c++ gcc-g77 flex autoconfig automake bison zlib-devel bzip2-develncurses-devel libtool libtool-ltdl openssl openssl-devel pam-devellibtermcap-devel curl-devel libxml2-devel libevent libevent-devel gettext-develexpat-devel
1
2
3
4
5
6
7
8
9
10
11
yum -y update
yum -y install gcc automake autoconf libtool make
yum -y install gettext
yum -y install zlib zlib-devel
yum -y install expat-devel
yum -y install perl-ExtUtils-MakeMaker package
yum -y install libcurl-devel.x86_64
yum -y install expat-devel.x86_64
yum -y install asciidoc
yum -y install sgml2xml openjade texinfo xmlto asciidoc perl perl-devel
yum -y install perl-XML-SAX.noarch
1
2
3
rpm -ivh http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//docbook2X-0.8.8-17.sdl7.x86_64.rpm
cd /usr/bin
ln -s db2x_docbook2texi docbook2x-texi

安装

1
2
3
4
5
6
cd git-2.13.3
make configure
./configure --prefix=/usr/local/ --with-curl --with-expat
make
#make prefix=/usr/local install-doc install-html install-info
make install

查看安装结果

1
git --version

附:安装git命令补齐功能

1
2
3
# rpm –ivh http://mirror.1000mbps.com/fedora-epel/6Server/x86_64/bash-completion-1.3-7.el6.noarch.rpm
# cp contrib/completion/git-completion.bash /etc/bash_completion.d/
# source /etc/bash_completion

一、二进制安装方式

事先已经编译好二进制形式的软件包,其优点是安装使用容易,缺点则是缺乏灵活性.
如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。

1.rpm形式的二进制软件包

安装:rpm -ivh abc.rpm
卸载:rpm -e packgename

说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。

安装参数说明

  • -i是安装,
  • -v是校验,
  • -h是用散列符显示安装进度,
  • abc.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);

卸载参数说明

  • -e是删除软件包,
  • packgename是软件包名

查看软件包名

2.tar.gz/tgz/bz2 形式的二进制软件包

安装:tar zxvf *.tar.gztar yxvf *.bz2
卸载:手动删除

说明:tar.gz/bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令tar ztvf abc.tar.gz tar ytvf abc.bz2获取清单。
tar的参数z是调用gzip解压,

  • x是解包,
  • v是校验,
  • f是显示结果,
  • y是调用bzip2解压,
  • t是列出包的文件清单。

二、源码安装方式

Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。

1、*.src.rpm形式的源代码软件包

安装:rpm -rebuild *.src.rpm

1
2
cd /usr/src/dist/RPMS
rpm -ivh *.rpm

卸载:rpm -e packgename

说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。

2、*.tar.gz *.tgz *.bz2形式的源代码软件包

安装:tar zxvf *.tar.gztar yxvf *.bz2 先解压

然后进入解压后的目录:
配置
./configure
编译
make
安装
make install

卸载:make uninstall手动删除

说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用rm -rf 软件目录名命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

参考资料

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar -xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

一、二进制安装方式

事先已经编译好二进制形式的软件包,其优点是安装使用容易,缺点则是缺乏灵活性.
如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。

1.rpm形式的二进制软件包

安装:rpm -ivh abc.rpm
卸载:rpm -e packgename

说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。

安装参数说明

  • -i是安装,
  • -v是校验,
  • -h是用散列符显示安装进度,
  • abc.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);

卸载参数说明

  • -e是删除软件包,
  • packgename是软件包名

查看软件包名

2.tar.gz/tgz/bz2 形式的二进制软件包

安装:tar zxvf *.tar.gztar yxvf *.bz2
卸载:手动删除

说明:tar.gz/bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令tar ztvf abc.tar.gz tar ytvf abc.bz2获取清单。
tar的参数z是调用gzip解压,

  • x是解包,
  • v是校验,
  • f是显示结果,
  • y是调用bzip2解压,
  • t是列出包的文件清单。

二、源码安装方式

Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。

1、*.src.rpm形式的源代码软件包

安装:rpm -rebuild *.src.rpm

1
2
cd /usr/src/dist/RPMS
rpm -ivh *.rpm

卸载:rpm -e packgename

说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。

2、*.tar.gz *.tgz *.bz2形式的源代码软件包

安装:tar zxvf *.tar.gztar yxvf *.bz2 先解压

然后进入解压后的目录:
配置
./configure
编译
make
安装
make install

卸载:make uninstall手动删除

说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用rm -rf 软件目录名命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

参考资料

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar -xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

查看已经安装的jdk

1
2
3
4
5
java -version
rpm -qa | grep java

或者
rpm -qa | grep openjdk

如果有安装OpenJDK,先卸载。

卸载命令:

1
2
3
4
5
rpm -e --nodeps tzdata-java-2012c-1.el6.noarch
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64

或者
rpm -qa | grep openjdk |xargs rpm -e --nodeps

tar.gz安装(二选一)

1
2
3
mkdir -p /usr/java
tar -zxvf jdk-8u341-linux-x64.tar.gz -C /usr/java
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/java

相当于解压,同级目录下会出现jdk1.8.0_121目录,你懂的。

rpm安装(二选一)

1
rpm -ivh jdk-8u121-linux-x64.rpm

JDK默认安装在/usr/java中,

1
2
cd /usr/java
ls

结果:

1
default  jdk1.8.0_121  latest

配置环境变量

1
vi /etc/profile

在文件尾部添加如下配置:

1
2
3
export JAVA_HOME=/usr/java/jdk1.8.0_341
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

环境变量立即生效

1
source /etc/profile

创建用户(用户名dev)

用户名dev 密码 dev123

1
2
useradd dev  #创建用户
passwd dev #设置密码(否则无法登录)

修改用户密码

1
2
passwd  # 修改当前登录用户密码
passwd dev # 修改dev用户的密码

添加 sudo 权限

  • sudoers 文件添加可写权限

    1
    chmod -v u+w /etc/sudoers  
  • 添加dev到sudoers文件中(vi /etc/sudoers)

    1
    2
    3
    ## Allow root to run any commands anywher
    root ALL=(ALL) ALL
    dev ALL=(ALL) ALL
  • 取消 sudoers 文件可写权限

    1
    chmod -v u-w /etc/sudoers

删除用户

1
2
userdel dev   #单纯删除用户
userdel -f dev #同用户目录一并删除

强制退出已经登陆用户

查看当前登陆用户的命令:
w
会输入如下结果:

1
2
3
4
 12:10:27 up 21:13,  1 user,  load average: 0.00, 0.01, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 ***.**.***.** 11:33 0.00s 0.08s 0.00s w
tmp_3254 ps1 ***.**.***.** 11:33 0.00s 0.08s 0.00s ls

这里知道了登陆用户的tty是ps1执行强制退出命令pkill:
pkill -kill -t [TTY]
pkill -kill -t ps1

建工作组

1
groupadd test

新建用户同时增加工作组

1
useradd -g test dev    #新建username用户并增加到test工作组

给已有的用户增加工作组

usermod -G groupname username
或者:gpasswd -a user group

从组中删除用户A

1
gpasswd -d A GROUP

创建用户(用户名dev)

用户名dev 密码 dev123

1
2
useradd dev  #创建用户
passwd dev #设置密码(否则无法登录)

修改用户密码

1
2
passwd  # 修改当前登录用户密码
passwd dev # 修改dev用户的密码

添加 sudo 权限

  • sudoers 文件添加可写权限

    1
    chmod -v u+w /etc/sudoers  
  • 添加dev到sudoers文件中(vi /etc/sudoers)

    1
    2
    3
    ## Allow root to run any commands anywher
    root ALL=(ALL) ALL
    dev ALL=(ALL) ALL
  • 取消 sudoers 文件可写权限

    1
    chmod -v u-w /etc/sudoers

删除用户

1
2
userdel dev   #单纯删除用户
userdel -f dev #同用户目录一并删除

强制退出已经登陆用户

查看当前登陆用户的命令:
w
会输入如下结果:

1
2
3
4
 12:10:27 up 21:13,  1 user,  load average: 0.00, 0.01, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 ***.**.***.** 11:33 0.00s 0.08s 0.00s w
tmp_3254 ps1 ***.**.***.** 11:33 0.00s 0.08s 0.00s ls

这里知道了登陆用户的tty是ps1执行强制退出命令pkill:
pkill -kill -t [TTY]
pkill -kill -t ps1

建工作组

1
groupadd test

新建用户同时增加工作组

1
useradd -g test dev    #新建username用户并增加到test工作组

给已有的用户增加工作组

usermod -G groupname username
或者:gpasswd -a user group

从组中删除用户A

1
gpasswd -d A GROUP

查看当前内核

1
uname -r

一.yum在线升级kernel

1.导入public key

1
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.添加源

1
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3.升级至当前最新内核(以后升级内核只需这句)

1
yum --enablerepo=elrepo-kernel install -y kernel-ml

4.修改默认启动内核

1
vi /etc/default/grub
1
GRUB_DEFAULT=0

5.重新编译内核启动文件(以后升级完内核也要执行)

1
grub2-mkconfig -o /boot/grub2/grub.cfg

6.重启

1
reboot

7.查看内核

1
uname -r

8.查看已安装的所有内核

1
rpm -qa | grep kernel

9.删除旧内核

1
2
3
yum autoremove kernel-3.10.0-327.13.1.el7.x86_64
#或者
#yum remove kernel

二、rpm安装包安装(推荐)

1.资源网站

https://centos.pkgs.org/7/elrepo-kernel-x86_64/

2.升级具体软件

kernel-ml-headers为例,升级说明和安装包下载地址见如下链接。

1
2
3
4
5
6
7
8
9
10
11
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-4.15.0-1.el7.elrepo.x86_64.rpm
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.15.0-1.el7.elrepo.x86_64.rpm

wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/perf-4.15.0-1.el7.elrepo.x86_64.rpm
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/python-perf-4.15.0-1.el7.elrepo.x86_64.rpm

wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-doc-4.15.0-1.el7.elrepo.noarch.rpm
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.15.0-1.el7.elrepo.x86_64.rpm
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-tools-4.15.0-1.el7.elrepo.x86_64.rpm
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-4.15.0-1.el7.elrepo.x86_64.rpm
wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-4.15.0-1.el7.elrepo.x86_64.rpm

3.安装kernel

1
2
rpm -Uvh kernel-ml-4.15.0-1.el7.elrepo.x86_64.rpm
rpm -Uvh kernel-ml-devel-4.15.0-1.el7.elrepo.x86_64.rpm

4.修改默认启动内核

说明:安装kernel-ml-doc等包的时候,依赖kernel-ml。
而当前kernel-ml版本是3.10.所以必须先修改启动内核,才能继续安装。

1
vi /etc/default/grub
1
GRUB_DEFAULT=0

5.重新编译内核启动文件(以后升级完内核也要执行)

1
grub2-mkconfig -o /boot/grub2/grub.cfg

6.重启

1
reboot

7.查看内核

1
uname -r

8.安装kernel相关包

1
2
3
4
5
6
7
rpm -Uvh perf-4.15.0-1.el7.elrepo.x86_64.rpm
rpm -Uvh python-perf-4.15.0-1.el7.elrepo.x86_64.rpm
rpm -Uvh kernel-ml-doc-4.15.0-1.el7.elrepo.noarch.rpm
rpm -Uvh kernel-ml-headers-4.15.0-1.el7.elrepo.x86_64.rpm
rpm -Uvh kernel-ml-tools-4.15.0-1.el7.elrepo.x86_64.rpm
rpm -Uvh kernel-ml-tools-libs-4.15.0-1.el7.elrepo.x86_64.rpm
rpm -Uvh kernel-ml-tools-libs-devel-4.15.0-1.el7.elrepo.x86_64.rpm

9.查看kernel

查看 rpm -qa|grep kernel

1
2
3
4
kernel-ml-headers-4.13.0-1.el7.elrepo.x86_64
kernel-ml-4.13.0-1.el7.elrepo.x86_64
kernel-ml-tools-4.13.0-1.el7.elrepo.x86_64
kernel-ml-tools-libs-4.13.0-1.el7.elrepo.x86_64