Imshoo

独学で勉強しているプログラミングのメモ

apt-get upgradeで大量のエラーが発生したときの話


OS:Linux Mint 19

apt-get upgradeをしたら途中で大量のエラーが発生して処理が止まった。

gconf2
gconf2
gconf2
gconf2
gconf2
gconf2
gconf2...

gconf2ってなんだろう... よくわからないけど調べてみたらこちらの記事を発見。
https://qiita.com/yukari-n/items/d1b17bd37036f120153c

この記事の中で言っているようにまずはエラーの原因を探るためにコマンドを試す

sudo dpkg --audit

すると大量の文字列が出力された。

以下のパッケージは展開されましたが、まだ設定されていません。
これらのパッケージが正常に動作するためには、dpkg --configure か
dselect の設定 (configure) メニューオプションを使って設定を完了
させなければなりません:
 apt-utils            package management related utility programs
 bluez                Bluetooth tools and daemons
 bzip2                high-quality block-sorting file compressor - utilities
 console-setup        console font and keymap setup program
 console-setup-linux  Linux specific part of console-setup
 cups                 Common UNIX Printing System(tm) - PPD/driver support, web
 cups-browsed         OpenPrinting CUPS Filters - cups-browsed
 cups-bsd             Common UNIX Printing System(tm) - BSD commands
 cups-client          Common UNIX Printing System(tm) - client programs (SysV)
 cups-common          Common UNIX Printing System(tm) - common files
 cups-core-drivers    Common UNIX Printing System(tm) - driverless printing
 cups-daemon          Common UNIX Printing System(tm) - daemon
 cups-filters         OpenPrinting CUPS Filters - Main Package
 cups-filters-core-drivers OpenPrinting CUPS Filters - Driverless printing
 cups-ipp-utils       Common UNIX Printing System(tm) - IPP developer/admin uti
 cups-ppdc            Common UNIX Printing System(tm) - PPD manipulation utilit
 cups-server-common   Common UNIX Printing System(tm) - server common files
 dbus-user-session    simple interprocess messaging system (systemd --user inte
 dbus-x11             simple interprocess messaging system (X11 deps)
 debconf-i18n         full internationalization support for debconf
 dirmngr              GNU privacy guard - network certificate management servic
 ghostscript          interpreter for the PostScript language and for PDF
 ghostscript-x        interpreter for the PostScript language and for PDF - X11
 gir1.2-polkit-1.0    GObject introspection data for PolicyKit
 gnupg                GNU privacy guard - a free PGP replacement
 gnupg-l10n           GNU privacy guard - localization files
 gnupg-utils          GNU privacy guard - utility programs
 google-chrome-stable The web browser from Google
 gpg                  GNU Privacy Guard -- minimalist public key operations
 gpg-agent            GNU privacy guard - cryptographic agent
 gpg-wks-client       GNU privacy guard - Web Key Service client
 gpg-wks-server       GNU privacy guard - Web Key Service server
 gpgconf              GNU privacy guard - core configuration utilities
 gpgsm                GNU privacy guard - S/MIME version
 imagemagick-6-common image manipulation programs -- infrastructure
 init                 metapackage ensuring an init system is installed
 keyboard-configuration system-wide keyboard preferences
 kmod                 tools for managing Linux kernel modules
 language-pack-en     translation updates for language English
 language-pack-gnome-en GNOME translation updates for language English
 language-pack-gnome-ja GNOME translation updates for language Japanese
 language-pack-ja     translation updates for language Japanese
 libasound2:amd64     shared library for ALSA applications
 libasound2-data      Configuration files and profiles for ALSA drivers
 libatomic1:amd64     support library providing __atomic built-in functions
 libavahi-glib1:amd64 Avahi GLib integration library
 libcc1-0:amd64       GCC cc1 plugin for GDB
 libcupscgi1:amd64    Common UNIX Printing System(tm) - CGI library
 libcupsfilters1:amd64 OpenPrinting CUPS Filters - Shared library
 libcupsimage2:amd64  Common UNIX Printing System(tm) - Raster image library
 libcupsmime1:amd64   Common UNIX Printing System(tm) - MIME library
 libcupsppdc1:amd64   Common UNIX Printing System(tm) - PPD manipulation librar
 libdw1:amd64         library that provides access to the DWARF debug informati
 libegl1-mesa:amd64   transitional dummy package
 libelf1:amd64        library to read and write ELF files
 libfontembed1:amd64  OpenPrinting CUPS Filters - Font Embed Shared library
 libgl1:amd64         Vendor neutral GL dispatch library -- legacy GL support
 libgles2:amd64       Vendor neutral GL dispatch library -- GLESv2 support
 libglib2.0-bin       Programs for the GLib library
 libglib2.0-data      Common files for GLib library
 libglx-mesa0:amd64   free implementation of the OpenGL API -- GLX vendor libra
 libglx0:amd64        Vendor neutral GL dispatch library -- GLX support
 libgnomekbd8:amd64   GNOME library to manage keyboard configuration - shared l
 libgomp1:amd64       GCC OpenMP (GOMP) support library
 libgs9:amd64         interpreter for the PostScript language and for PDF - Lib
 libgs9-common        interpreter for the PostScript language and for PDF - com
 libitm1:amd64        GNU Transactional Memory Library
 libldb1:amd64        LDAP-like embedded database - shared library
 liblsan0:amd64       LeakSanitizer -- a memory leak detector (runtime)
 libmagickcore-6.q16-3:amd64 low-level image manipulation library -- quantum depth Q1
 libmagickwand-6.q16-3:amd64 image manipulation library -- quantum depth Q16
 libmpx2:amd64        Intel memory protection extensions (runtime)
 libnss-myhostname:amd64 nss module providing fallback resolution for the current 
 libnss-systemd:amd64 nss module providing dynamic user and group name resoluti
 libnss3:amd64        Network Security Service libraries
 libntfs-3g88         read/write NTFS driver for FUSE (runtime library)
 libpoppler-glib8:amd64 PDF rendering library (GLib-based shared library)
 libpoppler73:amd64   PDF rendering library
 libpython2.7:amd64   Shared Python runtime library (version 2.7)
 libpython3.6:amd64   Shared Python runtime library (version 3.6)
 libquadmath0:amd64   GCC Quad-Precision Math Library
 libsane-common       API library for scanners -- documentation and support fil
 libsane1:amd64       API library for scanners
 libsmbclient:amd64   shared library for communication with SMB/CIFS servers
 libtsan0:amd64       ThreadSanitizer -- a Valgrind-based detector of data race
 libwbclient0:amd64   Samba winbind client library
 libxcb-glx0:amd64    X C Binding, glx extension
 ntfs-3g              read/write NTFS driver for FUSE
 poppler-utils        PDF utilities (based on Poppler)
 python-apt           Python interface to libapt-pkg
 python-ldb:amd64     Python bindings for LDB
 python-samba         Python bindings for Samba
 python3-gi-cairo     Python 3 Cairo bindings for the GObject library
 samba-common         common files used by both the Samba server and client
 samba-common-bin     Samba common files used by both the server and the client
 samba-libs:amd64     Samba core libraries
 sane-utils           API library for scanners -- utilities
 ubuntu-drivers-common Detect and install additional Ubuntu driver packages
 udev                 /dev/ and hotplug management daemon
 uuid-runtime         runtime components for the Universally Unique ID library
 wget                 retrieves files from the web
 xserver-common       common files used by various X servers
 xserver-xorg-core    Xorg X server - core server
 xserver-xorg-legacy  setuid root Xorg server wrapper

以下のパッケージは、ほかのパッケージによって活性化されるトリガ処理を待っ
ています。この処理は dselect または dpkg --configure --pending (あるい
は dpkg --triggers-only) の利用で要求できます。
 libgnomekbd-common   GNOME library to manage keyboard configuration - common f

以下のパッケージはトリガされましたが、トリガ処理はまだ完了していません。
トリガ処理は dselect または dpkg --configure --pending (あるいは dpkg
--triggers-only) の利用で要求できます。
 dbus                 simple interprocess messaging system (daemon and utilitie
 desktop-file-utils   Utilities for .desktop files
 doc-base             utilities to manage online documentation
 gconf2               GNOME configuration database system (support tools)
 initramfs-tools      generic modular initramfs generator (automation)
 install-info         Manage installed documentation in info format
 libc-bin             GNU C Library: Binaries
 libglib2.0-0:amd64   GLib library of C routines
 man-db               on-line manual pager
 mime-support         MIME files 'mime.types' & 'mailcap', and support programs
 systemd              system and service manager
 ufw                  program for managing a Netfilter firewall
 ureadahead           Read required files in advance

これを見てもさっぱりわかりませんが下のほうに

以下のパッケージは、ほかのパッケージによって活性化されるトリガ処理を待っ
ています。この処理は dselect または dpkg --configure --pending (あるい
は dpkg --triggers-only) の利用で要求できます。

と書いていたので試してみた。

dpkg --configure --pending

これが終わった後に再度upgradeする。

sudo apt-get upgrade

エラーがおきず無事にupgradeできた。

reactのプロジェクト作成時のメモ

create-react-appを使ってプロジェクトの作成

npx create-react-app プロジェクト名

typescriptを使う

npx create-react-app プロジェクト名 --typescript

scssを使う

まずcreate-react-appを使ってプロジェクトを作成する。
作成後プロジェクトにnode-sassを追加する。

yarn add node-sass --dev

あとはcssファイルの拡張子を.scssに変更するだけで使える。
App.css → App.scss

javascriptでインポートする場合

// javascript
import * as React from 'react';
import './App.scss';

yarn startの自動ビルドでscssのコンパイルもしてくれる。

テストツールのenzymeを使う

yarn add enzyme enzyme-adapter-react-16 --dev

typescriptを使用してる場合は型定義も追加する。
ついでにjestの型定義も追加しておく。

yarnd add @types/enzyme @types/enzyme-adapter-react-16 @types/jest --dev

routerを使う

yarn add react-router-dom

envファイルで環境変数を使う

プロジェクトルートに.envファイルを作成する
変数名の頭にREACT_APPとつけることによってJSから呼び出すことができるようになる。

// .env
REACT_APP_HELLO=hello
REACT_APP_WORLD=world
// javascript
console.log(process.env.REACT_APP_HELLO) // hello
console.log(process.env.REACT_APP_WORLD) // world