web-dev-qa-db-ja.com

安全に削除できるモジュールフォルダのリストを取得するにはどうすればよいですか?

最近、admin/modules/uninstallを使用して、不要なモジュールをたくさんアンインストールしました。
ここで、モジュールのどのフォルダーをsites/all/modulesから削除できるかを理解します。

drush pmiを試しましたが、情報が多すぎます。

安全に削除できるフォルダのリストを取得するにはどうすればよいですか?ドラッシュコマンドは何ですか?

7
Dimetry

これはLinuxマシンで動作します。しかし、Windowsでも同様のことができると思います。

次のコマンドを使用して、無効またはアンインストールされたモジュールのリストを取得します。

    drush pml --type=Module --status="disabled,not installed" --no-core 
--pipe | paste -s -d,

このようなコンマ区切りのリストが表示されます

    admin_toolbar,admin_toolbar_tools,features,features_ui,entity_browser,
entity_browser_example,config_update,content_types_full_export

アンインストールされたモジュールのみを削除する場合は、最初のクエリでステータスオプションから無効を削除できます。

アンインストールされたモジュールのコンマ区切りのリストを取得したら、次のようにdrush pmiクエリに渡すことができます。

drush pmi --format=csv --fields=path 
admin_toolbar,admin_toolbar_tools,features,features_ui,entity_browser,
entity_browser_example,config_update,content_types_full_export

あなたは出力を得るでしょう

modules/admin_toolbar
modules/admin_toolbar/admin_toolbar_tools
modules/features
modules/features/modules/features_ui
modules/entity_browser
modules/entity_browser/modules/example
modules/config_update
modules/features_modules/content_types_full_export

これを使用してフォルダを安全に削除できます:)

3
Gokul N K

これを使って:

drush pmi --fields=type,project,title,status,path --format=table|sort

これにより、5つの列を持つモジュールリストが得られます。

  • 最初はプロジェクトのタイプです:モジュールまたはテーマ。

  • 2つ目はモジュールプロジェクトです。たとえば、ビュー、logintoboggan、admin_menuなどです。

  • 3つ目はインストールステータスです。有効(使用中)、無効(使用されていませんが、DBに情報をインストール)、インストールされていません(まだインストールされていないか、すでにアンインストールされています)。

  • 4列目はモジュール名です。 drupal.orgからダウンロードしたモジュールには、複数のモジュールを含めることができます(ダウンロードしたモジュールがプロジェクトで、内側のモジュールが実際のモジュールです)。

  • 5番目の列は、モジュールへのパスです。

この情報を使用して、すべてのモジュールが「インストールされていない」状態にあるすべてのプロジェクト(2番目の列)を安全に削除できます。

たとえば、次のフラグメントリストを参照してください。

module  job_scheduler  Job Scheduler                enabled        sites/all/modules/contrib/job_scheduler                                                  
module  job_scheduler  Job Scheduler Trigger        not installed  sites/all/modules/contrib/job_scheduler/modules/job_scheduler_trigger                    
module  jquery_update  jQuery Update                enabled        sites/all/modules/contrib/jquery_update                                                  
module  l10n_client    Localization client          enabled        sites/all/modules/contrib/l10n_client                                                    
module  l10n_update    Localization update          enabled        sites/all/modules/contrib/l10n_update                                                    
module  languageicons  Language Icons               enabled        sites/all/modules/contrib/languageicons                                                  
module  ldap           LDAP Authentication          not installed  sites/all/modules/contrib/ldap/ldap_authentication                                       
module  ldap           LDAP Authorization - Roles   not installed  sites/all/modules/contrib/ldap/ldap_authorization/ldap_authorization_drupal_role         
module  ldap           LDAP Authorization           not installed  sites/all/modules/contrib/ldap/ldap_authorization                                        
module  ldap           LDAP Authorization - OG      not installed  sites/all/modules/contrib/ldap/ldap_authorization/ldap_authorization_og                  
module  ldap           LDAP Feeds                   not installed  sites/all/modules/contrib/ldap/ldap_feeds                                                
module  ldap           LDAP Help                    not installed  sites/all/modules/contrib/ldap/ldap_help                                                 
module  ldap           LDAP Query                   not installed  sites/all/modules/contrib/ldap/ldap_query                                                
module  ldap           LDAP Servers                 not installed  sites/all/modules/contrib/ldap/ldap_servers                                              
module  ldap           LDAP SSO                     not installed  sites/all/modules/contrib/ldap/ldap_sso                                                  
module  ldap           LDAP Test Module             not installed  sites/all/modules/contrib/ldap/ldap_test                                                 
module  ldap           LDAP User Module             not installed  sites/all/modules/contrib/ldap/ldap_user                                                 
module  ldap           LDAP Views                   not installed  sites/all/modules/contrib/ldap/ldap_views                                                
module  libraries      Libraries                    enabled        sites/all/modules/contrib/libraries 

すべてのモジュールがインストールされていないが、モジュールの1つが有効になっているためジョブスケジューラではないため、ldapモジュールを安全に削除できます。

8
sanzante

そのdrushコマンドをフィルタリングする方法について2つの提案があります。 1つはパイプとgrepを使用する方法です。もう1つは、オプション引数を使用する方法です。

まず、drush pml(小文字の「I」ではなく小文字の「L」)が必要だと思います。

(1)パイプとGrep以下のコマンドを参照して、ステータスが「未インストール」のすべてを一覧表示します。以下は、サイトの状況をよりよく把握するのに役立ちます。たとえば、私の開発ボックスには「インストールされていません」というものがあります。

$ drush pml | grep 'Not installed' | grep -v Core
 Administration                       Actions permissions (VBO) (actions_permissions)               Module  Not installed  7.x-3.2        
 BackgroundField                      BackgroundField (backgroundfield)                             Module  Not installed  7.x-1.5        
 Chaos tool suite                     Better Jump Menus (jump_menu)                                 Module  Not installed  7.x-1.4        
 Chaos tool suite                     Chaos Tools (CTools) AJAX Example (ctools_ajax_sample)        Module  Not installed  7.x-1.6        
 Chaos tool suite                     Chaos Tools (CTools) Plugin Example (ctools_plugin_example)   Module  Not installed  7.x-1.6        
 Chaos tool suite                     Custom content panes (ctools_custom_content)                  Module  Not installed  7.x-1.6        
 Chaos tool suite                     Custom rulesets (ctools_access_ruleset)                       Module  Not installed  7.x-1.6        
 Chaos tool suite                     Page manager existing pages (pm_existing_pages)               Module  Not installed  7.x-1.4        
 Chaos tool suite                     Stylizer (stylizer)                                           Module  Not installed  7.x-1.6        
 Chaos tool suite                     Term Depth access (term_depth)                                Module  Not installed  7.x-1.6        
 Chaos tool suite                     Views content panes (views_content)                           Module  Not installed  7.x-1.6        

それは個別に撮影された

drush pml \               # Shows table of modules/themes and their status
| grep 'Not installed' \  # Filters for any line WITH 'Not installed'
| grep -v Core            # Filters OUT any line containing string 'Core'

あなたも次のことができると仮定すると:

$ drush pml  | grep 'Enabled'
$ drush pml  | grep 'Disabled'

(2)drush pmlのオプション引数あり

また、drush pmlコマンドのさまざまな引数を使用して、これを少し変えることもできます。

$ drush help pml
Show a list of available extensions (modules and themes).

Options:
 --core                                    Filter out extensions that are not in drupal core.                                             
 --no-core                                 Filter out extensions that are provided by drupal core.                                        
 --package                                 Filter by project packages. You can use multiple comma separated values. (i.e. --package="Core 
                                           - required,Other").                                                                            
 --pipe                                    Returns a whitespace delimited list of the names of the resulting extensions.                  
 --status=<disabled>                       Filter by extension status. Choices: enabled, disabled and/or 'not installed'. You can use     
                                           multiple comma separated values. (i.e. --status="disabled,not installed").                     
 --type=<module>                           Filter by extension type. Choices: module, theme.       

たとえば、

$ drush pml --no-core --status="not installed" --type=module
 Package                                Name                                                                     Version             
 Administration                         Actions permissions (VBO) (actions_permissions)                          7.x-3.2             
 BackgroundField                        BackgroundField (backgroundfield)                                        7.x-1.5             
 Chaos tool suite                       Better Jump Menus (jump_menu)                                            7.x-1.4             
 Chaos tool suite                       Chaos Tools (CTools) AJAX Example (ctools_ajax_sample)                   7.x-1.6

***Note and caution:***  Always try this stuff on a development or vagrant box first. NEVER blindly do this to a production box.
2
Rick

DBをクエリすることもできます。

無効になっているがアンインストールされていないモジュールのリスト(コードベースから削除できません)

drush sqlq "select name from system where type = 'module' and status = 0 and schema_version NOT IN (0, -1)"

無効およびアンインストールされたモジュールのリスト(コードベースから削除可能)

drush sqlq "select name from system where type = 'module' and status = 0 and schema_version IN (0, -1)"
2
Rafal Enden