网络操作系统 第五次上机作业

1.在4.216服务器81端口的web服务器上下载webmin-1.881-1.noarch.rpm安装包。不在机房的话可以在http://www.webmin.com/网站的左侧找到rpm包的下载链接(使用wget http://192.168.4.216:81/webmin-1.881-1.noarch.rpm)
2.安装webmin-1.881-1.noarch.rpm,并观察所缺少的依赖包
3.使用yum安装perl-Net-SSLeay,如果yum失败,1要上网登录验证,2要执行yum clean all
4.重新安装webmin-1.881-1.noarch.rpm,然后使用yum search尝试解决其他依赖问题。
5.在linux桌面菜单中打开firefox浏览器,并打开https://127.0.0.1:10000,并观察。(首次打开需要firefox点击高级添加信任)

6.查看所有已经安装的名字包含ssl的包的名字

7.查找硬盘上所有名字包含ssl的文件

8.修改虚拟机的mac地址,并将虚拟机的网络连接模式由nat改为桥接,此步骤不需要截图

9.将虚拟机的ip地址配置为192.168.5.{学号后2位},学号位数是00和01的同学设置为200和201,参考资料https://www.jianshu.com/p/fede13c3cd3e,上课时候我是用ifconfig更改ip之后,应该这样一下,添加一个某网段的出口

route add -net 192.168.50.0/24 eth0

10.使用putty从物理机连接并使用密码登陆管理虚拟机

 

上传地址:第九周上传地址

网络操作系统 第五次上机作业

  1. 给虚拟机添加两块新的sata虚拟硬盘,容量8G和10G,切记不要删除或者替换掉原有硬盘。
  2. 将第一块硬盘分为2个分区,容量自己定义
  3. 格式化这两个分区,文件系统为ext4
  4. 挂在第一个分区到/mnt/testmnt上,这个目录需要自己建立
  5. 尝试在/mnt/testmnt中新建任意文本文件,随意输入内容后保存,并确认文件正确建立。
  6. 使用df -h命令确认挂载点工作正常
  7. 卸载/mnt/testmnt这个挂载点
  8. 将第一个分区挂载到/root/testmnt上,这个目录需要自己建立。并观察第5步建立好的文件是否完好。
  9. 使用df -h观察目前文件系统和挂载点的对应关系。
  10. 卸载/root/testmnt,并在这两个分区上和第二块硬盘上建立pv
  11. 创建VG,使得新VG包含新建的两个PV,VG名字为lf+自己学号
  12. 创建两个LV,第一个容量14G,第二个占满剩下VG的空间
  13. 分别格式化两个LV为ext4文件系统,并挂载,尝试在第一个14G的LV中建立新文件

参考:https://blog.csdn.net/yuxielea/article/details/105000956

(以下1-5为可选步骤)

  1. 删除第二个LV。
  2. 扩展第一个LV的空间,使其容量占满刚才释放出来的空间 。lvextend -l +100%VG  {第一个lv名字}
  3. 挂载lv,使用df观察文件系统的1k块数,使用lvdisplay观察lv本身的容量大小,此时文件系统的容量应该无变化,而lv的容量应该为18G。
  4. 卸载lv,扩展文件系统到整个LVresize2fs
      e2fsck  -f  {第一个lv名字}
      resize2fs  {第一个lv名字}
  5. 挂载lv,使用df观察文件系统的1k块数,使用lvdisplay观察lv本身的容量大小,此时文件系统的容量变为18G。
  6. 卸载lv,lv中文件系统容量至4G,收缩lv容量至4G,从vg中删除10G容量的PV。(相关命令可以百度或者看我给出的文档)

参考资料,本次课使用C5

链接:https://pan.baidu.com/s/1oiHh6jmHiyWgEdVKB1NJXA
提取码:dmkw


 

上传地址:第八周上传地址

点灯3

#include <ioCC2530.h> //引入CC2530所对应的头文件(包含各SFR的定义)

#define D7 P1_0 //定义D7为P1_0口控制
#define D6 P1_1 //定义D6为P1_1口控制
#define K4 P0_1
#define K5 P0_4
#define R P0_1
#define G P1_3
#define B P0_6

static int counter=1000;
void led_init(void);
void led_test(void);
void delay_ms(int ms);
/*主函数
——————————————————-*/
void main(void)
{
led_init();

while(1)
{
;
}
}

/*led初始化
——————————————————-*/
void led_init(void)
{
P1SEL &= ~0x0B; //P1.0 P1.1 P1.3为普通 I/O 口
P1DIR |= 0x0B; //输出

P0SEL &=~ 0x62; //P0.1 0.5 0.6为普通 I/O 口
P0DIR |= 0x62;//输出
P0_5=0; //feng ming qi
D7 = 1; //关LED
D6 = 1;

P0IEN |= 0X12; //P0.1中断使能
PICTL |= 0X01; //P0口下降沿触发
IEN1 |= 0x20; //允许P0口中断
P0IFG = 0X00; //初始化中断标志位
P0IF = 0;
EA = 1; //总中断使能0

}

/*led闪烁函数
——————————————————-*/
void led_test(void)
{
int b=P0IFG&0x10;

int c=P0IFG&0x02;

if(c)
counter++;
if(b)
counter–;
int a=counter%3;
switch(a)
{
case 0:
R=0;G=1;B=1;break;
case 1:
R=1;G=0;B=1;break;
case 2:
R=1;G=1;B=0;break;
}

}

#pragma vector = P0INT_VECTOR

__interrupt void P0_ISR(void)
{
EA=0;
//P0IFG = 0;
//P0IF = 0; //通常情况这里应该是关掉中端,并且把这两句话放到函数结束
// D6 = 0;
// delay_ms(2000);
led_test();
// D6 = 1;
P0IFG = 0;
P0IF = 0;
EA=1;
}
void delay_ms(int ms)
{
int i,j;
for(i=0;i<ms;i++)
for(j=0;j<555;j++);
}

网络操作系统 第四次上机作业

1.尝试给“ls -l /home”命令建立一个别名。使用第一章的alias或者百度
2.尝试运行 “ls -l /dev/sd*”,并观察结果。
3.尝试运行“rpm -aq”和“rpm -aq|grep ssh”命令,观察区别,并理解管道。
4.运行“rpm -aq|grep ssh>>/home/test/1.txt”,观察文件1.txt内容。
5.运行两遍dmesg>1.txt和dmesg>>1.txt找一下区别
6.将1.txt移动到根目录
7.将1.txt的权限改为除了拥有者以外,别人均无法访问
8.将/home/test目录和下面的所有文件增添所有人可读取的权限
9.复制整个/var目录到当前用户的主目录中,并重命名为var1
10.删除var1目录

上传地址:第七周上传地址

网络操作系统 第三次上机作业

  1. 建立以lf+学号为名字的用户
  2. 给新建账户设置密码
  3. 验证新用户:图形状态切换至新用户登录,并在/home/{lf学号}目录中建立文本文件“ 1.txt ” ,内容随意。(注意将{lf学号}中学号替换成自己的真实学号)。
  4. 使用su命令将用户切换至root,执行chmod 660 1.txt (将1.txt文件其他人权限设置为禁止读写),执行chmod 770 /home/{lf学号}。
  5. 重新回到test用户的桌面中,打开一个新Shell执行vim /home/{lf学号}/1.txt ,此时应该提示无权限,或者直接打开空白文档。打开新shell就是多打开一个终端。
  6. 切换至root,给 {lf学号} 组设置密码。
  7. 返回test用户,并将 test 用户 临时加入 {lf学号}组,并使用id验证是否成功加入。
  8. 重新执行vim /home/{lf学号}/1.txt //此时应该能够正常打开
  9. 执行w,观察当前登录情况。
  10. 使用ps查看当前系统中的所有进程,包括有终端和无终端的进程
  11. 使用top命令查看当前系统中进程的cpu占用率,内存以及交换文件的使用率,观察系统负载
  12. 打开3个shell连接,找到这3个shell的pid
  13. 在上一步的3个shell中同时运行top,随后终止掉其中任意1个top的进程
  14. 终止所有top的进程。

以下选做

1.使虚拟机能够上网。

2.运行yum clean all

yum  install  gcc   -y   (注意空格,不能丢也不能填)

3.使用vi编辑一个test.c文件,内容如下

#include<stdio.h>

int main(){

for(int i=0;;i++)

printf(“%f”,i*i/99.0*34.6/29.6);

return 0;

}

4.执行gcc test.c-o test

5.执行 ./test

6.多开几个shell分别执行 ./test 并打开一个shell运行top,观察系统负载和测试图形界面的卡顿情况。

7.尝试使用renice命令分别设置已经打开test程序的优先级为19,并观察桌面是否依然卡顿。

上传地址:第六周上传地址