金沙国际官网_金沙国际平台登录

因为这个金沙国际官网_金沙国际平台登录网站与很多的大型澳门赌场都有合作,金沙国际官网_金沙国际平台登录尽职尽责,高效执行,保持好奇心,不断学习,追求卓越,点击进入金沙国际官网_金沙国际平台登录马上体验吧,所以现在也正式地开始了营业。

您的位置:金沙国际官网 > 金沙国际平台登录 > Linux基础学习,Windows窗口的半透明效果

Linux基础学习,Windows窗口的半透明效果

发布时间:2019-11-19 13:38编辑:金沙国际平台登录浏览(190)

    LVM学习逻辑卷管理创建逻辑卷遇到的问题

    1 实验环境

    系统 内核 发行版本
    CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final)

    由于是最小化安装没有xfs命令,yum安装如下包支持此命令

    [root@www ~]# yum install xfsprogs
    Loaded plugins: fastestmirror, security
    Setting up Install Process
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package xfsprogs.x86_64 0:3.1.1-20.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ======================================================================================================
     Package                 Arch                  Version                      Repository           Size
    ======================================================================================================
    Installing:
     xfsprogs                x86_64                3.1.1-20.el6                 base                725 k
    
    Transaction Summary
    ======================================================================================================
    Install       1 Package(s)
    
    Total download size: 725 k
    Installed size: 3.2 M
    Is this ok [y/N]: y
    Downloading Packages:
    xfsprogs-3.1.1-20.el6.x86_64.rpm                                               | 725 kB     00:00     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : xfsprogs-3.1.1-20.el6.x86_64                                                       1/1 
      Verifying  : xfsprogs-3.1.1-20.el6.x86_64                                                       1/1 
    
    Installed:
      xfsprogs.x86_64 0:3.1.1-20.el6                                                                      
    
    Complete!
    

    2 用gdisk分区对/dev/sdb分区然后再删除后遇到以下问题

    [root@www ~]# pvcreate /dev/sdb
      Device /dev/sdb not found (or ignored by filtering).
    

    3 解决方法

    开始尝试使用partprobe /dev/sdb但是没有用处,后来用如下命令解决.

    [root@www ~]# dd if=/dev/urandom of=/dev/sdb bs=512 count=64
    64+0 records in
    64+0 records out
    32768 bytes (33 kB) copied, 0.0513912 s, 638 kB/s
    [root@www ~]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0     11:0    1  4.3G  0 rom  
    sda      8:0    0   20G  0 disk 
    ├─sda1   8:1    0  200M  0 part /boot
    ├─sda2   8:2    0    1G  0 part [SWAP]
    └─sda3   8:3    0 18.8G  0 part /
    sdb      8:16   0    1G  0 disk 
    sdc      8:32   0    1G  0 disk 
    sdd      8:48   0    1G  0 disk 
    sde      8:64   0    1G  0 disk 
    [root@www ~]# pvcreate /dev/sdb
      Physical volume "/dev/sdb" successfully created
    [root@www ~]# 
    
    [root@www ~]# pvs
      PV         VG   Fmt  Attr PSize PFree
      /dev/sdb        lvm2 ---- 1.00g 1.00g
      /dev/sdc        lvm2 ---- 1.00g 1.00g
      /dev/sdd        lvm2 ---- 1.00g 1.00g
    

    为什么会报如上的错误呢,我现在还没有搞清楚.

    [root@www ~]# vgcreate storage /dev/sdb /dev/sdc /dev/sdd
      Volume group "storage" successfully created
    [root@www ~]# vgs
      VG      #PV #LV #SN Attr   VSize VFree
      storage   3   0   0 wz--n- 2.99g 2.99g
    [root@www ~]# pvs
      PV         VG      Fmt  Attr PSize    PFree   
      /dev/sdb   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sdc   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sdd   storage lvm2 a--u 1020.00m 1020.00m
    

    4 创建一个150M大小的逻辑卷

    [root@www ~]# lvcreate -n vo -L 150M storage
      Rounding up size to full physical extent 152.00 MiB
      Logical volume "vo" created.
    [root@www ~]# lvs
      LV   VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      vo   storage -wi-a----- 152.00m   
    

    5 把生成号的逻辑卷进行格式化,然后挂载使用.

    [root@www ~]# mkfs.xfs /dev/storage/vo
    meta-data=/dev/storage/vo        isize=256    agcount=4, agsize=9728 blks
             =                       sectsz=512   attr=2, projid32bit=0
    data     =                       bsize=4096   blocks=38912, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0
    log      =internal log           bsize=4096   blocks=1200, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@www ~]# mount /dev/storage/vo /soft/
    [root@www ~]# ls /soft/
    [root@www ~]# 
    

    永久挂载,重启后生效,这里可以使用/dev/storage/vo也可以使用uuid推荐使用后者.

    UUID="645e5ca4-d564-425b-ad50-a9d43536951f" /soft xfs   defaults        0 0
    

    可以使用umount /soft卸载,再使用mount -a检查一下有没有挂载成功.使用df -h查看分区情况

    [root@www ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda3              19G  1.7G   16G  10% /
    tmpfs                 490M     0  490M   0% /dev/shm
    /dev/sda1             190M   59M  122M  33% /boot
    /dev/mapper/storage-vo
                          148M  7.8M  140M   6% /soft
    

    一、 Linux介绍

     

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

    严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

     

    扩容逻辑卷

    这里使用lvextend -l 50指定200M大小的逻辑卷,计算方法为4M*50.

    [root@www ~]# lvextend -l 50 /dev/storage/vo
      Size of logical volume storage/vo changed from 152.00 MiB (38 extents) to 200.00 MiB (50 extents).
      Logical volume vo successfully resized.
    
    [root@www ~]# lvs
      LV   VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      vo   storage -wi-a----- 200.00m   
    

    新硬盘加入vg卷组

    [root@www ~]# pvcreate /dev/sde
      Physical volume "/dev/sde" successfully created
    [root@www ~]# pvs
      PV         VG      Fmt  Attr PSize    PFree   
      /dev/sdb   storage lvm2 a--u 1020.00m  820.00m
      /dev/sdc   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sdd   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sde           lvm2 ----    1.00g    1.00g
    
    [root@www ~]# vgextend storage /dev/sde
      Volume group "storage" successfully extended
    [root@www ~]# vgs
      VG      #PV #LV #SN Attr   VSize VFree
      storage   4   1   0 wz--n- 3.98g 3.79g
    
    [root@www ~]# pvs
      PV         VG      Fmt  Attr PSize    PFree   
      /dev/sdb   storage lvm2 a--u 1020.00m  820.00m
      /dev/sdc   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sdd   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sde   storage lvm2 a--u 1020.00m 1020.00m
    

    从vg卷组移除一块硬盘

    [root@www ~]# vgreduce storage /dev/sde
      Removed "/dev/sde" from volume group "storage"
    [root@www ~]# vgs
      VG      #PV #LV #SN Attr   VSize VFree
      storage   3   1   0 wz--n- 2.99g 2.79g
    [root@www ~]# pvs
      PV         VG      Fmt  Attr PSize    PFree   
      /dev/sdb   storage lvm2 a--u 1020.00m  820.00m
      /dev/sdc   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sdd   storage lvm2 a--u 1020.00m 1020.00m
      /dev/sde           lvm2 ----    1.00g    1.00g
    

    逻辑卷裁剪大小为120M

    [root@www ~]# lvreduce -L 120M /dev/storage/vo
      WARNING: Reducing active logical volume to 120.00 MiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce storage/vo? [y/n]: y
      Size of logical volume storage/vo changed from 200.00 MiB (50 extents) to 120.00 MiB (30 extents).
      Logical volume vo successfully resized.
    [root@www ~]# lvs
      LV   VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      vo   storage -wi-a----- 120.00m                                                    
    [root@www ~]# 
    

    删除逻辑卷,依次删除lv逻辑卷,gv卷组,pv物理卷

    [root@www ~]# lvremove /dev/storage/vo
    Do you really want to remove active logical volume vo? [y/n]: y
      Logical volume "vo" successfully removed
    [root@www ~]# lvs
    [root@www ~]# vgremove storage
      Volume group "storage" successfully removed
    [root@www ~]# vgs
    [root@www ~]# pvremove /dev/sde
      Labels on physical volume "/dev/sde" successfully wiped
    [root@www ~]# pvs
      PV         VG   Fmt  Attr PSize PFree
      /dev/sdb        lvm2 ---- 1.00g 1.00g
      /dev/sdc        lvm2 ---- 1.00g 1.00g
      /dev/sdd        lvm2 ---- 1.00g 1.00g
    [root@www ~]# pvremove /dev/sdd /dev/sdc /dev/sdb
      Labels on physical volume "/dev/sdd" successfully wiped
      Labels on physical volume "/dev/sdc" successfully wiped
      Labels on physical volume "/dev/sdb" successfully wiped
    [root@www ~]# pvs
    

    数据迁移,首先创建一些文件touch /soft/{00..100}.txt,然后进行数据迁移.

    [root@www ~]# pvs
      PV         VG      Fmt  Attr PSize    PFree   
      /dev/sdb   oradata lvm2 a--u 1020.00m  140.00m
      /dev/sdc   oradata lvm2 a--u 1020.00m 1020.00m
      /dev/sdd   oradata lvm2 a--u 1020.00m 1020.00m
      /dev/sde   oradata lvm2 a--u 1020.00m 1020.00m
    
    [root@www ~]# pvmove /dev/sdb /dev/sdd
      /dev/sdb: Moved: 0.9%
      /dev/sdb: Moved: 36.4%
      /dev/sdb: Moved: 54.5%
      /dev/sdb: Moved: 100.0%
    [root@www ~]# pvs
      PV         VG      Fmt  Attr PSize    PFree   
      /dev/sdb   oradata lvm2 a--u 1020.00m 1020.00m
      /dev/sdc   oradata lvm2 a--u 1020.00m 1020.00m
      /dev/sdd   oradata lvm2 a--u 1020.00m  140.00m
      /dev/sde   oradata lvm2 a--u 1020.00m 1020.00m
    [root@www ~]# 
    

    迁移后查看文件并没有丢失,最后删除这些文件.

    [root@www ~]# ls /soft/
    000.txt  010.txt  020.txt  030.txt  040.txt  050.txt  060.txt  070.txt  080.txt  090.txt  100.txt
    001.txt  011.txt  021.txt  031.txt  041.txt  051.txt  061.txt  071.txt  081.txt  091.txt  
    002.txt  012.txt  022.txt  032.txt  042.txt  052.txt  062.txt  072.txt  082.txt  092.txt
    003.txt  013.txt  023.txt  033.txt  043.txt  053.txt  063.txt  073.txt  083.txt  093.txt
    004.txt  014.txt  024.txt  034.txt  044.txt  054.txt  064.txt  074.txt  084.txt  094.txt
    005.txt  015.txt  025.txt  035.txt  045.txt  055.txt  065.txt  075.txt  085.txt  095.txt
    006.txt  016.txt  026.txt  036.txt  046.txt  056.txt  066.txt  076.txt  086.txt  096.txt
    007.txt  017.txt  027.txt  037.txt  047.txt  057.txt  067.txt  077.txt  087.txt  097.txt
    008.txt  018.txt  028.txt  038.txt  048.txt  058.txt  068.txt  078.txt  088.txt  098.txt
    009.txt  019.txt  029.txt  039.txt  049.txt  059.txt  069.txt  079.txt  089.txt  099.txt
    
    [root@www ~]# find /soft/ -type f -size 0 -delete
    

    二、主要特性

    介绍:

    基本思想

    Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。[3]

    Layered Windows是windows窗口中的一类,提供类似半透明的效果(阿尔法混合)。半透明效果是字面上有能看出来的,但实际上根据MSND,该类型的窗口还能更好的支持非矩形的窗口,使之显示效果更平滑流畅(暗地里猜测是使用了硬件加速而达到的效果)。在win8之前WS_EX_LAYERED只能用于顶层窗口,win8及之后版本子窗口也可以使用。

    完全免费

    Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。[4]

    完全兼容POSIX1.0标准

    这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。[4]

    使用:

    首先要做的就是在CreateWindowEx()时加入 WS_EX_LAYERED风格。之后调用SetLayeredWindowAttributes()。该函数原型如下:

      

    BOOL WINAPI SetLayeredWindowAttributes(
      _In_ HWND     hwnd,      //窗口句柄
      _In_ COLORREF crKey,      //设置色彩通道的相对分量 使用RGB宏
      _In_ BYTE     bAlpha,     //阿尔法值,0-225之间
      _In_ DWORD    dwFlags     //LWA_ALPHA或LWA_COLORKEY,或二者都有
    );
    /*
    *LWA_ALPHA :使用阿尔法值显示透明效果
    LWA_COLORKEY:使用RGB通道过滤颜色
    */
    

    本文由金沙国际官网发布于金沙国际平台登录,转载请注明出处:Linux基础学习,Windows窗口的半透明效果

    关键词:

上一篇:没有了

下一篇:没有了