username: root
password: Asimov
rht-vmctl status all # 查看各台虚拟机状态
rht-vmctl start all # 启动各台虚拟机
rht-vmctl stop all # 关闭各台虚拟机
ssh root@servera
ssh root@serverb
rht-vmctl start all
ssh root@servera
ssh root@serverb
whatis IS
IS --help
pwd # 树状目录结构
cd # 切换目录 cd.. 上一个目录 cd / 根目录
ls -l # (== ll) 查看目录下文件
ll -d # 直接查看目录属性,不看目录内容
目录属性介绍
dr-xr-xr-x. 2 root root 4096 2月 22 2012 bin
第一列:d,-,f,b,c,l,p d:目录,-/f:文件
第二列(中间的九列): 所有者、组内、组外权限-------------rwx分别表示读写执行 -表示没有该权限
第三列: 文件硬链接数或目录子目录数
第四列,第五列: 所有者、所属组
第六列: 大小
第七列: 创建日期、时间
第八列: 名字
chmod 777 rhel-server-6.0-i386-dvd.iso
777: rwxrwxrwx 三位为一组,-表示0,其他表示1 转换为十进制后的数字
单个修改:
chmod u+w,g-w,o+x rhel-server-6.0-i386-dvd.iso
u–>root,g–>组内,o–>组外
mkdir kkkkkba # 创建名为kkkkkba文件夹
touch kkkkkba # 创建名为kkkkkba的文件
rm -rf xxx # 删除xxx
叙述RHCE8多虚拟机环境架构。
Window–>VMware16–>物理机foundation0–>Virtual Machine Manager(KVM)–>
bastion(网关服务器)
workstation(工作站服务器)
servera(练习机a)
serverb(练习机b)
classroom(环境服务器)
简述远程登录虚拟机servera的步骤。
先使用ping servera测试连通性,可以Ping通的情况下再运行ssh root@servera,密码是:redhat。登录成功后,显示的主机名是servera
简述关闭多虚拟机环境的步骤。
使用完毕后,可以在servera或serverb环境下运行exit退回到foundation0,在foundation0终端窗口中运行poweroff命令关机,此时回返回到VMware16界面,再关闭VMware16界面即可。
注意:一定要正常关闭foundation0,否则下次可能会无法启动
如果虚拟机出现故障,给出四种解决方法。
- 始终 ping 不通servera或serverb解决方法
:rht-vmctl status all
查看是否所有虚拟机都处于 running 状态,如果有没有运行的虚拟机,单独启动它,例如如虚拟机 bastion 未启动,则运行命令rht-vmctl start bastion
- 某台虚拟机始终无法启动解决方法:
rht-vmctl fullreset all-q
// 全部重置虚拟机,-q 表示无需交互,直接确认- 物理机foundation0 无法启动解决方法:恢复快照
- 恢复快照物理机foundationo 仍然无法启动解决方法:重新解压压缩文件,在VMware16 中打开新解压的系统
简述红帽Linux认证考试的三个等级是什么?
初级 red hat Certified System Administrator
中级 red hat Certified Engineer
高级 red hat Certified Architect
什么是Linux的发行版本和内核版本。
2.6.32-71.el6.i686
发行版本:2.6.32
内核版本:el6
查看Linux内核版本的命令是什么?简述Linux内核版本各部分的含义。
uname -r 2.6.32-71.el6.i686 4.18.0-80.el8.x86_64 # 主版本号.次版本号.修正号 # 次版本号分奇数与偶数
简述Linux在日常生活中无处不在的八个方面。
1.安卓内核
2.电影行业
3.银行系统(ATM)
4.政府机构
5.游戏服务器
6.IBM的Watson超级计算机
7.金融领域(证券交易)
8.交通领域(航空调度系统)
简述Linux使用过程中的四种帮助命令的用法。
(1)whatis ls(如果无法使用whatis帮助,可以运行命令mandb加载帮助手册)
(2)ls --help
(3)man iscsiadm(/表示搜索;/EXAMPLES搜索实例;:n表示调转到第n行;n表示下一个;shift+n表示上一个;g表示跳转到第一行;shift+g(或G)表示跳转到最后一行;man -f等效于whatis)
(4)info ls
简述Linux使用过程中的七种技巧的用法。
(1)history(history -c清空当前历史命令;history -w将历史命令保存到历史命令文件/root/.bash_history中;)
(2)clear(ctrl+l) 清屏幕
(3)上下建 切换上/下一条命令
(4)Tab 补全
(5)!$ (表示调用上一条命令中的最后一个参数)
(6)!keyword (表示倒序检索历史缓存中的最近命令列表,首个匹配的命令会被重复执行)
(7)强行退出的6方种方法 Ctrl + C Ctrl + B Ctrl + D exit quit 右上角关闭
准备工作:rht-vmctl start all
- 打开VMM,在虚拟机servera的菜单栏上点击"Send Key”,选择Ctrl+Alt+Delete重启servera;进入之后快速点击上下键,将屏幕定格,然后选择第一项,按e编辑启动配置文件
- 找的linux开头的一行行尾添加
rd.break console=tty0
- 按Ctrl+x启动
- 以读写的方式重新挂载根目录,可以先使用mount命令查看当前已经挂载的/sysroot目录的属性为只读ro
mount -o remount
- 切换根目录
chroot /sysroot
- 使用
passwd
命令重置密码- 创建重置SELinux安全上下文的文件
touch /.autorelable
- exit *2 退出重启
vim kkkkkba.txt # 打开文件,若没有该文件则先创建文件,再打开
两种模式:
- 命令模式 --> 按i 进入插入模式
- 插入模式 --> 按esc进入命令模式
十种技巧
- 存盘退出
:wq
,直接退出
:q!
另存为
:w /tmp/kkkkkba.txt
u 撤销操作
ctrl+r 重做操作
/word
查找关键字
: noh
取消查找出的背景色
:n
/n+gg
定位到指定行跳转到行首”0”;跳转到行尾”$”或END键跳转到文档首”gg”;跳转到文档尾为”G”
小写字母”o”表示在当前行的下一行新插入一行并且切换到插入模式
大写字母“A”在当前行的行尾插入
大写字母“I”在当前行的行首插入
:set nu
插入行号
:set nonu
取消行号剪切当前行内容dd,粘贴p(只能粘贴到光标所在行的下一行)
复制当前行内容yy,粘贴p(只能粘贴到光标所在行的下一行)
当需要复制多行内容时,要先切换到可视化模式下(shift+v可视化行模式,y结合光标移动复制多行,p粘贴)
光标上下左右移动使用快捷键kjhl
:% s/111/666/g
替换全部 把111全部替换成666
:% s/111/666
只替换每一行中的第一个匹配项
:% s/111/666/gi
替换全部,忽略大小写把当前文件中的连续几行另存到一个新文件中
:1,5 w /tmp/bgl.txt
把其它文件的内容读取到当前文件中来:r /etc/hosts
用户的家目录问题
- 超级用户的家目录:
/root
- 普通用户的家目录:
/home/kkkkkba001
# 创建用户
useradd kkkkkba002
passwd kkkkkba002
# 切换用户 su - / su (高级权限用户切换低级权限用户不需要密码,反之需要密码)
su - kkkkkba002
su kkkkkba002 # 不完全的身份跳转,只切换用户名,不切换家目录
重定向技术
- 查看文件内容的命令more,cat
区别: 分屏显示/无分屏
- 重定向的概念
- 重定向
- 标准输出重定向符 >
- 标准追加重定向符 >>
- 标准错误重定向符 2>
- 错误追加重定向符 2>>
- 全部重定向 &>
- 全部追加重定向符 &>>
- 输入重定向
find查找命令
find / --name "*kkkkba*" --type f --user kkkkkba001
–name 按名称查找
–type 按类型查找 f/d
–user 按用户查找
高阶技巧
以张三身份建立三个文件abc1.txt,abc2.txt,abc3.txt
测试查找这三个文件
find / -name "*abc*" -type f -user
高级技巧:查找并删除
find / -name "*abc*" -type f -user kkkkkba -exec rm -rf {} \;
-exec
把前一个命令的输出作为参数传给第二个命令
\
结尾!!
mv移动命令
移动+重命名
mv 111.txt /home/kkkkkba001/222.txt
移动
mv 222.txt /root/
移动+覆盖
mv -f /root/222.txt /home/kkkkkba001/
移动目录
mv /root/qqq /home/zhangsan001/
cp复制命令
复制+重命名
cp 222.txt /333.txt
复制(覆盖)
cp 333.txt /home/kkkkkba001/
复制(不覆盖)
cp -n 333.txt /
复制目录及子目录
cp -r qqq /
grep 在文件内容中查找
查找qqq.txt中的word
grep word qqq.txt
查找+重定向
grep word qqq.txt > qqq1.txt
grep "^network" aaa.txt
grep "network$" aaa.txt
查找当前目录下名字含有为aaa的文件
ls | grep aaa
|管道符,可以把前边命令的结果输出给后边的命令作为其输入
VI编辑器的两种模式是什么,各自有什么作用?如何在这两种模式间切换。
命令模式:主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
编辑模式:录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。
命令模式按 a/i/o 进入编辑模式
编辑模式 按esc 进入命令模式
超级用户root与普通用户的家目录分别位于哪个目录下。
root家目录: /root
普通用户家目录: /home/用户名
简述命令提示符各部分的含义。
[aaa@bbbb ccc ]
aaa 当前用户
bbb 主机名称
ccc 当前目录
简述切换用户的原则;“su”命令与“su -”命令的区别。
su 只切换root身份,shell任是普通用户
-su 用户和shell 都切换
简述六种重定向符号及其含义。
1、
>
标准重定向符2、
>>
标准追加重定向符3、
2>
标准错误重定向符4、
2>>
错误追加重定向符5、
&>
全部重定向符6、
&>>
全部追加重定向符
简述find命令中的三种基本参数的用法并列举实例说明。
find -name "kkk" -type f -user kkkkkba # -name 指定查询名字 # -type 指定查询类型d/f # -useR 指定查询用户
要求:在根目录下建立自己的学号目录,并创建一个自己名字汉语拼音的用户,以该用户的身份建立几个普通文件(文件名中要包含字符abc),使用一条find命令在/目录下查找类型为普通文件,所有者为自己名字汉语拼音的用户,名称中包含abc的对象,并将找到的结果拷贝到“/学号”目录中(只能用一条find命令实现)
find -name "*abc*" -type f -user kkkkkba -exec mv {} /2012138 \
useradd kkkkkba001
passwd kkkkkba001
Linux系统底层的四个连锁反映
创建该用户的家目录/home/a001
vim /etc/passwd(多了一行该用户的记录)
vim /etc/shadow(影子文件中多一行密码记录)
vim /etc/group(组信息文件中多一行记录,即自动创建同名组)
账户信息文件/etc/passwd中七个字段的含义
a001:x:504:505::/home/a001:/bin/bash
用户名:密码:用户ID:组ID:注释信息:家目录:shell
a001:x:505:
test:x:502:harry,sam
组名:组密码:组ID:该组中包含的其他用户名.
kkkkkba:xxxxxxx....xxxxxxx
用户名:加密后的密码
# 不彻底删除
userdel kkkkkba001
tail -1 /etc/passwd # kkkkkba001 信息还存在
# 彻底删除
userdel -rf kkkkkba001
usermod -u 600 -s /sbin/nologin kkkkkba001
tail -3 /etc/passwd
- -c<备注> 修改用户帐号的备注文字。
- -d登入目录> 修改用户登入时的目录。
- -e<有效期限> 修改帐号的有效期限。
- -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
- -g<群组> 修改用户所属的群组。
- -G<群组> 修改用户所属的附加群组。
- -l<帐号名称> 修改用户帐号名称。
- -L 锁定用户密码,使密码无效。
- -s 修改用户登入后所使用的shell。
- -u 修改用户ID。
- -U 解除密码锁定。
# 添加组
groupadd k001
tail -3 /etc/group
groupdel k001
tail -3 /etc/group
删除组时,无法删除第一所属组,若要操作
- 删除用户
- 去除第一所属组属性
添加组
gpasswd -a (添加)用户名 组名 //将用户添加到组
gpasswd -a b001 group1
gpasswd -a b002 group1
gpasswd -a b003 group1
tail -3 /etc/group
group1:x:604:b001,b002,b003
查看用户与组的关系
站在组的角度 — 列出用户与组的关系(group第四个字段)
tail -3 /etc/passwd # d001:X:1003:1003::/home/d001:/bin/bash # d002:x:1004:1004::/home/d002:/bin/bash # d003:x:1005:1007:/home/d003:/bin/bash tail -3 /etc/group # d003:X:1007: # f001:X:1008:d001,d002,d003 # f002:X:1009:
站在用户的角度
grops d001 # d001: d001 f001
删除组
gpasswd -d(删除) b003 group1 # (无法改变[添加、删除]第一所属组)
tail -3 /etc/group
查询用户所在组
groups k001
# chpwn 所有者:所属组
(1)chown b001:group1 qqq1.txt # 设置新的所有组和所有者 所属组由所有者第一所属组填充
(2)chown :root qqq1.txt
(3)chown b003: qqq1.txt # (自动以该用户私有组替换)
简述添加用户yz后,Liux系统底层的四个连锁反映。
家目录 多了一个xz文件夹
/etc/passwd 多了一行用户记录
/etc/shoadw 多了一行密码记录
/etc/group 多了一行同名记录
简述账户信息文件“/etc/passwd”中七个字段的含义。
用户名:密码:用户ID:组ID:注释信息:家目录:shell
简述组信息文件“/etc/group”中四个字段的含义。
组名:组密码:组ID:该组中包含的其他用户名
彻底的删除一个用户的方法及删除后对应的四个连锁反映是什么。
userdel -rf kkkkkba
- 删除用户家目录
- 删除/etc/passwd中的用户记录
- 删除/etc/shoadw中的密码记录
- 删除/etc/group中的同名组
如何修改一个具有“/sbin/nologin”这种shel‖的用户,使其又能重新本地登录inux系统(使用两种方法)。
usermod -s /bin/login k001
# 直接修改/etc/passwd 中对应用户的/sbin/nologin
如何使用passwd命令将一个用户添加到一个组中,将一个用户从一个组中删除掉,举例说明。
添加:gpasswd -a k001 f001
删除:gpasswd -d k001 f001
如何修改一个用户的primary group,举例说明。
usermod -g group2 k001
如何修改一个用户的supplementary groups,.举例说明(使用两种方法)。
usermod -G group2 k001
gpasswd -a group2 k001
如何修改一个对象的所有者与所属组,举例说明。
chmod root:group1 kkkkkba.txt
创建两个用户aaa1与aaa2,要求实现用户21可以登录到用户aaa2的家日录中,且具有任何权限。
usreadd aaa1 useradd aaa2 chmod 777 /home/aaa2
查看反掩码 --> usmak
反掩码作用
目录的缺省权限= 777-UMASK
文件的缺省权限= 777-UMASK-111(无X)
修改反掩码 usmak 0001
普通用户反掩码 0002
(主要针对文件,所有者执行位变成了s或S)
(1)查看passwd命令所执行脚本,其中有高级权限SUID
ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
# -rwsr-xr-x. 执行位为s
(2)创建普通用户并切换用户测试命令passwd (不能修改密码)
#useradd a001
#passwd a001
#su - a001
$ passwd
Changing password for user a001.
Changing password for a001.
(current) UNIX password: a001
(3)返回root用户将passwd命令SUID高级权限去除
# chmod u-s /usr/bin/passwd
# ll /usr/bin/passwd
-rwxr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
(4)再次切换普通用户a001,测试命令passwd (成功修改密码)
(5)s与S的区别(s表示该执行位原先具有x权限)
ll /usr/bin/passwd
# -rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
chmod u-x /usr/bin/passwd
ll /usr/bin/passwd
# -rwSr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
chmod u+x /bin/ping
# -rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
(主要针对目录,组内成员的执行位变成了s)
groupadd qqq
chown :qqq 111
# drwxr-xr-x. 2 root qqq 4096 11月 12 16:31 111
chmod g+s 111
# drwxr-sr-x. 3 root qqq 4096 11月 12 17:44 111
(其他用户的执行位变成了t)
共享目录存在的问题:用户之间可以随意删除对方的文件,如果管理员开放所有权限位
若使用STICK则可以实现共享目录只有创建用户可修改删除操作
chmod o+t /share
# drwxrwxrwt. 2 root root 4096 11月 12 18:11 share
(可以针对文件或目录)
为指定用户增加rwx权限
(1)如何查看文件的ACL信息(准备工作vim /123.txt)
getfacl 123.txt
getfacl 123.txt
# file:123.txt
# owner:root
# group: root
user::rw-
group:r--
other:r--
(2)如何修改文件的ACL信息
setfacl -m u:lisi:rw- /123.txt
[rootaserverb ~]setfacl -m u:kkkkkba:rw- 1234.txt
[root@serverb ~]getfacl 1234.txt
# file:1234.txt
# owner:root
# group:root
user:rw-
user:kkkkkba:rw-
group:r--
mask:rw-
other::r--
使用ll命令查看该文件时会发现多了一个+,表示其设置过ACL
-rw-rw-r--+ 1 root root 86 11月 12 18:40 123.txt
(4)如何删除文件的ACL信息
# 不彻底删除(使用ll命令末尾`+`还存在)
setfacl -x u:kkkkkba /123.txt
getfacl /123.txt
# 彻底删除一个文件或目录的ACL信息
chacl -B 123.txt
(5)设置目录的ACL信息
setfacl -m d:u:lisi:rwx /345
(参数d表示在/345目录中新建的文件或目录会自动继承/345目录的ACL信息值,但要注意:ACL真正的效果仍然体现在对文件的操作上,即对文件修改时才能看出效果)
setfacl -m d:u:lisi:rwx /345
getfacl /345
# fi1e:345
# owner:root
# group:root
user:rwx
group:r-x
other:r-x
default:user:rwx
default:user:kkkkkba:rwx
default:group:r-x
default:mask:rwx
default:other:r-x
cd 345
touch aaa.txt
ll | grep aaa
# -rw-rw-r--+ 1 rootroot 0 Mar 30 21:38 aaa.txt
(6)当移动一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是会移动的;当复制一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是不会复制的,只有在cp命令后加上-p参数才可以。 cp -p 222.txt /tmp/2222.txt
mv aaa.txt /
ll / | grep aaa
# -rw-rw-r--+ 1 root root 0 Mar 30 21:38 aaa.txt
cp aaa.txt /aaa.txt
# -rw-rw-r-- 1 root root 0 Mar 30 21:38 aaa.txt
cp aaa.txt /aaa.txt -p
# -rw-rw-r--+ 1 root root 0 Mar 30 21:38 aaa.txt
chmod 7777 111.txt
# -rwsrwsrwt
chmod 1777 111.txt
# -rwxrwxrwt
chmod 3777 111.txt
# -rwxrwsrwt
简述UMASK反掩码的作用。
控制默认权限
查看及修改UMASK反掩码的命令是什么并举例说明。
umask
查看:
umask
修改:
umask 1111
SUID权限弥补的表现形式及作用分别是什么?
表现形式:所有者的执行位变为s/S
作用:使文件的创建者拥有全部权限
SUID权限弥补的s与S的区别是什么?
若用户无写权限 执行位变为s
若用户有写权限 执行位变为S
写出去掉文件/usr/bin/passwd的SUID权限的命令;给文件/usr/bin/passwd添加SUID权限的命令。
chmod u-s /user/bin/passwd
chmod u+s /user/bin/passwd
SGID权限弥补的表现形式及作用分别是什么?
表现形式:组内成员的执行位变为s
作用:sgid权限一般应用在目录上,当一个目录拥有sgid权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组。
STICK粘滞位的表现形式及作用分别是什么?
表现形式:其他用户的执行位变为t
作用:sticky权限一般针对目录来设置,作用是只允该目录下的文件的创建者删除自己的创建的文件,不允许其他人删除文件。
写出在根目录下建立自己学号的子目录,并将其设置为STICK粘滞位目录的命令。
mkdir /2012138 chmod -R o+t /2012138
写出查看文件“/tmp/aaa.txt”ACL属性的命令;写出为文件“/tmp/aaa.txt”设置ACL属性的命令(例如为zhangsan用户设置ACL,使其具有“读写执行”的权限);写出删除文件“/tmp/aaa.txt”的ACL属性的命令(例如删除zhangsan用户对该文件具有的“读写执行”权限的ACL信息)。
ll /tmp/ | grep aaa.txt setfacl -m u:zhangsan:rwx /tmp/aaa.txt setfacl -x g:zhangsan /tmp/aaa.txt
叙述命令chmod 7777 111.txt的作用。
> 将文件的root、组内、组外权限设置为 rwx 并设置SUID SGID STICK权限
(在物理机foundation上操作)
注意:自己的笔记本上可以在foundation0上执行 cd /content/rhel8.0/x86_64/dvd/BaseOS/Packages和cd /content/rhel8.0/x86_64/dvd/AppStream/Packages测试
如何查询指定软件包是否安装
rpm -q httpd
rpm -q cifs-utils
rpm -q vsftpd
**如何删除指定软件包 **
rpm -e cifs-utils
rpm -e vsftpd
rpm -e httpd**
**如何安装指定软件包(注意:保证在Packages目录下有需要安装的rpm包) **
rpm -ivh cifs-utils-6.8-2.el8.x86_64.rpm (在系统光盘挂载目标目录的BaseOS/Packages下有cifs-utils的rpm包)
rpm -ivh vsftpd* (在系统光盘挂载目标目录的AppStream/Packages下有vsftpd的rpm包)
**问题:依赖性关系(rpm -e httpd) **
rpm -e httpd rpm -ivh httpd
安装A包时,存在前驱依赖包B,C,则不能安装,需要先安装B,C包再安装A包
删除A包时,若此包为B,C包的依赖包,则不能删除,老的系统管理员,先删除BC再删除A包
(在物理机foundation上操作)三点注意事项+五行参数
回环挂载RHEL8系统镜像文件/mnt/iso
mount -o loop rhel-8.0-x86_64-dvd.iso /mnt/iso
du -sh /mnt/iso
修改YUM软件仓库的配置文件
一定要将目录切换到YUM软件仓库的工作目录/etc/yum.repos.d/下才有效;工作目录下的配置文件必须以.repo结尾;有且只有一个repo
vim /etc/yum.repos.d/server.repo
录入五个参数
[base] //[]里写软件仓库的名称,一般使用base.
name=my rhel8 //name后写软件仓库的全称
baseurl=file:///mnt/iso/BaseOS //baseurl后写软件仓库的绝对路径
enabled=1 //启用该软件仓库
gpgcheck=0 //不校验软件包(即不进行签名检查)
[local_app]
name=local iso app
baseurl=file:///mnt/iso/AppStream
enabled=1
gpgcheck=0
注意:在笔记本测试时baseurl=file:///content/rhel8.0/x86_64/dvd/BaseOS;
另一个baseurl=file:///content/rhel8.0/x86_64/dvd/AppStream
eg:
[kkkkkbabase]
name=kkkkkba yum Base
baseurl=file:///content/rhel8.0/x86_64/dvd/BaseOS
enabled=1
gpgcheck=0
[kkkkkba_app]
name=kkkkkba yum App
baseurl=file:///content/rhel8.0/x86_64/dvd/AppStream
enabled=1
gpgcheck=0
验证软件仓库的方法
yum clean all //清空YUM缓存
yum makecache //建立缓存,此步可跳过
yum repolist(会看到1658/4672个包)
查询指定的软件包
yum search vsftpd
查询指定软件的详细信息(可以判断该软件包是否安装)
yum info vsftpd
yum info autofs
yum info httpd
yum info httpd*
rpm -e httpd # (依赖性关系问题,无法删除)
如何安装指定的软件包
yum install vsftpd
yum info vsftpd
yum -y install autofs
如何删除指定的软件包
yum -y erase httpd*
yum info httpd
查看yum环境组
yum grouplist
安装组内软件包
yum groupinstall 'Development Tools'
查看某个文件或命令属于哪个包
yum whatprovides /etc/passwd
yum provides /etc/passwd
追根溯源
yum history
(在虚拟机servera上操作)
ssh root@servera
cd /etc/yum.repos.d/
cat rhel_dvd.repo
[rhel-8.0-for-x86_64-baseos-rpms]
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
enabled = true
gpgcheck = false
name = Red Hat Enterprise Linux 8.0 BaseOS (dvd)
[rhel-8.0-for-x86_64-appstream-rpms]
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/AppStream
enabled = true
gpgcheck = false
name = Red Hat Enterprise Linux 8.0 AppStream (dvd)
eg:
[kkkkkbabase]
name = kkkkkba yun Base
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
enabled = true
gpgcheck = false
[kkkkkba_app]
name = kkkkkba yun App
baseurl = http://content.example.com/rhel8.0/x86_64/dvd/AppStream
enabled = true
gpgcheck = false
yum whatprovides yum-config-manager
rpm -ivh dnf-utils-4.0.2.2-3.el8.noarch
yum-config-manager --help
yum-config-manager --disable ucf-upd
//禁用该软件仓库,等效于enabled=0
yum repolist // 可以看到如下三段软件仓库ucf-rhel-8-for-x86_64-appstream-rpms,ucf-rhel-8-for-x86_64-baseos-rpms,ucf-upd
yum-config-manager --disable ucf-upd //禁用ucf-upd段软件仓库
yum repolist // 再次查看,只能看到两段软件仓库
yum-config-manager --enable ucf-upd
//启用该软件仓库,等效于enabled=1
cd /etc/yum.repos.d/
mkdir bck
mv *.repo bck/
yum repolist
**yum-config-manager --add-repo file:///content/ucf/
//添加新的软件仓库,包括本地源与网络源
本地源测试:
ll /content/ucf/ //可以看到有Package包目录和repodata目录 yum-config-manager --add-repo file:///content/ucf/ yum repolist //可以看到content_ucf软件仓库(3个包) cat content_ucf*.repo
[content_ucf*] name=created by dnf config-manager from file:///content/ucf/ baseurl=file:///content/ucf/ enabled=1
网络源测试:
在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/
小步骤:先ping通域名foundation0.ilt.example.com;然后可以在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd查看内容;最后再设置软件仓库源。yum-config-manager --add-repo http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/ yum repolist //可以看到foundation0软件仓库(1660个包) cat foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_.repo
[foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_] name=created by dnf config-manager from http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/ baseurl=http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/BaseOS/ enabled=1
网络源测试:
在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/
yum-config-manager --add-repo http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/ yum repolist //可以看到foundation0软件仓库(4672个包) cat foundation0.ilt.example.com_rhel8.0_x86_64_dvd_AppStream_.repo
[foundation0.ilt.example.com_rhel8.0_x86_64_dvd_AppStream_] name=created by dnf config-manager from http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/ baseurl=http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/AppStream/ enabled=1
yum -y erase autofs
yum -y install autofs //Error: GPG check FAILED,来源于BaseOS仓库
GPG检测失败,解决方法:
方法一:在配置文件中设置不进行gpgcheck签名检查(即将gpgcheck=0)
vim foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_.repo
加入gpgcheck=0
再次安装yum -y install autofs,OK
方法二:导入GPG公钥
先将环境恢复,即去掉配置文件中的gpgcheck=0;删除软件包autofs
yum -y install autofs //Error: GPG check FAILED
在浏览器中输入http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release,可以看到GPG公钥内容
rpm --import /content/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
再次安装yum -y install autofs,OK
方法三:将GPG公钥(对应GPG签名信息)写入repo文件中
先将环境恢复,即去掉GPG公钥
rpm -qa | grep pub //查看系统中的公钥信息,主要有publicsuffix-list-dafsa-20180723-1.el8.noarch,gpg-pubkey-d4082792-5b32db75,gpg-pubkey-530679ee-4f6b7813,gpg-pubkey-fd431d51-4ae0493b
rpm -e gpg-pubkey-d4082792-5b32db75 gpg-pubkey-530679ee-4f6b7813 gpg-pubkey-fd431d51-4ae0493b //删除GPG公钥,由于不知道是哪个,所以把后三个公钥都删除了
yum -y erase autofs //删除autofs
yum -y install autofs //Error: GPG check FAILED
vim foundation0.ilt.example.com_rhel8.0_x86_64_dvd_BaseOS_.repo
加入gpgkey=http://foundation0.ilt.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
再次安装yum -y install autofs,OK
保证Linux系统是在连接外网的前提下做此实验
在百度中搜索华为镜像,即华为开源镜像站https://mirrors.huaweicloud.com/,点击CentOS,点击继续使用,选择CentOS版本为8
在Linux终端窗口中运行下方的命令wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-8-anon.repo,然后拷贝到/etc/yum.repos.d/下(原来的配置文件提前做好备份)
yum clean all
yum repolist
yum -y install mariadb-server
解决方法:按照提示信息将对应文件/run/yum.pid删除即可。
写出使用rpm命令查询,安装,删除RPM软件包(以httpd包为例)的相关命令。
rpm -q httpd rpm -e httpd rpm -ivh httpd
简述使用rpm命令管理RPM软件包的弊端。
依赖性问题
安装A包时,存在前驱依赖包B,C,则不能安装,需要先安装B,C包再安装A包
删除A包时,若此包为B,C包的依赖包,则不能删除,老的系统管理员,先删除BC再删除A包
简述YUM软件仓库技术的优点。
安装方便,自动解决添加或删除rpm包时遇到的依赖性问题
可以同时配置多个资源库
配置文件简单明了
简述配置YUM软件仓库时的三点注意事项+五行参数的含义。
注意事项:
工作目录必须为 /etc/yum.repos.d/
配置文件必须以.repo结尾
必须只有一个.repo文件
五行参数意义
[] //[]里写软件仓库的名称,一般使用base.
name= /name后写软件仓库的全称
baseurl= //后写软件仓库的绝对路径
enabled=1 /启用该软件仓库
gpgcheck=0 //不校验软件包
简述验证YUM软件仓库的相关命令及效果?
yum clean all 清空缓存 yum repolist 显示所有仓库
简述YUM常见命令使用技巧(以httpd包为例),具体包括:判断该软件包是否安装;安装;删除;追根溯源。
yum info httpd # 查看是否安装 yum install httpd # 安装 yum remove hpptd # 卸载 yum history # 追根溯源
1. 简述用户定时任务的6个字段的含义。
Minute 分钟(0-59)
Hour 小时(0-23)
Day 天(1-31) # 一般用 * 代替
Month 月(1-12) # 一般用 * 代替
DayofWeek 星期(1-7)
Command 任务/命令
2. 简述设置用户定时任务的步骤。
1、切换用户 su - kkkkkba
2、设置定时任务 crontab -e
3、写入定时任务
3. 创建自己名字汉语拼音的用户,为该用户创建定时任务,要求:周一至周五朝九晚五每两小时执行命令“date >> /tmp/abc.txt”;周一至周五1点,3点,9点每隔10分钟广播一条消息hello(广播消息hello的命令是wall “hello”)。
useradd kangbo su - kanbgo crontab -e
0 9-17/2 * * 1-5 date >> /tmp/abc.txt */10 1,3,9 * * 1-5 wall 'hello'
4. 用户定时任务的黑名单文件是什么,并简述其使用方法。
文件:
/etc/cron.deny
用法:vim编辑器打开 添加用户(每行一个)
5. 写出将系统时间设置为11:00的命令。
timedatectl set-ntp false timedatectl set-time 11:00
6. 简述将本机设置为NTP客户机的步骤(要求将NTP服务器设置为172.25.254.250)。
开启NTP时间同步
查看NTP服务的状态为
查看NTP时间同步服务是否运行
编辑NTP服务指向文件
修改为server
重启chronyd服务,即NTP服务
查看system clock synchronized的值是否为yes
验证当前使用的是哪个时钟同步服务器
timedatectl set-ntp true active timedatectl systemctl status chronyd.service vim /etc/chrony.conf # 输入 172.25.254.250 iburst systemctl restart chronyd.service timedatectl chronyc sources -v
简述操作系统的两种启动模式:Legacy BIOS 和UEFI的工作原理。
BIOS: 在开机时需要进行自检,启动过程较复杂。且传统的BIOS无法识别GPT分区表,只能识别MBR分区表。
UEFI: 直接从预启动的操作环境加载操作系统(速度快),简化开机过程有效提高启动速度。可以同时识别GPT和MBR。
简述MBR和GPT类型的磁盘分区的特点。
MBR(Master Boot Record)分区:
MBR是计算机开机后必须读取的首个扇区,它在硬盘上的三维地址为(0柱面,0磁头,1扇区)
MBR中记录着磁盘本身的相关信息以及磁盘各个分区的大小及位置信息。
硬盘中扇区的大小一般为512个字节。
本地硬盘启动会读取硬盘的第一个扇区(512Bytes),存放着主引导记录MBR(Master Boot Record) 446字节的启动加载程序Bootloader
64字节的磁盘分区表,由于存放每个分区信息需要16个字节,所以采取MBR结构的磁盘,最多只能有4个主分区。
MBR分区方案无法支持超过2TB的磁盘容量
GPT(GUID Partition Table)分区:
可自定义分区数量的最大值
可以表示2的64次方个地址
磁盘的末端还有一个备份分区表
简述MBR类型的磁盘分区表中的主分区,扩展分区和逻辑分区的特点。
主分区:
MBR最初支持4个主分区,每个主分区可包含一个操作系统。
主分区拥有独立的引导记录,可以引导操作系统。
每个主分区最大支持2TB的容量。
至少需要留出一个主分区给扩展分区使用。
扩展分区:
MBR分区最初只支持4个主分区,为了扩展分区数量,提出了扩展分区的概念。
扩展分区不包含文件系统,它的作用是包含多个逻辑分区。
磁盘只能包含一个扩展分区。扩展分区将磁盘分割出的空间再细分为多个逻辑分区。
扩展分区的容量会随着创建的逻辑分区减小。
逻辑分区:
逻辑分区是在扩展分区内创建的分区,用于格式化文件系统并存储数据。
可以创建多个逻辑分区,直到扩展分区的容量为止。
逻辑分区没有自己的引导记录,不能引导操作系统。需要一个主分区来引导系统。
逻辑分区的最大容量也是2TB。
逻辑分区的文件系统类型可以不同,这加大了MBR分区的灵活性。
给出求磁盘剩余空间的两种计算公式。
磁盘空间大于4:
剩余空间 = 扩展分区 - 逻辑分区之和
磁盘分区小于4
剩余空间 = 磁盘总容量 - 各个主分区容量之和
分区
更新磁盘分区表
格式化
挂载
使用
简述开机自动挂载文件/etc/fstab中前三个字段的含义.
/dev/vdc1 /mnt/dir1 ext4
设备名称或设备UUID 挂载点 文件系统类型
简述由于/etc/fstab文件书写错误导致系统无法启动的解决方法。
进入真机
输入root密码
vim /etc/fstab 检查错误,
reboot重启系统
简述SWAP交换分区的功能。
当物理内存不足时,将暂时不使用的内存数据存放到交换分区,腾出物理内存来运行其他进程。
内存RAM<=2G,swap设置为2倍的内存RAM大小;
2G<内存RAM<=8G,swap设置为同等的内存RAM大小;
8G<内存RAM<=64G,swap设置为至少4G;
内存RAM>64G,swap设置为至少4G;
查看SWAP交换分区的三种方法是。
free free -m free -h
cat /proc/swaps
top
简述使用SWAP交换分区的整体流程。
更新磁盘分区表
partprobe cat /proc/partitions
格式化
mkswap /dev/vdb1 blkid
挂载
swapon /dev/vdb1
或者
vim /etc/fstab /dev/vdb1 swap swap defaults 0 0 swapon -a
使用
linux系统下计算差值的命令是什么?写出求100-99的具体命令。
expr 100 - 99
配置虚拟机servera的IP地址(在servera真机里直接操作)
通过Virtul Machine Manager直接打开虚拟机servera(注意:需要提前在物理机foundation上运行rht-vmctl start all并等待3分钟,可以ping通servera后再通过Virtul Machine Manager打开servera)\
查看IP地址
ip a(即ip address show)
inet 172.25.250.10/24 brd 172.25.250.255 scope global noprefixroute enpls0
补充知识:
Linux系统识别的以太网接口以en开头,例如enp1s0,enp2s0。
IPv4地址:172.25.250.10/24或者172.25.250.10/255.255.255.0 ping(ping -c4) ping 172.25.254.250
IPv6地址: ping6
Mac地址:
ping -c4 serverb
# PING serverb.lab.example.com (172.25.250.11)56(84)bytes of data.
# 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=1 ttl=64 time=1.75 ms
# 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=2 ttl=64 time=0.935ms
# 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=3 ttl=64 time=0.961ms
# 64 bytes from serverb.lab.example.com (172.25.250.11):icmp_seq=4 ttl=64 time=0.716ms
查看网关(gateway)
方法一:ip route //查看路由信息,包含网关,default via后的IP地址即为网关
ip route # 172.25.250.254
# default via 172.25.250.254 dev enpls0 proto static metric 100
# 172.25.250.0/24 dev enpls0 proto kernel scope link src 172.25.250.10 metric 100
方法二:netstat -nr // 以数值方式显示路由表信息,包含Gateway,-r显示路由表,-n以数值方式
方法三:nmcli connection show ‘Wired connection 1’ | grep ipv4.ga
查看DNS(nameserver)
cat /etc/resolv.conf
测试使用ping servera;host servera;host 172.25.250.10
cat /etc/resolv.conf
# Generated by NetworkManager
# search lab.example.com example.com
查看网口、连接信息
nmcli dev status //查看网络设备的状态
nmcli connection show //查看连接信息,包含UUID
vim /etc/sysconfig/network-scripts/ifcfg-* //查看网络配置文件
BOOTPROTO=none //区分是静态IP还是动态IP,none表示静态
dhcp //动态
static //静态
修改IP地址,网关以及DNS(注意:如果是通过ssh到servera上去修改IP的话,重启网络连接后,此ssh的窗口会卡死,所以本实验最好在servera真机里做):
A.动态(dhcp自动获取)IP地址的设置方法:
nmcli connection modify ‘Wired connection 1’ connection.autoconnect yes ipv4.method auto
//modify表示修改;connection.autoconnect yes表示开机自动启动;ipv4.method auto表示使用dhcp动态获取IP
echo $? //如果为0,说明上一条命令运行成功
systemctl restart NetworkManager //注意:设置动态IP后需要重启网络服务NetworkManager
ip a
vim /etc/sysconfig/network-scripts/ifcfg-* //查看网络配置文件中的BOOTPROTO是否由none改成了dhcp
B.静态(static)IP地址的设置方法:
nmcli con mod ‘Wired connection 1’ connection.autoconnect yes ipv4.method manual ipv4.addresses 172.25.250.66/24 ipv4.gateway 172.25.250.254 ipv4.dns 8.8.8.8
//modify表示修改;connection.autoconnect yes表示开机自动启动;ipv4.method manual表示使用手动配置静态IP;
//ipv4.addresses 172.25.250.60/24表示配置的静态IP地址为172.25.250.60,子网掩码为24位; ipv4.gateway 172.25.250.254表示网关为172.25.250.254;ipv4.dns 8.8.8.8表示设置DNS服务器为8.8.8.8
nmcli connection up ‘Wired connection 1’ //注意:设置静态IP后需要启动(up)网络连接’Wired connection 1’,注意:如果是ssh到servera上会因为IP变动而卡死
ip a s
ping 服务器(172.25.254.250)
测试IP地址的正确性
写出查看IP地址的命令;ping命令的作用是什么?运行ping命令后的两种效果是什么,如何来判断?
ip a
ping作用:测试连通性
ping效果:
正常响应:表示目标主机正在运行并和网络连接正常。
超时无响应:如果目标主机已关闭或网络连接有问题,ping命令会返回超时信息。
写出查看网关的两种方法。
ip route netstat -nr
写出查看DNS的方法。
cat /etc/resolv.conf
写出查看网口、连接信息的方法。
nmcli dev status nmcli connection show vim /etc/sysconfig/network-scripts/ifcfg-*
写出动态(dhcp自动获取)IP地址的设置命令,连接名称为’Wired connection 1’。
nmcli connection modify 'Wired connection 1' connection.autoconnect yes ipv4.method auto
写出静态(static)IP地址的设置命令,连接名称为’Wired connection 1’,IP地址
为 172.25.250.111,子网掩码为24位,网关为172.25.250.254,DNS服务器为172.25.250.254。
nmcli connection modify 'Wired connection 1' connection.autoconnect yes ipv4.method manual ipv4.addresses 172.25.250.111/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.254
hostnamectl set-hostname kkkkkba vim /etc/hostname
(1)Filesystem:chmod, chown, setfacl
(2)Service:vim /etc/*.conf
(3)Firewall: firewall-cmd …
(4)SELinux:vim /etc/selinux/config(fcontext,port,setsebool)
注意:root用户是凌驾于Filesystem权限之上的,但如果开启了SELinux,不是针对用户是否具有权限能访问文件或目录了,而是针对进程,是否有权限访问特定的文件目录。变相加强了安全性。
SElinux(Security Enhanced Linux)是由美国国家安全局(NSA:National Security Agency)开发,为了避免资源误用而设计的,额外的系统安全层。
它由一系列的规则组成,决定了哪些进程可以访问哪些文件、目录和端口。
每个文件、目录和端口都具有特别的安全标签,称为SElinux的安全上下文。
默认情况下SElinux是开启状态。
例如:
Apache---------------------------/var/www/html
Apache---------------------------/var/www/html
SElinux Enforcing
在启用了SElinux后,用户访问Apache服务(本身也是一个进程),即访问/var/www/html目录,要看该进程与其访问的目录及文件的安全上下文是否对应
vim /etc/selinux/config
(永久生效)
两个参数:
(1)SELINUX=enforcing //设置SELINUX的状态(或工作模式)
SELINUX的三种工作模式:enforcing - SELinux security policy is enforced. //强制,即监控也干预(如果fcontext不一致,则不允许访问) permissive - SELinux prints warnings instead of enforcing. //允许(警告),即只监控,不干预 disabled - No SELinux policy is loaded. //关闭
(2)SELINUXTYPE=targeted //设置SELINUX对系统的管理范围,一般不进行设置
targeted - Targeted processes are protected. //对大部分网络服务进行管制,缺省值 minimum - Modification of targeted policy. Only selected processes are protected. //仅对选定的网络服务进行管制,一般不使用 mls - Multi Level Security protection. //多级别安全,它会对Linux系统中所有的选项生效,会占用系统40%的性能,一般不使用
查看SElinux工作模式
getenforce
# Enforcing
设置SElinux工作模式
命令方式修改(仅本次有效,重启无效)
setenforce 0
getenforce
# Enforcing
setenforce 1
getenforce
# Permissive
修改配置文件/etc/selinux/config
# /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted
getenforce
# Permissive
使用系统防火墙和SELinux规划来控制与服务的网络连接
使用防火墙规则来接受或拒绝与系统服务的网络连接
通过管理SELinux端口标签来控制网络服务是否可以使用特定的网络端口
RHEL7之前防火墙使用的是iptables,RHEL8使用的是firewalld
不管是iptables,还是firewalled,都是借助于Linux内核中包含的netfilter组件(可以实现数据包过滤、网络地址转换和端口转换)
nftables是Linux内核中包含的一个增强型的netfilter,包含了netfilter的功能,具有过滤器和数据包分类的功能
firewalld是一个动态防火墙管理器,是一种改进的iptables,它是nftables框架的前端(使用nft命令)
systemctl status firewalld.service
#看到servera上的防火墙默认是开启的running
# stop
# start
# restart
# enable 开机自启
#is-enabled
systemctl stop firewalld.service
(1)Filesystem 权限
(2)Service 服务/应用
(3)Firewall 防火墙
(4)SELinux 高级防火墙
vim /etc/selinux/config
修改
SELINUX=permissive
归档:将多个文件汇集成一个文件
tar -cvf bgl.tar /etc
-c 创建归档包
-v 显示详细的提示信息
-f 指定文件名
echo $?
(如果结果为0,说明上边的命令执行成功,非0,表示失败)
file bgl.tar
//显示类型
tar -cvf kkkkkba.tar /etc
ll | grep kkkkkba
# -rw-r--r--.1 root root 27217920 Apr 9 22:47 kkkkkba.tar
file kkkkkba.txt
# kkkkkba.tar:POSIX tar archive(GNU)
dd if=/dev/zero of=./kkkkkba1.txt bs=1M count=3 (输出并生成大文件)
dd if=/dev/zero of=./kkkkkba2.txt bs=1M count=5
–if input file 输入原文件
–of outout file 输出生成文件
–bs block size 数据块文件大小
du -sh kkkkkba1.txt
# 50M kkkkkba1.txt
du -sh kkkkkba2.txt
# 50M kkkkkba2.txt
tar -cvf kkkkkba3.tar kkkkkba1.txt kkkkkba2.txt
du -sh kkkkkba3.txt
# 80M kkkkkba3.txt
三种压缩技术:
gzip-----.gz
即在tar命令中添加一个参数-z
tar -zcvf bgl.tar.gz /etc
file bgl.tar.gz
du -sh bgl.tar.gz
tar -zcvf aaa.tar.gz 111.txt 222.txt
tar -zcvf kkkkkba4.tar.gz kkkkkba1.txt kkkkkba2.txt
do -sh kkkkkba4.tar.gz
# 80K kkkkkba4.tar.gz
bzip2-----.bz2
即在tar命令中添加一个参数-j
tar -jcvf bgl.tar.bz2 /etc
file bgl.tar.bz2
du -sh bgl.tar.bz2
tar -jcvf aaa.tar.bz2 111.txt 222.txt
tar -jcvf kkkkkba5.tar.bz2 kkkkkba1.txt kkkkkba2.txt
do -sh kkkkkba5.tar.bz2
# 1K kkkkkba5.tar.bz2
xz-----.xz
即在tar命令中添加一个参数-J
tar -Jcvf bgl.tar.xz /etc
file bgl.tar.xz
du -sh bgl.tar.xz
tar -Jcvf aaa.tar.xz 111.txt 222.txt
tar -Jcvf kkkkkba6.tar.xz kkkkkba1.txt kkkkkba2.txt
do -sh kkkkkba6.tar.xz
# 16K kkkkkba6.tar.xz
-t 查看的是使用tar命令归档的包
-f 指定文件名
tar -tf kkkkkba6.tar.gz
# kkkkkba1.txt
# kkkkkba2.txt
mkdir /666
tar -xjvf kkkkkba5.tar.bz2 -C /666
ll /666
-rw-r--r--.1 rootroot 31457280 Apr 9 23:03 kkkkkba1.txt
-rw-r--r--.1 rootroot 52428800 Apr 9 23:04 kkkkkba2.txt
tar -cvf /root/backup.tar /usr/local tar -zcvf /root/backup.tar.gz /root/backup.tar
tar -cvf /root/backup.tar /etc
tar -jcvf /root/backup.tar.bz2 /root/backup.tar
tar -cvf /root/backup.tar /tmp
tar -Jcvf /root/backup.tar.xz /root/backup.tar