k1l.me

Dez 22, 2020

wieder nextcloud - 4byte support

Weil nextcloud mal wieder über ~~fehlende Indexe~~ fehlenden 4byte Support für Emojis in Dateinamen und Kommentaren gemeckert hat hier mal kurz notiert, was man dann tun muss: (Ich wollte das ja schon länger mal angegangen sein) Anleitung in den Docs: https://docs.nextcloud.com/server/20/admin_manual/configuration_database/mysql_4byte_support.html

Zuallererst in den nextcloud Ordner gehen:

cd /var/www/nextcloud/

und als user www-data den Wartungsmodus anmachen:

k1l@server:/var/www/nextcloud$ sudo -u www-data php occ maintenance:mode --on
[sudo] Passwort für k1l: 
Maintenance mode enabled

Danach die mariadb config unter /etc/mysql/mariadb.conf.d/50-server.cnf diese Parameter mitgeben:

[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1

Dann mariadb neustarten:

sudo service mariadb restart

Jetzt in mysql einloggen:

sudo mysql -u root -p

Die Abfrage der eben mitgegebenen Parameter zur Sicherheit:

mysql> show variables like 'innodb_file_format';
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| innodb_file_format | Barracuda |
+--------------------+-----------+
1 row in set (0.00 sec)

und

mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)

Dann die Datenbank umstellen:

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Mit quit mysql verlassen. Danach muss noch der Kram in die Nextcloud config:

sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
Nextcloud is in maintenance mode - no apps have been loaded

System config value mysql.utf8mb4 set to boolean true

Dann wird noch das Umstellen mit dem repair Comand abgefeuert:

sudo -u www-data php occ maintenance:repair
Nextcloud is in maintenance mode - no apps have been loaded

- Repair MySQL collation
    - Change row format for oc_twofactor_backupcodes ...
    - Change collation for oc_twofactor_backupcodes ...
    - Change row format for oc_users_external ...
    - Change collation for oc_users_external ...
    - Change row format for oc_activity ...
    - Change collation for oc_activity ...
    - Change row format for oc_richdocuments_assets ...
    - Change collation for oc_richdocuments_assets ...
    - Change row format for oc_richdocuments_direct ...
    - Change collation for oc_richdocuments_direct ...
    - Change row format for oc_external_options ...
    - Change collation for oc_external_options ...
    - Change row format for oc_text_steps ...
    - Change collation for oc_text_steps ...
    - Change row format for oc_calendars ...
    - Change collation for oc_calendars ...
    - Change row format for oc_bruteforce_attempts ...
    - Change collation for oc_bruteforce_attempts ...
    - Change row format for oc_audioplayer_genre ...
    - Change collation for oc_audioplayer_genre ...
    - Change row format for oc_privatedata ...
    - Change collation for oc_privatedata ...
    - Change row format for oc_directlink ...
    - Change collation for oc_directlink ...
    - Change row format for oc_calendar_invitations ...
    - Change collation for oc_calendar_invitations ...
    - Change row format for oc_collres_resources ...
    - Change collation for oc_collres_resources ...
    - Change row format for oc_properties ...
    - Change collation for oc_properties ...
    - Change row format for oc_privacy_admins ...
    - Change collation for oc_privacy_admins ...
    - Change row format for oc_calendar_reminders ...
    - Change collation for oc_calendar_reminders ...
    - Change row format for oc_storages_credentials ...
    - Change collation for oc_storages_credentials ...
    - Change row format for oc_flow_operations ...
    - Change collation for oc_flow_operations ...
    - Change row format for oc_trusted_servers ...
    - Change collation for oc_trusted_servers ...
    - Change row format for oc_direct_edit ...
    - Change collation for oc_direct_edit ...
    - Change row format for oc_activity_mq ...
    - Change collation for oc_activity_mq ...
    - Change row format for oc_audioplayer_tracks ...
    - Change collation for oc_audioplayer_tracks ...
    - Change row format for oc_schedulingobjects ...
    - Change collation for oc_schedulingobjects ...
    - Change row format for oc_user_transfer_owner ...
    - Change collation for oc_user_transfer_owner ...
    - Change row format for oc_groups ...
    - Change collation for oc_groups ...
    - Change row format for oc_share ...
    - Change collation for oc_share ...
    - Change row format for oc_filecache ...
    - Change collation for oc_filecache ...
    - Change row format for oc_systemtag_object_mapping ...
    - Change collation for oc_systemtag_object_mapping ...
    - Change row format for oc_comments ...
    - Change collation for oc_comments ...
    - Change row format for oc_audioplayer_stats ...
    - Change collation for oc_audioplayer_stats ...
    - Change row format for oc_audioplayer_streams ...
    - Change collation for oc_audioplayer_streams ...
    - Change row format for oc_share_external ...
    - Change collation for oc_share_external ...
    - Change row format for oc_vcategory_to_object ...
    - Change collation for oc_vcategory_to_object ...
    - Change row format for oc_notifications_pushtokens ...
    - Change collation for oc_notifications_pushtokens ...
    - Change row format for oc_oauth2_access_tokens ...
    - Change collation for oc_oauth2_access_tokens ...
    - Change row format for oc_calendarobjects_props ...
    - Change collation for oc_calendarobjects_props ...
    - Change row format for oc_collres_accesscache ...
    - Change collation for oc_collres_accesscache ...
    - Change row format for oc_flow_operations_scope ...
    - Change collation for oc_flow_operations_scope ...
    - Change row format for oc_richdocuments_wopi ...
    - Change collation for oc_richdocuments_wopi ...
    - Change row format for oc_appconfig ...
    - Change collation for oc_appconfig ...
    - Change row format for oc_user_status ...
    - Change collation for oc_user_status ...
    - Change row format for oc_flow_checks ...
    - Change collation for oc_flow_checks ...
    - Change row format for oc_webauthn ...
    - Change collation for oc_webauthn ...
    - Change row format for oc_mimetypes ...
    - Change collation for oc_mimetypes ...
    - Change row format for oc_jobs ...
    - Change collation for oc_jobs ...
    - Change row format for oc_comments_read_markers ...
    - Change collation for oc_comments_read_markers ...
    - Change row format for oc_accounts ...
    - Change collation for oc_accounts ...
    - Change row format for oc_calendar_rooms ...
    - Change collation for oc_calendar_rooms ...
    - Change row format for oc_systemtag_group ...
    - Change collation for oc_systemtag_group ...
    - Change row format for oc_calendarchanges ...
    - Change collation for oc_calendarchanges ...
    - Change row format for oc_whats_new ...
    - Change collation for oc_whats_new ...
    - Change row format for oc_systemtag ...
    - Change collation for oc_systemtag ...
    - Change row format for oc_addressbooks ...
    - Change collation for oc_addressbooks ...
    - Change row format for oc_calendar_resources_md ...
    - Change collation for oc_calendar_resources_md ...
    - Change row format for oc_dav_cal_proxy ...
    - Change collation for oc_dav_cal_proxy ...
    - Change row format for oc_storages ...
    - Change collation for oc_storages ...
    - Change row format for oc_audioplayer_whats_new ...
    - Change collation for oc_audioplayer_whats_new ...
    - Change row format for oc_calendar_resources ...
    - Change collation for oc_calendar_resources ...
    - Change row format for oc_federated_reshares ...
    - Change collation for oc_federated_reshares ...
    - Change row format for oc_external_applicable ...
    - Change collation for oc_external_applicable ...
    - Change row format for oc_recent_contact ...
    - Change collation for oc_recent_contact ...
    - Change row format for oc_cards ...
    - Change collation for oc_cards ...
    - Change row format for oc_cards_properties ...
    - Change collation for oc_cards_properties ...
    - Change row format for oc_notifications ...
    - Change collation for oc_notifications ...
    - Change row format for oc_twofactor_providers ...
    - Change collation for oc_twofactor_providers ...
    - Change row format for oc_filecache_extended ...
    - Change collation for oc_filecache_extended ...
    - Change row format for oc_vcategory ...
    - Change collation for oc_vcategory ...
    - Change row format for oc_preferences ...
    - Change collation for oc_preferences ...
    - Change row format for oc_calendar_rooms_md ...
    - Change collation for oc_calendar_rooms_md ...
    - Change row format for oc_mounts ...
    - Change collation for oc_mounts ...
    - Change row format for oc_onlyoffice_filekey ...
    - Change collation for oc_onlyoffice_filekey ...
    - Change row format for oc_audioplayer_playlists ...
    - Change collation for oc_audioplayer_playlists ...
    - Change row format for oc_group_admin ...
    - Change collation for oc_group_admin ...
    - Change row format for oc_files_trash ...
    - Change collation for oc_files_trash ...
    - Change row format for oc_collres_collections ...
    - Change collation for oc_collres_collections ...
    - Change row format for oc_text_documents ...
    - Change collation for oc_text_documents ...
    - Change row format for oc_richdocuments_member ...
    - Change collation for oc_richdocuments_member ...
    - Change row format for oc_external_mounts ...
    - Change collation for oc_external_mounts ...
    - Change row format for oc_calendarsubscriptions ...
    - Change collation for oc_calendarsubscriptions ...
    - Change row format for oc_calendarobjects ...
    - Change collation for oc_calendarobjects ...
    - Change row format for oc_users ...
    - Change collation for oc_users ...
    - Change row format for oc_file_locks ...
    - Change collation for oc_file_locks ...
    - Change row format for oc_login_flow_v2 ...
    - Change collation for oc_login_flow_v2 ...
    - Change row format for oc_oauth2_clients ...
    - Change collation for oc_oauth2_clients ...
    - Change row format for oc_group_user ...
    - Change collation for oc_group_user ...
    - Change row format for oc_audioplayer_albums ...
    - Change collation for oc_audioplayer_albums ...
    - Change row format for oc_external_config ...
    - Change collation for oc_external_config ...
    - Change row format for oc_addressbookchanges ...
    - Change collation for oc_addressbookchanges ...
    - Change row format for oc_authtoken ...
    - Change collation for oc_authtoken ...
    - Change row format for oc_audioplayer_artists ...
    - Change collation for oc_audioplayer_artists ...
    - Change row format for oc_text_sessions ...
    - Change collation for oc_text_sessions ...
    - Change row format for oc_migrations ...
    - Change collation for oc_migrations ...
    - Change row format for oc_dav_shares ...
    - Change collation for oc_dav_shares ...
    - Change row format for oc_audioplayer_playlist_tracks ...
    - Change collation for oc_audioplayer_playlist_tracks ...
- Repair mime types
- Clean tags and favorites
    - 0 tags of deleted users have been removed.
    - 0 tags for delete files have been removed.
    - 0 tag entries for deleted tags have been removed.
    - 0 tags with no entries have been removed.
- Repair invalid shares
- Move .step file of updater to backup location
- Add move avatar background job
    - Repair step already executed
- Add preview cleanup background jobs
- Fix potential broken mount points
    - No mounts updated
- Repair language codes
- Install new core bundle components
- Add log rotate job
- Clear frontend caches
    - Image cache cleared
    - SCSS cache cleared
    - JS cache cleared
- Clear every generated avatar on major updates
- Add preview background cleanup job
- Queue a one-time job to cleanup old backups of the updater
- Cleanup invalid photocache files for carddav
- Add background job to cleanup login flow v2 tokens
- Remove potentially over exposing share links
    - No need to remove link shares.
- Clear access cache of projects
- Reset generated avatar flag
- Keep legacy encryption enabled
- Check encryption key format
- Remove old dashboard app config data
- Update name of the stored view
- Fix component of birthday calendars
    - 2 birthday calendars updated.
- Regenerating birthday calendars to use new icons and fix old birthday events without year
    - Repair step already executed
- Fix broken values of calendar objects
   0 [->--------------------------]
- Registering building of calendar search index as background job
    - Repair step already executed
- Registering background jobs to update cache for webcal calendars
    - Added 0 background jobs to update webcal calendars
- Registering building of calendar reminder index as background job
    - Repair step already executed
- Clean up orphan event and contact data
    - 0 events without a calendar have been cleaned up
    - 0 properties without an events have been cleaned up
    - 0 changes without a calendar have been cleaned up
    - 0 cached events without a calendar subscription have been cleaned up
    - 0 changes without a calendar subscription have been cleaned up
    - 0 contacts without an addressbook have been cleaned up
    - 0 properties without a contact have been cleaned up
    - 0 changes without an addressbook have been cleaned up
- Remove activity entries of private events
    - Removed 0 activity entries
- Fix the share type of guest shares when migrating from ownCloud
- Copy the share password into the dedicated column
- Set existing shares as accepted
- Update OAuth token expiration times
- Switches from default updater server to the customer one if a valid subscription is available
    - Repair step already executed
- Send an admin notification if monthly report is disabled
- Add background job to check for backup codes
- Populating added database structures for workflows

Zum Abschluss noch den Wartungsmodus abschalten:

sudo -u www-data php occ maintenance:mode --off
Maintenance mode disabled

Mai 11, 2020

nextcloud missing indices

Weil nextcloud mal wieder über fehlende Indexe gemeckert hat hier mal kurz notiert, was man dann tun muss:

In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von "occ db:add-missing-indices" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.

Fehlender Index "properties_path_index" in der Tabelle "oc_properties".

Also zuerst in den nextcloud Ordner gehen:

cd /var/www/nextcloud/

dann als user www-data den Befehl php occ db:add-missing-indices ausführen:

k1l@server:/var/www/nextcloud$ sudo -u www-data php occ db:add-missing-indices
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Check indices of the schedulingobjects table.
Check indices of the oc_properties table.  
Adding properties_path_index index to the oc_properties table, this can take some time...
oc_properties table updated successfully.

Danach soll das anzeigen von Ordnern mit sehr vielen Dateien um Faktor 10 schneller werden. Na mal sehen…

Apr 08, 2020

HDDs im ZFS Raidz1 mit größeren HHDs ersetzen

So langsam kam ich mit meinem ZFS Raid zraid1 bestehend aus 3 mal 2TB Platten an die Füllgrenze.

k1l@server:~$ sudo zpool list
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
data  5,44T  4,85T   604G         -    41%    89%  1.00x  ONLINE  -

Also mussten neue Platten her. Eigentlich wollte ich einfach vedoppeln, also anstatt der 2TB WD Red bisher 3 mal 4TB WD Reds nutzen. Allerdings sind diese sehr preisstabil bei 110 Euro. Ich habe jetzt stattdessen externe HDDs WD MyBook 8TB für 139Euro im Angebot gekauft. Dort sind WD Whitelables drin: WD80EZAZ. Das ist eine Mischung aus WD Red und älterer HGST Produktion. HDDs aus den Gehäusen ausgebaut und einzeln gegen die alten Platten ausgetauscht.

k1l@server:~$ sudo zpool status -v
  pool: data
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
    invalid.  Sufficient replicas exist for the pool to continue
    functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: resilvered 1,61T in 7h0m with 0 errors on Wed Apr  8 05:03:52 2020
config:

    NAME                                          STATE     READ WRITE CKSUM
    data                                          DEGRADED     0     0     0
      raidz1-0                                    DEGRADED     0     0     0
        ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M3SNXEF9  UNAVAIL      0   139     0  corrupted data
        ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1NN1HD9  ONLINE       0     0     0
        ata-WDC_WD80EZAZ-11TDBA0_1EHAJG2Z         ONLINE       0     0     0

Nach jedem Tausch muss man erst ZFS anweisen, die neue Platte anstatt der ausgebauten Platte einzubinden. Das ist genau so als wenn man eine kaputte Platte ersetzt.

k1l@server:~$ sudo zpool replace data ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M3SNXEF9 ata-WDC_WD80EZAZ-11TDBA0_1EHP91LZ -f

Sobald das resilvering fertig ist, 6-8 Stunden hier, kann man die nächste Platte austauschen.

k1l@server:~$ sudo zpool status -v
  pool: data
 state: ONLINE
  scan: resilvered 1,61T in 6h42m with 0 errors on Wed Apr  8 17:15:24 2020
config:

    NAME                                          STATE     READ WRITE CKSUM
    data                                          ONLINE       0     0     0
      raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD80EZAZ-11TDBA0_1EHP91LZ         ONLINE       0     0     0
        ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1NN1HD9  ONLINE       0     0     0
        ata-WDC_WD80EZAZ-11TDBA0_1EHAJG2Z         ONLINE       0     0     0

Am Ende wird bei ZFSonLinux allerdings trotz zpool set autoexpand=on pool nicht das Filesystem auf die neue Größe angepasst.

k1l@server:~$ sudo zpool list -v
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
data  5,44T  4,85T   604G         -    41%    89%  1.00x  ONLINE  -
  raidz1  5,44T  4,85T   604G     1,09G    41%    89%
    ata-WDC_WD80EZAZ-11TDBA0_1EHP91LZ      -      -      -         -      -      -
    ata-WDC_WD80EZAZ-11TDBA0_1EHKSU8Z      -      -      -         -      -      -
    ata-WDC_WD80EZAZ-11TDBA0_1EHAJG2Z      -      -      -         -      -      -

Man muss bei Linux erst noch einzeln jede Platte online -e setzen.

k1l@server:~$ sudo zpool online -e data ata-WDC_WD80EZAZ-11TDBA0_1EHP91LZ
k1l@server:~$ sudo zpool online -e data ata-WDC_WD80EZAZ-11TDBA0_1EHKSU8Z
k1l@server:~$ sudo zpool online -e data ata-WDC_WD80EZAZ-11TDBA0_1EHAJG2Z

Fertig ist die Laube:

k1l@server:~$ sudo zpool list -v
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
data  21,8T  4,85T  17,0T         -    10%    22%  1.00x  ONLINE  -
  raidz1  21,8T  4,85T  17,0T         -    10%    22%
    ata-WDC_WD80EZAZ-11TDBA0_1EHP91LZ      -      -      -         -      -      -
    ata-WDC_WD80EZAZ-11TDBA0_1EHKSU8Z      -      -      -         -      -      -
    ata-WDC_WD80EZAZ-11TDBA0_1EHAJG2Z      -      -      -         -      -      -

Dez 04, 2018

nextcloud bug

Weil ich gerade wieder nachgucken musste, wie ich denn jetzt mit der CLI das Nextcloud aktualisiere (da ich von dem Bug betroffen bin ):

In den Unterordner updater gehen:

cd /var/www/nextcloud/updater

dann als user www-data den Befehl php updater.phar ausführen:

sudo -u www-data php updater.phar

Dann hat man einen interaktiven Updater wie auf der Weboberfläche.

Nov 25, 2017

Sep 07, 2017

Kaputte HDD im ZFS Raidz1 ersetzen

In meinem Homeserver nutze ich ja ubuntu mit einem ZFS Raid für die Datenplatten. Der Vorteil des ZFS Raidz1 aus 3 Platten ist ja, dass eine Platte ausfallen kann und die Daten so aufgeteilt sind, dass man die Platte ersetzt und es keinen Datenverlust gibt.

Das ist jetzt bei mir eingetreten:

k1l@server:~$ sudo zpool status -v 
pool: data
state: DEGRADED
status: One or more devices has been removed by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state.
action: Online the device using 'zpool online' or replace the device with 'zpool replace'.
scan: scrub repaired 0 in 5h46m with 0 errors on Sun Aug 13 06:10:02 2017
config:
NAME                                           STATE     READ WRITE CKSUM
data                                           DEGRADED     0     0     0
  raidz1-0                                     DEGRADED     0     0     0
    ata-WDC_WD2003FYPS-27W9B0_WD-WCAVY5081983  ONLINE       0     0     0
    ata-WDC_WD20EADS-00W4B0_WD-WCAVY6594242    REMOVED      0     0     0
    ata-SAMSUNG_HD204UI_S2HGJD1B502184         ONLINE       0     0     0
errors: No known data errors

Die Platte war nachdem immer wieder Fehler auftraten sogar so kaputt, dass sie direkt als REMOVED markiert ist.

Also Platte raus, neue rein. Dank dem Cremax Icy Dock FlexCage ist das kein großer Akt (man muss nur die richtige Platte erwischen :X ).

Wenn die neue Platte drin ist kann man sich mit

k1l@server:~$ ls -lh /dev/disk/by-id/

die Benennung der neuen Platte anzeigen lassen. In diesem Fall war es: ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1NN1HD9

Dann sagt man dem ZFS, dass es die Platte ins Raid ersetzen soll und die Paritätsdaten rumkopieren soll:

sudo zpool replace data ata-WDC_WD20EADS-00W4B0_WD-WCAVY6594242 ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1NN1HD9 -f

Das -f am Ende braucht man, weil sonst gemeckert wird:

use '-f' to override the following errors: /dev/disk/by-id/ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1NN1HD9 does not contain an EFI label but it may contain partition information in the MBR.

Jetzt muss man nur noch warten bis ZFS mit dem Resilvering fertig ist.

Feb 22, 2017

noch schnell die pelican commands

Als kleine Gedankenstütze für mich selber, da ich so unregelmässig blogge, dass ich die pelican commands dauernd vergesse:

Erst mal in den pelican Ordner ~/blog/pelican wechseln. Dann die static html Seiten bauen lassen mit make html:

k1l@server:~/blog/pelican$ make html
pelican /home/k1l/blog/pelican/content -o /home/k1l/blog/pelican/output -s /home/k1l/blog/pelican/pelicanconf.py 
WARNING: Feeds generated without SITEURL set properly may not be valid
Done: Processed 11 articles, 0 drafts, 0 pages and 0 hidden pages in 0.25 seconds.

Danach nur noch mit make rsync_upload in die webordner schieben.

Feb 21, 2017

ubuntu alpha/beta

Ich nutze zuhause vorwiegend 2 Geräte. Das eine ist mein neuer Dell T20, der jetzt als Homeserver dient. Da könnte ich eigentlich noch mal was zu schreiben. Auf dem läuft ein ubutnu 16.04 mit dem livepatchservice von canonical. Es ist zwar nicht wirklich kritisch, aber ich lasse den auf LTS laufen.

Die andere Kiste ist mein Lenovo x230. Das nutze ich als Desktop mit der Dockingstation und einem zusätzlichen 23" externen Monitor. Darauf läuft ein Dualboot aus Windows 10 (als Gameloader und sonstiges, was unter Linux manchmal ein Krampf ist) und ubuntu. Beim ubuntu habe ich hier meistens immer noch vor dem offiziellen Release auf die alpha oder beta Version aktualisiert. Ubuntu hat für die Entwicklungsversionen schon lange automatische Testings für neue Pakete, seit dem sind die wirklich sehr stabil.

Aktualisieren kann man bei ubuntu recht einfach; hier wird jetzt wirklich mal der -d switch nötig, der sonst fälschlicher Weise oft als Workaround für andere Probleme herangezogen wird:

sudo do-release-upgrade -d

Wenn das durchgelaufen ist muss man nur noch neustarten und voila:

k1l@k1l-ThinkPad:~$ uname -a
Linux k1l-ThinkPad 4.9.0-15-generic #16-Ubuntu SMP Fri Jan 20 15:31:12 UTC 2017 x8664 x8664 x86_64 GNU/Linux
k1l@k1l-ThinkPad:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Zesty Zapus (development branch)
Release:    17.04
Codename:   zesty

Jetzt sollte man nur noch regelmässig sudo apt update && sudo apt full-upgrade laufen lassen damit auch die updates eingespielt werden.

Seine PPAs muss man auch durchgehen und aktivieren, da sie beim upgrade deaktiviert werden. Hier sollte man allerdings vorher gucken, ob das PPA schon Pakete für die neue ubuntu Version bereitstellt, da es sonst beim Aktualisieren zu Fehlern kommt.

Sep 30, 2016

Typora

So, dass ich länger hier nichts geschrieben habe hatte mehrere Gründe. Jetzt bin ich aber zufällig auf einen reinen Markdown-Editor gestoßen und da hatte ich mich wieder daran erinnert, dass ich schon mal was damit gemacht hatte :)

Ich habe nur immer einen gewissen Anspruch an Texte und deren Darstellung und da war es mir dann doch irgendwie ein bisschen viel Einarbeiten in Markdown. Das soll mit dem reinen Markdown-Editor Typora nun besser werden.

Und in der Tat, es ist schon deutlich besser. Der Editor ist eher sehr spartanisch gehalten, bietet dafür aber auch eine direkte Live-Umwandlung der Markdownbefehle, also WYSIWYG. Im Menü gibts auch Punkte zur direkten Formatierung. Gefällt mir soweit ganz gut.

Installiert ist das Ding unter Ubuntu auch sehr einfach:

Erstmal den Signing-Key einlesen:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE

dann wird das Typora Repo hinzugefügt und mit neu eingelesen:

sudo add-apt-repository 'deb https://typora.io linux/'
sudo apt-get update

Danach muss man nur noch den Editor installieren:

sudo apt-get install typora

Jan 20, 2016

gnome-terminal und irssi

Seit einiger Zeit gab es das Problem, dass im gnome-terminal die Tastenkombination zum wechseln der Ansichtsfenster in irssi: alt+Zahl nicht mehr funktionierte.

Grund hierfür war, dass seit einiger Zeit (ca. ubuntu 15.04) das gnome-terminal nicht mehr die Tastenkombination an den Terminalinhalt (irssi) weiterreicht, wenn es merkt, dass es eh nur in einem Tab läuft. Denn die Tastenkombination alt+Zahl wird im gnome-terminal zum wechseln in die Terminal-Tabs verwendet.

Einfacher Workaround hierfür:
Im gnome-terminal unter Menü > Bearbeiten > Tastenkürzel die Tastenkombination von alt+Zahl auf strg+alt+Zahl umlegen.

Jan 13, 2016

Die Uni Köln und der Eduroam fail

Im Dezember 2015 nahm ich mal wieder mein Thinkpad x230 mit in die Uni und wunderte mich, warum ich mit dem Laptop keine Verbindung zum Uni-Wlan herstellen konnte, obwohl das mit dem selben Laptop, mit der selben Konfig (nur mit ubuntu 14.04 oder 14.10 anstatt dem frischen 15.10) Wochen zuvor noch geklappt hatte. Beim googlen der eher nicht viel aussagenden Fehlermeldung:

 wlan1: deauthenticating from _macadresse_ by local choice (Reason: 3=DEAUTH_LEAVING)

brachte mich irgendwann auf diesen Bugreport.

Es zeigt sich, dass wohl mehrere User mit neueren Distributionen Probleme haben sich zu dem Eduroam ihrer Uni zu vebrinden.

Und der Grund dafür scheint zu sein, dass mit den neueren Distributionsversionen jetzt auch wpa_supplicant 2.4 ausgeliefert wird. Und seit dieser Version werden unsichere Diffie-Hellman Keys und TLS Versionen < 1.2 automatisch gedroppt.

Jetzt könnte man das ganze ja einfach aussitzen. Die paar Linux-Desktop Hansels (1-2% Marketshare? :/ ) haben halt Pech. Die meisten Laborrechner mit Ubuntu und die Computerpools mit Ubuntu haben ja zum Glück Ethernet. Aber hier kommt einem jetzt das oft belächelte Java-Linux aka Android zur Hilfe. Seit Android 6 nutzt Android auch wpa_supplicant 2.4 ist aber wohl noch so gepatcht, dass es die Verbindung nicht automatisch droppt. Soll wohl aber bald kommen.

Ich habe im Dezember trotzdem mal ein Ticket beim Rechenzentrum erstellt und direkt Bugreports etc verlinkt. Nachdem das Ticket immer weiter gewandert ist bekam ich jetzt die Antwort, dass es mit allen Ubuntus getestet wurde und sie das so nicht nachvollziehen konnten.

"Gut" denke ich, nimmste dein Laptop nochmal mit und guckste nochmal: Siehe da, sie haben nicht nur die ganzen Anleitungsseiten erneuert, sondern liefern auch neue Zertifikate aus.

UPDATE:

Nach den Weihnachtsferien lief es auf dem selben Laptop komischerweise direkt. Da hat wohl wer die Infrastruktur aktualisiert Anfang des Jahres.

Dez 25, 2015

Neuer Blog, neues Glück

So, jetzt hab ich mal wordpress wieder vom Server gekloppt, nachdem es nicht mehr laden wollte und selbst mit allen debug-Einstellungen nicht wirklich rauszukriegen war wo es denn jetzt eigentlich hängt.

Da ich den meisten Schnickschnack von Wordpress eh nicht brauche habe ich mich nun für eine einfache statische Blogsoftware entschieden:

pelican

Vorteile:

  • statisch (der Server muss nicht bei jedem Seitenaufruf neues generieren sondern es wird einmal der HTML-Code "kompiliert" und dann als statische HTML Seite auf dem Server abgelegt)
  • schlicht

Nachteile:

  • markdown und python Grundfähigkeiten benötigt
  • kein WYSIWYG Editor (wobei Markdown ja schon eher nah dran ist)
  • Auf Markdown (oder reStructeredText oder Asciidoc) beschränkt

Die alten wordpress Beiträge habe ich aus einem Cache auf dem Server gezogen und mit einem online html zu markdown Konvertierer von html zu markdown konvertiert, damit ich die erstmal einfach hier wieder reinballern kann.

Eventuelle Formatierungsfehler muss ich demnächst mal beheben, wenn ich mich mit markdown mehr auseinandergesetzt habe.

Auch das Theme ist schon ein Schritt in die richtige Richtung, aber auch da muss ich mich erstmal eingrooven.

Dez 24, 2015

Android Displaysperre nicht mehr änderbar

Da ich gerade auf einen nervigen Umstand von Android gestoßen bin schreib ich es mal hier rein, wenn ich oder andere auf das selbe Problem stoßen.

Wenn man in den Einstellungen unter Sicherheit die Displaysperre auf Pin oder Muster stellt kann es sein, dass man es nicht mehr auf das “unsichere” Wischen zurückstellen kann. Die Option ist aus gegraut mit der Begründung:
“Von Admin, Richtlinie oder Anmeldedaten deaktiviert.”

Das liegt vermutlich daran, dass man ein VPN oder ein Exchange Konto mit Zertifikat aktiviert hat. Das verhindert dann das zurückstellen auf das “unsichere” Wischen.

Die Lösung:
Unter Sicherheit -> Anmeldespeicher -> Anmeldedaten löschen durchführen, danach kann man es wieder zurückstellen.

Dez 24, 2015

Dez 24, 2015

Grub Warnung bei update-grub

Ich bekam immer folgende Meldung wenn die Grub-Config neu geschrieben wurde:

Warnung: Werte ungleich 0 für »GRUB_TIMEOUT« werden, falls »GRUB_HIDDEN_TIMEOUT« aktiviert ist, nicht mehr unterstützt.

Weg bekommt man diese Meldung einfach indem man mit

sudo nano /etc/default/grub

die Standard Grub Konfiguration ändert indem man die Zeile mit GRUB_HIDDEN_TIMEOUT=0 einfach durch ein # davor auskommentiert.
Danach noch ein

sudo update-grub

und es ist alles geregelt.

Dez 24, 2015

ownCloud Setup

auf der Suche nach einer Software zur Verwaltung meiner Trainingsmannschaft wurde mir auch owncloud vorgeschlagen. Also dort Termine einzutragen und Erinnerungen an die Teilnehmer zu schicken etc. Davon bin ich noch nicht so wirklich überzeugt und hätte lieber etwas anderes “Richtiges” aber das hält einen ja nicht davon ab owncloud mal auf den Server zu klatschen.

Nach der Befragung derjenigen, die sich schon mit owncloud rumschlagen wurde mir empfohlen nicht die veralteten Pakete aus dem ubuntu 12.04 Repo zu nehmen sondern direkt von owncloud.org die PPA Fremdquelle zu nehmen, da sie von den Entwicklern selber gepflegt wird und schon die 7er Version beinhaltet.

Installieren ist echt einfach, man sollte nur vorher die mysql Datenbank angelegt haben. Beim ersten Ansurfen von eigene-domain.de/owncloud wird dann alles abgefragt und schon ist man drin.

Was ich dann noch machen musste damit es richtig fluppt:

Fehler: Owncloud akzeptiert die Domain nicht, mit der es aufgerufen wird

in /var/www/html/owncloud/config/config.php noch ins _Array: trusted_domains _die eigene Domain dazutragen.

Dann wollte ich noch SSL aktivieren. Dazu musste ich mich erst noch durch die Anleitung bei ubuntuusers.de durcharbeiten, aber das war ja machbar. Irgendwann gibts dann auch mal ein nicht selbstunterschriebenes Zertifikat, aber im Moment langts erstmal so.

Dez 24, 2015

pyload

ich nutze für Downloads von (One-Click-)Hostern sehr gerne mein pyload auf meinem Homeserverchen in einer screen session.
Ich habs schon länger nicht mehr genutzt und musste mich erstmal kurz erinnern wie mein Setup so war:

wenn der pyLoadCore Daemon nicht läuft:

screen -S pyload

um eine neue screen-Session zu starten. Dort dann in ~/pyload gehen und mit

pyLoadCore

den Daemon starten. Wenn er sich jetzt nicht noch zigmal neustarten will wegen Updates gehts weiter)

jetzt im Browser zu:

serverip:8000

wechseln, einloggen und fertig!

Dez 23, 2015