【 linux运维 】 杂项暂存

一Linux下传输文件

SCP

samba

samba 配置步骤:

1. 安装samba (略)

2. 配置文件修改 vim /etc/samba/smb.conf

在配置文件尾部添加如下设置项

用户家目录项:

[homes]

comment = Home Directories

valid users = %S, %D%w%S

browseable = No

read only = No

writeable = yes

inherit acls = Yes

其他自定义公共目录项(以/home/public 为例)这里需要注意目录的权限问题

[public]

comment = Public Stuff

path = /home/public

public = yes

writable = yes

read only = no

create mode = 0777

force create mode = 0777

directory mode = 0777

force directory mode = 0777

printable = no

3. 保存配置文件并退出

4. 重启samba服务 systemctl restart smbd

nfs

linux下tftp服务

server服务器配置

方法1:

# mkdir /gliethttp_tftpd_dir

# cp /bin/busybox /gliethttp_tftpd_dir

# udpsvd -vE 0 69 tftpd -c /gliethttp_tftpd_dir &

// 上面的0表示对所有ip地址都进行侦听

// 如果设置为127.0.0.1那么只能开发板本地arm可以进行ftp

// 比如开发板eth0的的ip地址设为192.168.1.102那么就不能通过该ip登录

// 所以上面指定ip等于0,那么无论来自127.0.0.1还是192.168.1.102网络地址的

// 数据都能使用tftpd服务器.

// 参数-c表示允许client客户端上传文件到/gliethttp_tftpd_dir根目录[luther.gliethttp]

方法2:

# mkdir /gliethttp_tftpd_dir

# cp /bin/busybox /gliethttp_tftpd_dir

# vi /etc/inetd.conf

69 dgram udp nowait root tftpd tftpd -c /gliethttp_tftpd_dir

# inetd // inetd会执行/etc/inetd.conf脚本中的命令行,这样ftpd就作为daemon运行到起来了

(注意:以上2种方式运行的tftpd都不会在ps中看到tftpd进程的运行)

二普通用户赋予sudo权限

1. su root 切换管理员

2. 打开/etc/sudoers 配置文件

3. 找到行 root ALL=(ALL:ALL) ALL

4. 在此行下面添加

用户sudo权限 user_name ALL=(ALL:ALL) ALL

组sudo权限 %group_name ALL=(ALL:ALL) ALL

5. :wq! 强制保存(此文件为只读权限,所以要强制保存,也可以在打开前改变其权限,完毕后再改回去)

三命令模式启动和图形界面启动

开机以命令模式启动,执行:

systemctl set-default multi-user.target

开机以图形界面启动,执行:

systemctl set-default graphical.target

四切换系统语言

查看当前系统语言 echo $LANG

临时修改语言 export LANG=zh_CN.UTF-8

export LANG=en_US.UTF-8

永久修改系统语言 vim /etc/locale.conf

LANG = "en_US.UTF-8"

LANG = "zh_CN.UTF-8"

五运行状态

查看系统最近一次启动时间 who -b

系统历史启动的时间 last reboot

linux系统文件通常在/var/log中下面是对下面常出现的文件进行解释(last -f /var/log/xxxxx)

/var/log/message -----------系统启动后的信息和错误日志

/var/log/secure ------------与安全相关的日志信息

/var/log/maillog -----------与邮件相关的日志信息

/var/log/cron --------------与定时任务相关的日志信息

/var/log/spooler -----------与UUCP和news设备相关的日志信息

/var/log/boot.log ----------守护进程启动和停止相关的日志消息

/var/log/wtmp --------------永久记录每个用户登录、注销及系统的启动、停机的事件

/var/run/utmp --------------记录当前正在登录系统的用户信息;

/var/log/btmp --------------记录失败的登录尝试信息。

六系统时间修改

1,修改Linux时间:date -s 时间

这种方式只是临时修改系统时间,当系统重新启动的时候就会还原。

2,hwclock --set --date '2017-08-16 17:17:00'

这是修改硬件的时间 也就是永久性修改Linux的时间

OTHER:

timedatectl status 查看系统RTC时间和local time等

七修改开机grub2文件

首先修改/etc/defaut/grub文件

然后执行

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

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

修改/etc/defaut/grub文件的方法

# If you change this file, run 'update-grub' afterwards to update

# /boot/grub/grub.cfg

GRUB_DEFAULT =0 设置默认启动项,按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3,

=saved 使用grub2-set-default (每次启动时选择)和 grub2-reboot(下次启动时选择)指定的内核启动。

=”centos*** ” 以指定的内核启动,选单中的位置不会有影响。

GRUB_SAVEDEFAULT =true 将当前内核设置为saved记录的内核

GRUB_HIDDEN_TIMEOUT=0

GRUB_HIDDEN_TIMEOUT_QUIET=true 隐藏菜单,grub2不再使用,不管

GRUB_TIMEOUT="3" 设置进入默认启动项的等候时间,默认值10秒,按自己需要修改

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" - 加内核启动参数,这个为默认

GRUB_CMDLINE_LINUX="noresume" 手动添加内核启动参数,比如 acpi=off noapic等可在这里添加

# Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console ->设置是否使用图形介面。去除前面#,仅使用控制台终端,不使用图形介面

# The resolution used on graphical terminal

# note that you can use only modes which your graphic card supports via VBE

# you can see them in real GRUB with the command `vbeinfo'

#GRUB_GFXMODE=640x480 设定图形介面分辨率,如不使用默认,把前面#去掉,把分辨率改为800x600或1024x768

# Uncomment if you don't want GRUB to pass "root=UU parameter to Linux

#GRUB_DISABLE_LINUX_UUID=true ->设置grub命令是否使用UUID,去掉#,使用root=/dev/sdax而不用root=UUDI=xxx

# Uncomment to disable generation of recovery mode menu entrys

#GRUB_DISABLE_LINUX_RECOVERY="true" ->设定是否创建修复模式菜单项

在修改该文件之后,根据文件内容的提示,我们需要执行sudo update-grub。这样就可以生成我们熟悉的/boot/grub/grub.cfg

八CentOS进入系统时的内核选择

1. 查看当前系统具有的内核

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

2 设置默认的启动内核。

比如我们选择上边中的CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)这个内核为默认启动。

$ grub2-set-default “CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)”

配置默认内核,验证是否修改成功:

[root@ ~]# grub2-editenv list

saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)

3,重启机器观察。

重启成功以后查看下机器的内核是不是该内核:

[root@ ~]# uname -r

3.10.0-327.el7.x86_64

grub2-set-default 0 以位置来设定预设选单选项。第一笔选单选项为 0,第二笔为 1,以此类推。

grub2-set-default “xxxx” 以名称来设定

grub2-reboot 0 以位置来设定下次重启开机选项。第一笔选单选项为 0,第二笔为 1,以此类推。

grub2-reboot “xxxx” 以选单名称来重启开机

实例:

1. 背景:

x86架构下,Linux的启动过程中,BIOS操作完毕后,由grub进行内核的启动,会进入内核选择界面

在此界面下,可以进行

1. 内核版本的选择

2. 按下“e”在选定的内核启动前编辑启动相关细节

3. 按下“c”进入grub命令行,手动键入命令,设置参数,选定内核及其他文件进行启动

2. 此界面是怎么生成的:

此界面是grub根据其配置文件生成的,配置文件为:

EFI模式配置文件: /boot/efi/EFI/centos/grub.cfg

legacy配置文件: /boot/grub2/grub.cfg

配置文件的内容在这里不详细解释了,之前组内分享“Linux启动引导”部分已经详细分析过了。

3. 配置文件如何更改:

(1) 先修改/etc/default/grub文件中的参数

(2) 然后使用grub2-mkconfig工具生成上述grub.cfg配置文件

EFI模式配置文件生成: grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

legacy模式配置文件生成 grub2-mkconfig -o /boot/grub2/grub.cfg

4. 默认启动的内核是什么决定的

在/etc/default/grub的参数中可以设置启动时默认选择的内核,参数是:

GRUB_DEFAULT = 0~N 默认从数字启动项启动

= saved 使用系统中记录的saved_entry的值作为默认启动项

注意修改之后要重新按照‘3' 中操作生成配置文件。

5. 上述saved_entry的值在哪里?

EFI模式: /boot/efI/EFI/centos/grubenv

legacy模式: /boot/grub2/grubenv

在CentOS7 中,/boot/efI/EFI/centos/grubenv文件是原始文件,/boot/grub2/grubenv是它的链接文件。

6. 上述saved_entry的值怎么修改?

警告:/boot/efI/EFI/centos/grubenv 和 /boot/grub2/grubenv不可以直接进行编辑修改,需要使用工具

修改方法:

(1)主动修改:使用Linux下自带的grub工具 “grub2-set-default” 和 “grub2-reboot” 修改,其中后者真正设置的是next_entry参数,只在下次启动时有效。

修改步骤:

a. 查看当前系统具有的内核

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

b. 设置默认的启动内核

grub2-set-default (0~N)或者(‘a 中得出的名称’单引号必须加)

c. 查看当前的配置状态

grub2-editenv list

(2)让系统主动记录上次的内核选项:

在 '4' 所述的/etc/default/grub 参数中,

设置GRUB_DEFAULT=saved

同时增加GRUB_SAVEDEFAULT=true 系统在每次启动时,会主动将当前选择的内核选项更新到'5' 中的两个文件中

注:此参数不设置时,默认为true,但如果记录过程遇到错误,将不再强制记录。

7. 其他:

如果 '6' 中没有使用工具修改,而是强制修改的话,系统主动记录上次启动内核将会失败。