精华内容
下载资源
问答
  • 虚拟盘符注册表项修改项

    千次阅读 2012-02-07 14:28:11
    必须注册: HKEY_CLASSES_ROOT\CLSID\ ...所含:名称为空的是提示名称,InfoTip没看到用途   HKEY_CLASSES_ROOT\CLSID\{XXX}\DefaultIcon  所含:名称为空的是图标的路径   HKEY_CLASSES_ROOT\CLSID\{

    必须注册项:

    HKEY_CLASSES_ROOT\CLSID\

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}        

    所含项:名称为空的是提示名称,InfoTip项没看到用途

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\DefaultIcon 

    所含项:名称为空的是图标的路径

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\InprocServer32 

    所含项:名称为空的是shdocvw.dll  这个项十分重要,删除了双击将无法打开目录

    ThreadingModel为Apartment

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\Instance

    所含项:   名称为空的数值未设置  

    CLSID 需要研究下 {0afaced1-e828-11d1-9187-b532f1e9575d} (目前我也写这个值)

    这个项十分重要,删除了双击将无法打开目录

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\Instance\InitPropertyBag 

    所含项:  名称为空的数值未设置      

    "Attributes"=hex:15,00,00,00                  不知道什么意思但是写了就有用

    Target指向的文件夹路径

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\shellex   

    所含项:        名称为空的数值未设置

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\shellex\PropertySheetHandlers    

    所含项:        名称为空的数值未设置

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\shellex\PropertySheetHandlers\!!Sync115ProSheetExt

    所含项:        CLSID需要研究下   {9F589F1C-BB25-47EC-A138-C6B5695ED5A5}

    (删除后,右键->属性 无法显示)

     

    HKEY_CLASSES_ROOT\CLSID\{XXX}\ShellFolder

    所含项:        

    名称为空的数值未设置

    "Attributes"=hex:50,00,00,F0                   不知道什么意思但是写了就有用

    wantsFORPARSING           空

     

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{CLSID(指向前面创建的CLSID) }

     

     

    其它的CLSID项:

    HKEY_CLASSES_ROOT\CLSID\{0afaced1-e828-11d1-9187-b532f1e9575d}

    (该项也被金山快盘使用)

    HKEY_CLASSES_ROOT\CLSID\{0afaced1-e828-11d1-9187-b532f1e9575d}

    所含项:         名称为空的值为  Folder Shortcut

                                FriendlyTypeName@shell32.dll,-10540

                                PreviewDetails            prop:System.Link.TargetParsingPath

    HKEY_CLASSES_ROOT\CLSID\{0afaced1-e828-11d1-9187-b532f1e9575d}\InProcServer32

    所含项:         名称为空的值为  %SystemRoot%\system32\shell32.dll

                                ThreadingModel      Apartment

    HKEY_CLASSES_ROOT\CLSID\{0afaced1-e828-11d1-9187-b532f1e9575d}\shell

    暂不分析了,我也写先指向这个CLSID

     

     

     

    HKEY_CLASSES_ROOT\CLSID\{9F589F1C-BB25-47EC-A138-C6B5695ED5A5}

    所含项:名称为空的值为SyncPropertySheet Class

    HKEY_CLASSES_ROOT\CLSID\{9F589F1C-BB25-47EC-A138-C6B5695ED5A5}\InprocServer32

    所含项:名称为空的值为  C:\Users\cuclq\AppData\Roaming\115\Box\Sync115Ext.dll

                        ThreadingModel    Apartment

     

     

     

     

     

     

    展开全文
  • android5.1平板或手机应用层一些常用的修改项

    android5.1平板或手机应用层一些常用的修改项及目录所在:

    1、所以系统应用所在的目录:

    \alps\packages\apps

    2、一些系统属性的定义:并且可以仿写自行定义变量

    \alps\build\tools\buildinfo.sh

    3、一些apk的添加和删除:

    \alps\build\target\product\generic.mk
    \alps\build\target\product\generic_no_telephony.mk
    \alps\build\target\product\telephony.mk
    \alps\build\target\product\core.mk

    4、wifi,bt,sn的烧写位置:

    alps\out\target\product\elink8163_tb_l1\obj\CGEN\

    5、第三方apps目录:

    \alps\vendor\mediatek\proprietary\operator\common\packages
    \alps\vendor\mediatek\proprietary\operator\common\frameworks


    6、VideoPlayer、Stk1、Stk2、MTKThermalManager的values存放的目录:

    \alps\device\mediatek\common\overlay\tablet\vendor\mediatek\proprietary\packages\apps
    \alps\device\mediatek\common\overlay\tablet\vendor\mediatek\proprietary\frameworks
    \alps\device\mediatek\common\overlay\tablet\vendor\mediatek\proprietary\protect-app

    7、Launcher3、Settings、DeskClock的values存放的位置(单wifi):

    \alps\device\mediatek\common\overlay\tablet\packages\apps

    8、\frameworks values存放的位置:

    \alps\device\mediatek\common\overlay\tablet\frameworks\base\core\res\res

    9、导航栏显示或隐藏config.xml:

    \alps\device\mediatek\common\overlay\navbar\frameworks\base\core\res\res\values

    10、MemoryDeviceList对照表:

    \alps\device\mediatek\build\build\tools\emigen\项目\MemoryDeviceList_MT8163.xls

    11、开机动画存放的目录Android.mk进行配置说明:

    \alps\vendor\mediatek\proprietary\operator\OP09\prebuilt\bootanim\bootanimation
    \alps\vendor\mediatek\proprietary\operator\OP09\prebuilt\bootanim\bootaudio开机铃声
    \alps\vendor\mediatek\proprietary\operator\OP09\prebuilt\bootanim\shutanimation关机动画

    12、内存更改目录:

    \alps\bootable\bootloader\preloader\custom\elink8163_tb_l1\inc\custom_MemoryDevice.h
    \alps\bootable\bootloader\preloader\tools\emigen\MT8163\MemoryDeviceList_MT8163.xls
    \alps\bootable\bootloader\preloader\tools\emigen\MT8163\full_elink8163_e  修改版本号,语言类

    13、lcm,logo等的配置目录:

    \alps\bootable\bootloader\lk\dev

    14、对应的屏大小,配置不同的图标:

    wxga   竖屏
    wxgal  横屏
    </pre>都指显示模式其中WXGA是16:10宽屏,各显示模式支持分辨率如下<pre name="code" class="java">QVGA 240×320 
    HVGA 480*320 
    VGA 640X480 
    SVGA 800X600 
    XGA 1024X768 
    SXGA 1280X1024 
    SXGA+ 1400X1050 
    UXGA 1600X1200 
    WXGA 1280X800 
    WXGA+ 1400X900 
    WSXGA 1600X1024 
    WSXGA+ 1680X1050 
    WUXGA 1920X1200 
    WQXGA 2560X1600 
    按需选购可能平板使用类似WSVGA的1024×576以及WXGA的1280×768等等,Google将设备分为small(2~3英寸)、normal(4英寸左右)、large(5~7英寸)、xlarge(7英寸以上)不同大小屏幕用不同大小的图片,low:medium:high:extra-high图片大小的比例为3:4:6:8;举例来说,对于中等密度(medium)的屏幕你的图片像素大小为48×48,那么低密度(low)屏幕的图片大小应为36×36,高(high)的为72×72,extra-high为96×96.

    15、配置文件的修改(屏的宽高,logo的配置etc):

    \alps\device\elink\elink8163_e\ProjectConfig.mk
    
    CUSTOM_LK_LCM = KR070IA4T_DSI_VDO
    CUSTOM_UBOOT_LCM = KR070IA4T_DSI_VDO
    MTK_BUILD_VERNO = ALPS.**(自定义版本号)
    
    \alps\device\elink\elink8163_e\full_elink8163_e
     set locales & aapt config.
    PRODUCT_LOCALES := en_US es_ES zh_CN zh_TW ru_RU pt_BR fr_FR de_DE tr_TR it_IT in_ID ms_MY vi_VN ar_EG hi_IN th_TH bn_IN pt_PT ur_PK fa_IR nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ iw_IL my_MM km_KH ko_KR pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB ja_JP
    
    #AAPT configuration
    PRODUCT_AAPT_CONFIG := normal large xlarge 
    PRODUCT_AAPT_PREF_CONFIG := hdpi 
    
    
    # Set those variables here to overwrite the inherited values.
    PRODUCT_MANUFACTURER := alps
    PRODUCT_NAME := **
    PRODUCT_DEVICE :=**
    PRODUCT_MODEL := **
    PRODUCT_POLICY := android.policy_phone
    PRODUCT_BRAND := alps
    
    
    
    DEFAULT_INPUT_METHOD = com.sohu.inputmethod.sogou.SogouIME  //默认输入法
    DEFAULT_LATIN_IME_LANGUAGES = en-US fr ru

    16、lcd密度的设置:

    \alps\device\elink\elink8163_e\system.prop
    ro.sf.lcd_density=213

    17、默认壁纸的存放位置:

    \alps\frameworks\base\core\res\res\drawable-nodpi\default_wallpaper
    

    18、第三方应用所在目录,eg:Sina微博

    \alps\vendor\mediatek\proprietary\binary\3rd-party\free\Sina_Weibo
    添加完后,打开文件device\mediatek\common\device.mk
    将 Sina添加到 PRODUCT_PACKAGES 里面。PRODUCT_PACKAGES += Sina,然后重新build整个工程

    19、对应的drawable:

    320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
    480dp: a tweener tablet like the Streak (480x800 mdpi).
    600dp: a 7” tablet (600x1024 mdpi).
    720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
    所以1280*720 就用720dp的.

    20、长按power键弹出的选项:

    framework\policies\base\phone\com\android\internal\policy\impl\PhoneWindowManager.java
     Runnable mPowerLongPress = new Runnable() {
    
      public void run(){
    
      mShouldTurnOffOnKeyUp = false;
    
      performHapticsFeedbackLw(null,HapticFeedbackConstants.LONG_PRESS,false);
    
      sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);
    
      showGlobalActionsDialog();
    
      } };
    调用showGlobalActionDialog方法将会显示“飞行模式”、“静音”,“关机”,选项的对话框,这个时候我们就可以把位于此处的frameworks\policies\base\phone\com\android\internal\policy\impl\GlobalActions.java该文件的createDialog方法中代码

    21、系统默认只有一张内置的静态壁纸,如如何修改可以内置多张静态壁纸:

    KK版本:
    1).在Launcher3/res/drawable-xxx 的文件夹下增加wallpaer的图片,每个wallpaper需要两种图片一张原图一张缩略图,如下形式

    wallpaper_01.jpg
    wallpaper_01_small.jpg
    wallpaper_02.jpg
    wallpaper_02_small.jpg
    缩略图的文件名必须原图"文件名"+"_small"
    2).在Launcher3/res/values-nodpi的wallpapers.xml中修改如下:
    <resources>
        <string-array name="wallpapers" translatable="false">
           <item>wallpaper_01</item>
           <item>wallpaper_02</item>
        </string-array>
    </resources>
     
     L版本:
    1).在Launcher3/WallpaperPicker/res/drawable-xxx 的文件夹下增加wallpaer的图片,每个wallpaper需要两种图片一张原图一张缩略图,如下形式
    wallpaper_01.jpg
    wallpaper_01_small.jpg
    wallpaper_02.jpg
    wallpaper_02_small.jpg
    缩略图的文件名必须原图"文件名"+"_small"
    2).在Launcher3/WallpaperPicker/res/values-nodpi的wallpapers.xml中修改如下:
    <resources>
        <string-array name="wallpapers" translatable="false">
           <item>wallpaper_01</item>
           <item>wallpaper_02</item>
        </string-array>
    </resources>

    3)、Launcher3中app icon应用的顺序排列修改目录如下:eg:

    Launcher3\res\xml\default_toppackage.xml
    <toppackages xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher3">
        <app
            launcher:topPackageName="com.yahoo.mobile.client.android.odp"
            launcher:topClassName="com.yahoo.mobile.client.android.odp.YahooODP"
            launcher:topOrder="4"
         />
    
    
        <app
            launcher:topPackageName="com.yahoo.mobile.client.android.im"
            launcher:topClassName="com.yahoo.mobile.client.android.im.YahooMessenger"
            launcher:topOrder="5"
         />
    
    
         <app
            launcher:topPackageName="com.yahoo.mobile.client.android.mail"
            launcher:topClassName="com.yahoo.mobile.client.android.mail.activity.YahooMail"
            launcher:topOrder="6"
         />
    
    
        <app
            launcher:topPackageName="com.yahoo.mobile.client.android.news"
            launcher:topClassName="com.yahoo.mobile.client.android.news.activity.Main"
            launcher:topOrder="7"
         />
    
    
         <app
            launcher:topPackageName="com.yahoo.mobile.client.android.finance"
            launcher:topClassName="com.yahoo.mobile.client.android.finance.activity.Main"
            launcher:topOrder="10"
         />
    </toppackages>
    
    22、添加reboot

    如果需要添加重新启动菜单做重启手机的动作,可以参考如下步骤修改实现:
    1)、 在alps\frameworks\base\core\res\res\values\strings.xml 中添加标签:

    <string name="zzzzz_global_action_power_reboot">Reboot</string>
    用来显示重新启动菜单项的字符串资源,如果需要添加其他语言的标识,请在其他可替换资源的res folder下添加对应资源。
    请注意,为了保证资源文件能够被编译进去,请同步将此资源添加到symbols.xml中。
     
    2)、 在alps\frameworks\base\core\res\res\drawable-hdpi中添加图标:
    zzzzz_ic_lock_power_reboot.png
    3)、 在alps\frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.java
    文件中的createDialog()函数中添加:
       
    Private GlobalActionsDialog createDialog(){
           ……
           mItems = new ArrayList<Action>();
           // first: power off
           mItems.add(……);     
             /Added for reboot items start
            mItems.add(
                new SinglePressAction(
                     com.android.internal.R. zzzzz_ic_lock_power_reboot,
                        R.string.zzzzz_global_action_power_reboot) {
                    public void onPress() {
                        mWindowManagerFuncs.reboot(true);
                    }
                    public boolean onLongPress() {
                        mWindowManagerFuncs.rebootSafeMode(true);
                        return true;
                    }
                    public boolean showDuringKeyguard() {
                        return true;
                    }
                    public boolean showBeforeProvisioning() {
                        return true;
                    }
                });
               /added end
            // next: airplane mode
            mItems.add(mAirplaneModeOn);
    ……
    }
    
    4)、 在frameworks\base\core\java\android\view\WindowManagerPolicy.java文件中,找到WindowManagerFuncs这个interface的定义,增加如下function的声明:
    public interface WindowManagerFuncs {
            public void reboot(boolean confirm);
    }

    5)、 在Frameworks\base\services\java\com\android\server\wm\WindowManagerService.java中,因为其实现了WindowManagerFuncs这个接口,需要在该文件中添加reboot()函数的实现体。
    找到shutdown()函数,在其后面添加reboot()函数,函数内容如下:
        
    // Called by window manager policy.  Not exposed externally.
        @Override
        public void reboot(boolean confirm) {
            ShutdownThread.reboot(mContext, confirm);
        }
     
     还需要在array.xml的config_globalActionsList添加reboot选项
      public.xml中进行配置
     字符串添加:(第一次可以编过,后面有碰到编译res找不到)
      
      strings.xml:
            <string name="reboot_confirm_question">"Do you want to reboot?"</string>
            <string name="global_action_reboot">"Reboot"</string>
            <string name="reboot_progress">"Rebooting..."</string>
    
    
        symbols.xml
            <java-symbol type="string" name="reboot_confirm_question" />
            <java-symbol type="string" name="global_action_reboot" />
            <java-symbol type="string" name="reboot_progress" />(遇到编译res找不到,先屏蔽掉symbols.xml,编译后再重新加上继续编译)
    注:android5.1的config_globalActionsList在  X:\8163_eng\alps\frameworks\base\core\res\res\values\config.xml中已定义


    23、GMS预置:

    L版本GMS预置比较简单,只需要把GMS需要预置内容放置在 alps/vendor/google/文件夹下(google文件夹需要自行创建)
    然后检查vendor/google/下是否存在Android.mk文件,若没有此Android.mk,请新建一个,并把以下内容拷贝进去:

    ifdef BUILD_GMS
    ifeq ($(strip $(BUILD_GMS)), yes)
    include $(call all-subdir-makefiles)
    endif
    endif
    同时再检查vendor/google/以下两个文件夹apps/ 和 frameworks/第一层目录下是否存在Android.mk如果不存在,也各新建一个,将以下内容拷贝进去:
    include $(call all-subdir-makefiles)
    最后在build的时候带入"BUILD_GMS=yes",如:
    source build/envsetup.sh && lunch full_<YourProjectName>-user && source ./mbldenv.sh && BUILD_GMS=yes make -j24
    若提示找不到mbldenv.sh,则使用如下命令:
    source build/envsetup.sh && lunch full_<YourProjectName>-user && BUILD_GMS=yes make -j24
    注意,源代码的build文件中会有判断 BUILD_GMS 的值做不同build行为的语句,请不要修改,否则会造成GMS预置冲突或者预置不完整问题


    24、预置apk到vendor/operator/app下面

    预置apk到vendor/operator/app下面,有时候会编译不过
    这种情况一般是apk本身没有对齐导致的,可以先使用zipalign重新对齐apk后再预置,具体做法如下:

    out/host/linux-x86/bin/zipalign -f 4 unalign.apk aligned.apk
    其中,unalign.apk指当前source apk,aligned.apk指对齐后输出的apk.

    25、mtk自带的一些工具文件,eg:工程模式

    \alps\vendor\mediatek\proprietary\packages\apps\EngineerMode
    

    26、Launcher3的添加所在目录:

    \alps\device\mediatek\mt8163\device.mk

    27、apn配置文件所在目录:

    \alps\device\generic\goldfish\data\etc\apns-conf.mk


    28、GMS包接口所在目录:

    \alps\device\mediatek\common\device.mk

    29、可以在该目录下添加.jar和.so库(gms需要的库可在此添加)

    eg:\alps\vendor\**\libs\**\com.google.widevine.software.drm\com.google.widevine.software.drm.jar


    30、hotseat布局排版,所在目录:default_workspace_5x6

    \alps\device\mediatek\common\overlay\wifi\packages\apps\Launcher3\res\xml\default_workspace_5x6.xml

    31、工程测试模式指令(暗码)  

    在\alps\frameworks\base\telephony\java\com\android\internal\telephony\TelephonyIntents.java 有接口(android.provider.Telephony.SECRET_CODE)
    在packages/services/telephony/src/com/android/phone/SpecialCharSequenceMgr.java的handleSecretCode方法中对暗码就行了处理
    \alps\vendor\mediatek\proprietary\packages\apps中添加FactoryMode,并在\alps\device\mediatek\common\device.mk文件中添加FactoryMode,
    报莫名其妙的错误(后来问同事发现 , 必须对新增类中的函数或成员变量如果是public的话必须添加 /**{@hide}*/ 修饰. )
    可在计算器中用如下demo进行暗码调用

     if(text.contains("(2586)")) {
    				// mDisplay.setText(mResult, scroll);
    				// setDeleteMode(DELETE_MODE_CLEAR);
    				int len = text.length();
    				// Intent intent = new Intent(TelephonyIntents.SECRET_CODE_ACTION,Uri.parse("android_secret_code://" + text.substring(1, len - 1)));
    				Intent intent = new Intent("android.provider.Telephony.SECRET_CODE",Uri.parse("android_secret_code://" + text.substring(1, len - 1)));
    				mContext.sendBroadcast(intent);
    				return;
                }
    接收在Settings.java的   

     <receiver android:name="TestingSettingsBroadcastReceiver">
                <intent-filter>
                     <action android:name="android.provider.Telephony.SECRET_CODE" />
                     <data android:scheme="android_secret_code" android:host="4636" />
                </intent-filter>
           </receiver>
    

    也可以自己写apk直接调用工厂模式:

    Intent intent=new Intent();
    intent.setComponent(new ComponentName("com.mediatek.engineermode", "com.mediatek.engineermode.EngineerMode"));
    startActivity(intent);


    31、Launcher3中,android.mk文件中加入LOCAL_PRIVILEGED_MODULE := true,才能使Launcher3添加appwidget有效


    32、Launcher3 桌面横屏显示:

    1).修改AndroidManifest.xml
          

     <activity
    android:name="com.android.launcher3.Launcher"
     android:launchMode="singleTask"
     android:clearTaskOnLaunch="true"
     android:stateNotNeeded="true"
     android:theme="@style/Theme"
     android:configChanges="mcc|mnc"
     android:windowSoftInputMode="adjustPan"
     android:screenOrientation="sensor"> <!--modify to sensor -->

    2).修改Utilities.java的isRotationEnabled方法
       public static boolean isRotationEnabled(Context c) 
    
    
          {
                return true;//直接返回true
            }
    此时旋转手机,Launcher会横竖屏切换。但hotseat会显示在屏幕的右方。如果要让hotseat显示在屏幕底部,可以按照如下步骤操作:

    3).修改res/values/config.xml

     <!--hotseat --> 
        <bool name="hotseat_transpose_layout_with_orientation">false</bool> <!--改为false-->
    

    4).修改Hotseat.java的onFinishInflate方法
         @Override
         protected void onFinishInflate() {
    
    
     super.onFinishInflate();
     LauncherAppState app = LauncherAppState.getInstance();
     DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
     
    mAllAppsButtonRank = grid.hotseatAllAppsRank;
     mContent = (CellLayout) findViewById(R.id.layout);
     if (grid.isLandscape && !grid.isLargeTablet()) {
     mContent.setGridSize((int) grid.numHotseatIcons, 1); //modify
     } else {
     mContent.setGridSize((int) grid.numHotseatIcons, 1);
     }
     mContent.setIsHotseat(true);
     Log.i(TAG, "onFinishInflate,(int) grid.numHotseatIcons: " + (int) grid.numHotseatIcons);
     resetLayout();
     }
    

    33、电池曲线修改目录:

    \alps\kernel-3.10\drivers\misc\mediatek\mach\..\..\power\cust_battery_meter_table.h

    34、配置内存大小:

    excel表格对应位置:

    \alps\bootable\bootloader\preloader\tools\emigen\..\MemoryDeviceList_MT8163.xls
    \alps\bootable\bootloader\preloader\custom\..\inc\custom_MemoryDevice.h  
    添加 #define CS_PART_NUMBER[1]      H5TC4G63AFR-PBA

    35、变化设备屏幕尺寸:

    \alps\kernel-3.10\arch\arm64\configs\**_e_debug_defconfig.mk
    \alps\device\..\..\ProjectConfig.mk



        

    展开全文
  • 虚拟机克隆后需要修改项

    千次阅读 2018-06-05 11:22:42
    先停止keepalived systemctl stop keepalived 更改root密码 ...#passwd ...#vncpasswd 修改服务器名称 hostnamectl set-hostname server881052 vi /etc/hosts keepalived都绑定ip:将网卡设为混杂模式 ip...
    先停止keepalived
    systemctl stop keepalived
    更改root密码
    登录到root用户下sudo passwd root(用户名)
    #passwd  
    更改vnc密码
    #vncpasswd 
    修改服务器名称
    hostnamectl set-hostname server881052
    vi /etc/hosts
    
    keepalived都绑定ip:将网卡设为混杂模式
    ip a ///查看网卡名
    ifconfig eno16777984 promisc  // eno16777984 根据网卡名修改
    systemctl restart network
    出现错误处理方式:
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    重启服务器
    systemctl start NetworkManager
    
    开组播:firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface eno16777984 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
    firewall-cmd --reload
    
    关闭selinux
    vi /etc/selinux/config
    修改selinux=disabled
    重启
    
    修改keepalived日志
    vim /etc/rsyslog.conf
    添加 local0.*        /home/log/keepalived/keepalived.log
    
    
    其他电脑部署
    scp -r /etc/keepalived/* root@172.69.1.203:/etc/keepalived/
    keepalive scripts中的sh文件要chmod 777 *.*<<chmod 777 /etc/keepalived/scripts>>
    备机修改/etc/keepalived/keepalived.conf      priority 90  virtual_router_id 244 #虚拟IP(0-255)
    正式机虚拟 virtual_router_id从50开始
    修改redis密码 /usr/local/redis/redis.conf       requirepass=redis244              masterauth=redis244
    备机要修改slaveof为主机ip,主机注释掉这一项
    备机修改/etc/keepalived/scripts      redis_master.sh和redis_backup.sh slaveof 均为主机ip 主机改为备机ip
    修改service_check.sh中redis密码
    修改 vim /usr/lib/systemd/system/redis.service 中的redis停止密码 ,参数-a 
    修改atlas配置/usr/local/mysql-proxy/conf/my.cnf
    正式机必须改
    #管理接口密码
    admin-password = Admin8810203
    #数据库连接密码
    pwds = root:la1Ux+Bu4zo=
    proxy-address = 0.0.0.0:1234 
    admin-address = 0.0.0.0:2345
    开1234端口
    firewall-cmd --add-port=1234/tcp --permanent
    firewall-cmd --reload
    添加mkdir /home/log/atlas 文件夹
    
    tomcat要开启apr模式,参见Tomcat目录下的开启apr模式文章
    修改vi /usr/local/tomcat/conf/context.xml 中redis密码
    修改vi /usr/local/tomcat/conf/server.xml 
    
    cas的nginx一定要用带sticky插件的,可复制172.69.1.202、203 /usr/local/nginx-1.12中的
    修改/usr/local/nginx/conf.d/*.conf 文件 中 upstream 服务器ip server_name域名
    如果用到websocket 在location中添加
     # WebSocket support
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
    
    修改tomcat数据库及url连接
    修改/usr/local/tomcat/conf/server.xml 更改默认文档
    <Context   path="/"   docBase="/usr/local/tomcat/webapps/amo"   reloadable="true"   debug="0"></Context>
    
    jdbc连接要用atlas连接端口如 ip:1234
    cas 修改/usr/local/tomcat/webapps/ssocas/WEB-INF/classes/application.properties文件的数据库连接及redis服务器地址和密码
    
    创建日志目录
    mkdir /home/log/mysqllog
    mkdir /home/log/mysqllog/mysql-bin
    修改vi /etc/my.cnf 
    #设置服务器ID(1到232-1),不能重复,用ip最后一段,测试机从200开始,正式机从50,100开始
    #重点注意,如果是新数据库需要复制其他数据库的数据,server-id不能再用原来的id
    #参考http://www.cnblogs.com/gomysql/p/5852607.html
    server-id = 209 
    #所有日志文件改到日志目录/home/log/mysqllog
    修改tomcat日志文件夹权限
    cd /home/log/mysqllog
    chown -R mysql:mysql ./
    vi /home/log/mysqllog/log.log
    chown -R mysql:mysql  /home/log/mysqllog/log.log
    chmod 777 /home
    chmod 777 /home/log
    chmod 777  /home/log/mysqllog/log.log
    chgrp -R mysql  /home/log/mysqllog
    
    删除/usr/local/mysql/data下的所有东西
    创建mysql服务:/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    启动mysql服务:mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
    mysql -uroot -p
    在日志中找到初始密码
    SET PASSWORD FOR root@localhost= PASSWORD('admin');
    
    **mysql8.0以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,然后再授权,命令如下:**
    

    mysql> CREATE USER ‘root’@‘172.69.6.163’ IDENTIFIED BY ‘Admin20190702’;
    Query OK, 0 rows affected (0.04 sec)

    mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘172.69.6.163’ WITH GRANT OPTION;
    Query OK, 0 rows affected (0.03 sec)

    mysql>flush privileges;

    mysql8.0以前的版本命令:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    给指定ip连接数据库权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.69.6.163'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    
    收回权限:revoke ALL PRIVILEGES ON *.* from 'root'@'172.69.6.163';
    flush privileges;
    在主服务器上创建拥有复制权限的帐户:
    mysql –uroot -p
    mysql>GRANT replication slave,replication client ON *.* TO 'repuser'@'172.69.1.244' IDENTIFIED BY 'repadmin';
    FLUSH PRIVILEGES;
    SHOW MASTER STATUS;  #记录下当前主服务器所使用的二进制文件及position
    
    在从服务器上操作,从服务器连接主服务器、启动复制线程
    mysql> change master to master_host='172.88.10.103',master_user='repuser',master_password='repadmin',master_log_file='mysql-bin.000001',master_log_pos=0; #这里的偏移量指定为“0”,零表示从开二进制日志的开头开始进行复制
    mysql> SHOW SLAVE STATUS\G #查看slave的状态信息,IO thread和sql thread线程都还没有启动
    mysql> START SLAVE;  #启动复制线程
    mysql> SHOW SLAVE STATUS\G  #两个线程已启动
    
    设置mysql备份
    修改/home/data_backup/mysql_scripts/mysql_databak.sh
    参看mysql备份并自动上传,在ftp服务器建目录,修改脚本中的ftp文件夹名称和备份的数据库名称
    设置各项自动重启
    参见系统自动启动文档
    
    重启tomcat redis nginx keepalived
    重启服务器
    systemctl restart redis
    systemctl restart nginx
    systemctl restart rsyslog
    systemctl restart keepalived
    systemctl restart mysql
    systemctl restart tomcat
    
    
    展开全文
  • 2、联动效果实现后,更换第一个combox控件的值时,系统提示“设置 DataSource 属性后无法修改项集合”的错误问题。自己在网上查了很多,最终还是解决了以上问题需求描述:实现两个combox控件的联动功能,例如:...

    最近自己在编写一个Winform的测试管理工具,遇到两个问题:1、两个combox控件的联动;2、联动效果实现后,更换第一个combox控件的值时,系统提示“设置 DataSource 属性后无法修改项集合”的错误问题。自己在网上查了很多,最终还是解决了以上问题

    需求描述:实现两个combox控件的联动功能,例如:combox1有“瀑布式”、“迭代式”两个选项,combox2根据combox1的数据在数据库中查询,然后绑定到combox2,第一次选择combox1的值时,combox2的值有正确绑定,但再次更改combox1的值时,系统就报“设置 DataSource 属性后无法修改项集合”的错误

    解决方法:

    问题一:通过combox控件的SelectedIndexChanged方法实现多个下拉控件的数据联动

    问题二:由于DataSet 默认为空引用,因此在清除下拉列表项的时候首先需将ComboBox.DataSource付空值“null”。

    代码如下:

    /// <summary>
    /// 项目类型选值
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void cbProType_SelectedIndexChanged(object sender, EventArgs e)
    {
        ProStageData(cbProStage, cbProType.Text);
    }
    
    /// <summary>
    /// 获取项目阶段数据
    /// </summary>
    /// <param name="box">ComboBox类型控件名称</param>
    /// <param name="ProType">项目类型</param>
    private static void ProStageData(ComboBox box,string ProType)
    {
        CtbProStageBLL CproStage = new CtbProStageBLL();
        List<CtbProStage> cProStageList = new List<CtbProStage>();
        cProStageList = CproStage.GetModelList(" ProType='" + ProType + "'");
    
          ///清空节点
         box.DataSource = null;
          box.Items.Clear();
          List<CtbProStage> clist = new List<CtbProStage>();
    
          //使其Combox的第一项为空值
          CtbProStage pf = new CtbProStage();
          pf.ProStageName = "";
          clist.Add(pf);
    
          ///添加一级节点
          foreach (var prostage in cProStageList)
          {   ///创建节点
              CtbProStage pg = new CtbProStage();
              pg.ProStageName = prostage.ProStageName;
              clist.Add(pg);
           }
    
           box.DataSource = clist;
           box.DisplayMember = "ProStageName";
    }
    展开全文
  • 因为我不想手动绑定ListBox中的Item就使用了DataSource,但是当我进行一些添加、删除操作时就报了这个错“设置DataSource属性后无法修改项集合”。实在太恶心了,不知道设计ListBox的人是怎么想的给了DataSource属性...
  • 解决办法:先往数据集添加“全部”,再给下拉框绑值
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 这时[菜单1]与[菜单2]只是在一级菜单中,而[菜单]则是一个没有下级菜单的空. 3.根据BOOL变量来控制是否选中该 刚开始建立菜单的时候可以设置它的初始状态,比如初始状态未选中,当右键单击该的时候, ...
  • 修改Ubuntu启动

    千次阅读 2018-10-27 21:57:59
    修改Ubuntu启动 Grub Ubuntu下grub配置详解 安装Ubuntu之后没有看到Ubuntu引导的选项,希望能够看到这个界面。 /boot/grub /etc/default/grub GNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序. GRUB...
  • 修改grub 启动

    千次阅读 2016-01-15 09:04:33
    1 最简单方法,装个软件,图形化操作。sudo apt-get install startupmanager安装启动管理器 系统——系统管理——启动管理器,后面不解释。...我们经常希望把Windows调整到靠前的位置,可能还会修改默认的启动
  • springboot内置tomcat修改配置

    万次阅读 2017-12-23 15:49:15
    springboot内置tomcat修改配置
  • Ubuntu启动项修改

    万次阅读 2017-04-23 11:27:38
    GRUB_DEFAULT代表的就是启动的顺序,从数字0开始,依次代表如下启动。 如果你的电脑显示器显示的启动列表内容如下时: Ubuntu Advanced options for Ubuntu Memory test (memtest86+) Memory test ...
  • Ubuntu修改Grub引导

    千次阅读 2018-11-30 19:15:22
    Ubuntu修改Grub启动 sudo gedit /etc/default/grub 参数: GRUB_DEFAULT:默认启动,按列表的顺序,从0开始 GRUB_TIMEOUT:启动选择超时时间
  • 修改grub启动

    千次阅读 2011-07-14 20:31:37
    2.修改 /etc/grub.d/ 中启动的顺序,将你想要默认启动的顺序设置为6-9之间较小的值。优点是修改不会被"update-grub"命令覆盖掉,只有另外的程序修改为比你的值更小了才会成为默认启动。   例如想把其他分区中...
  • Linux默认启动项修改

    千次阅读 2018-12-13 11:47:39
    1、如下图,当前系统有四个启动修改默认启动为kernel版本为4.19 2、确认当前系统启动 more /etc/grub2.cfg menuentry 'CentOS Linux (4.19.8-1.el7.elrepo.x86_64) 7 (Core)' --class cenos menuentry '...
  • 如何修改ubuntu 的Grub来修改启动

    万次阅读 2012-08-09 13:57:58
    最近给服务器安装了Xen,需要修改grub启动,正好借此机会来学习一下。 基本文件 在ubuntu中不能通过修改menu.lst文件来修改启动配置了,grub2主要包含  1. /boot/grub/grub.cfg 文件  2. /etc/grub.d/ 文件夹...
  • linux修改启动

    千次阅读 2011-07-10 20:16:43
    查看启动:chkconfig --list增加启动:chkconfig –add mysqld startChkconfig –add httpd startChkconfig –level 5 httpd onChkconfig –level 5 iptables offC
  • 修改grub默认启动

    2018-09-03 23:31:53
    cd到/boot/grub目录 打开grub.cfg 找到这个 : 看到最后的set default = "2" : (2的意思是默认启动第三个选项,自行修改为想要的启动保存即可)  
  • 修改Grub默认启动

    万次阅读 2017-11-17 09:38:09
    一般情况下,有人可能直接修改GRUB配置文件“/boot/grub/grub.cfg”,但使用“sudu vim /boot/grub/grub.cfg”发现提示这个是系统自动生成的文件,不建议直接编辑,而应该到“/etc/grub.d”和“/etc/default/grub”...
  • easyBCD修改系统启动

    千次阅读 2017-10-24 14:23:00
    easyBCD系统启动
  • win10修改启动

    千次阅读 2017-03-04 19:21:28
    在win10下传统打开CMD 是无法编辑BCDedit 需要按 Win+X+Shift+A 以管理员的...bcdedit /delete+空格+标识符(注意需要加{里面是一串数字或者是default}) 忠告:千万别把自己需要的启动删除 在win7或者之前的系统 ...
  • 动态修改php的配置

    2016-09-05 19:10:36
    我们一般修改php的配置都是在php.ini中修改。在php,ini中的修改会影响到所有使用php的程序。假如我想让修改只在某个域名下生效,该如何做呢?使用ini_set() 首先想到的可能是使用ini_set()方法在脚本中修改。但是...
  • linux系统修改启动

    2012-08-23 11:19:53
    linux修改启动 配置文件路径:/boot/grub/grub.conf 相关命令: [root@localhost grub]# pwd /boot/grub [root@localhost grub]# vi grub.conf # grub.conf generated by anaconda # # Note that you do...
  • 假设现在配置文件中有一个配置 ...现在要修改其中的配置 config_a 将需要修改的配置重新声明一个数组保存: $arr = [ 'config_a' => false; ]; 然后把这个数组和引用的配置文件数组合并到一起 $file = i
  • Ubuntu如何修改grub启动

    千次阅读 2019-10-04 16:55:37
    Ubuntu如何修改GRUB启动 本篇博客的实验环境为Ubuntu18.04环境 本篇博客仅仅从GRUB文档的很少一部分来说明,本人对于GRUB操作文档也没有精读,所以有不正确之处还请读者说明。GRUB的操作说明使用命令: info -f ...
  • 双系统修改开机默认引导

    万次阅读 2018-07-12 10:47:33
    方案一:bios修改默认启动windows 系统:win10 + centos7 主板:华硕w55xj 开机按esc,查看启动顺序,发现这里第一个是centos(p0),第二个是...进入bios,修改启动优先级,修改成第一个是windows,第二个是ce...
  • 修改RedHat启动

    千次阅读 2015-06-07 20:45:55
    命令:vim /etc/grub.conf grub.conf generated by anaconda ...# Note that you do not have to rerun grub after making changes to this file ...# NOTICE: You have a /boot partition....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,640
精华内容 17,456
关键字:

修改项