一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=UUID=xxx" 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' 中没有使用工具修改,而是强制修改的话,系统主动记录上次启动内核将会失败。