feststellen ob der ftp Dämon läuft:
netstat -a | grep ftp
in etc/VSFTPD liegt das config file
in etc/ftpusers sind user aufgelistet, die kein ftp machen dürfen (z.b. root)
user sieht normalerweise sein home dir
meine Sys/Db admin & Developper Notitzen - wer Rechtschreibfehler findet darf sie behalten ... my Sys/Db Admin and developper notes - I don't care about typos
Thursday, January 30, 2014
remote desktop
Allgemein
Version feststellen cat /etc/*-release
sudo reboot
sudo poweroff
sudo shutdown
Nano Texteditor
Select: ALT + M + A
Copy: ALT + 6
Paste: CTRL + U
Zeile ausschneiden: CRTL +K
SUCHEN: CRTL-W
Zeile ausschneiden: CRTL +K
SUCHEN: CRTL-W
User
user anzeigen: cat /etc/passwdbenutzer hinzufügen: sudo adduser BENUTZERNAME
Passwort ändern: sudo passwd BENUTZERNAME
Benutzer zu einer Gruppe hinzufügen: sudo usermod -aG gruppenname Username
gruppe hinzufügen: sudo groupadd www
Netzwerk
ifconfig
ftpclient: sudo apt-get ftp
ssh xxx.yyy.zzz.aaa -l loginname
ssh xxx.yyy.zzz.aaa -l loginname
Crontab (not crone)
alle einträge listen: crontab -l
edit bzw erstmalig erzeugen: crontab -e
*/1 * * * * $HOME/test.py >> test.log 2>&1
jede minute test.py starten und in test.log schreiben
test.py:
#!/usr/bin/env python
import time
print(time.strftime("%d.%m.%Y %H:%M:%S"))
Installierete Software
dpkp -l > pakete.txt
sudo apt-get update # Fetches the list of available updates
sudo apt-get upgrade # Strictly upgrades the current packages
sudo apt-get dist-upgrade # Installs updates (new ones)
Disk Partitionen
ls /dev/
ls /mnt/
mount
ls /mnt/
mount
mmcblk0 ... SdCard0
sda ... SolidDriveA (Hard Disk A)
sudo fdisk -l
sudo blkid -o list
df -h ... DiskFree -human readable
cat /proc/partitions
sudo fdisk /dev/mmcblk0
p ... list partition
q ... quit without writing
sudo fdisk /dev/mmcblk0
p ... list partition
q ... quit without writing
Dateien / Files
Datein mit rechte usw: ls -l
rechte: owner/gruppe/other
rechte: owner/gruppe/other
freier Speicherplatz auf den HDs: df -h
Dir anzeigen: ls
alle Dateien listen: ls -aDir anzeigen: ls
suchen: find / -Name ftp* sucht alle Dateien mit ftp
löschen: rm
kopieren von Bäumen (-r) ohne überschreiben existierender Dateien (-n) und Ausgabe der gerade kopierten Datei --verbose
cp --verbose -rn quelle ziel
Rechte anzeigen: ls-l (owner gruppe andere, username gruppenname )
chmod 774 datei
Owner ändern:
chown -c user:gruppe datei
zu anderem linux rechner kopieren:
scp myfile user@192.168.1.8:
standard Dirs:
1. / – Root
Every single file and directory starts from the root directory.
Only root user has write privilege under this directory.
Please note that /root is root user’s home directory, which is not same as /.
2. /bin – User Binaries
Contains binary executables.
Common linux commands you need to use in single-user modes are located under this directory.
Commands used by all the users of the system are located here.
For example: ps, ls, ping, grep, cp.
3. /sbin – System Binaries
Just like /bin, /sbin also contains binary executables.
But, the linux commands located under this directory are used typically by system aministrator, for system maintenance purpose.
For example: iptables, reboot, fdisk, ifconfig, swapon
4. /etc – Configuration Files
Contains configuration files required by all programs.
This also contains startup and shutdown shell scripts used to start/stop individual programs.
For example: /etc/resolv.conf, /etc/logrotate.conf
5. /dev – Device Files
Contains device files.
These include terminal devices, usb, or any device attached to the system.
For example: /dev/tty1, /dev/usbmon0
6. /proc – Process Information
Contains information about system process.
This is a pseudo filesystem contains information about running process. For example: /proc/{pid} directory contains information about the process with that particular pid.
This is a virtual filesystem with text information about system resources. For example: /proc/uptime
7. /var – Variable Files
var stands for variable files.
Content of the files that are expected to grow can be found under this directory.
This includes — system log files (/var/log); packages and database files (/var/lib); emails (/var/mail); print queues (/var/spool); lock files (/var/lock); temp files needed across reboots (/var/tmp);
8. /tmp – Temporary Files
Directory that contains temporary files created by system and users.
Files under this directory are deleted when system is rebooted.
9. /usr – User Programs
Contains binaries, libraries, documentation, and source-code for second level programs.
/usr/bin contains binary files for user programs. If you can’t find a user binary under /bin, look under /usr/bin. For example: at, awk, cc, less, scp
/usr/sbin contains binary files for system administrators. If you can’t find a system binary under /sbin, look under /usr/sbin. For example: atd, cron, sshd, useradd, userdel
/usr/lib contains libraries for /usr/bin and /usr/sbin
/usr/local contains users programs that you install from source. For example, when you install apache from source, it goes under /usr/local/apache2
10. /home – Home Directories
Home directories for all users to store their personal files.
For example: /home/john, /home/nikita
11. /boot – Boot Loader Files
Contains boot loader related files.
Kernel initrd, vmlinux, grub files are located under /boot
For example: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
12. /lib – System Libraries
Contains library files that supports the binaries located under /bin and /sbin
Library filenames are either ld* or lib*.so.*
For example: ld-2.11.1.so, libncurses.so.5.7
13. /opt – Optional add-on Applications
opt stands for optional.
Contains add-on applications from individual vendors.
add-on applications should be installed under either /opt/ or /opt/ sub-directory.
14. /mnt – Mount Directory
Temporary mount directory where sysadmins can mount filesystems.
15. /media – Removable Media Devices
Temporary mount directory for removable devices.
For examples, /media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer
16. /srv – Service Data
srv stands for service.
Contains server specific services related data.
For example, /srv/cvs contains CVS related data.
Thursday, January 23, 2014
Webservice Proxy Klasse c# in Visual Stuido erzeugen
VS2008:
1) unter References add Service Referenc
2) unter Advanced Add Web Reference
3) Url eingeben (wdsl) => zeigt Servicenamen und Methodennamen an, schlägt Web Reference Name vor, diesen anpassen
4) es wird Code unter WebReferences\WebReferenceName\Reference.cs erzeugt, die wichtigste Klasse heißt genauso wie das Service (unter 3 angezeigt)
1) unter References add Service Referenc
2) unter Advanced Add Web Reference
3) Url eingeben (wdsl) => zeigt Servicenamen und Methodennamen an, schlägt Web Reference Name vor, diesen anpassen
4) es wird Code unter WebReferences\WebReferenceName\Reference.cs erzeugt, die wichtigste Klasse heißt genauso wie das Service (unter 3 angezeigt)
Tuesday, January 21, 2014
Wednesday, January 15, 2014
oracle simple package
Header:
CREATE OR REPLACE
PACKAGE PA_PDB_UTIL AS
PROCEDURE P_PDB_SeekId (inId IN VARCHAR2, ret OUT integer);
END PA_PDB_UTIL;
Body:
CREATE OR REPLACE
PACKAGE BODY PA_PDB_UTIL AS
PROCEDURE P_PDB_SeekId (inId IN VARCHAR2, ret OUT integer) AS
BEGIN
dbms_output.put_line ('beginn!');
dbms_output.put_line (inPannenId);
select count(*) into ret from test where Id=inId;
dbms_output.put_line (ret);
dbms_output.put_line ('End');
NULL;
END P_PDB_SeekId;
END PA_PDB_UTIL;
Testen mit:
set serveroutput on;
declare ret integer;
begin
PA_PDB_UTIL.P_PDB_SeekPannenId('test', ret);
end;
CREATE OR REPLACE
PACKAGE PA_PDB_UTIL AS
PROCEDURE P_PDB_SeekId (inId IN VARCHAR2, ret OUT integer);
END PA_PDB_UTIL;
Body:
CREATE OR REPLACE
PACKAGE BODY PA_PDB_UTIL AS
PROCEDURE P_PDB_SeekId (inId IN VARCHAR2, ret OUT integer) AS
BEGIN
dbms_output.put_line ('beginn!');
dbms_output.put_line (inPannenId);
select count(*) into ret from test where Id=inId;
dbms_output.put_line (ret);
dbms_output.put_line ('End');
NULL;
END P_PDB_SeekId;
END PA_PDB_UTIL;
Testen mit:
set serveroutput on;
declare ret integer;
begin
PA_PDB_UTIL.P_PDB_SeekPannenId('test', ret);
end;
Tuesday, January 14, 2014
oracle top cpu time sql
SET pages 3000
SET LINES 120
SET trimspool ON
SET trimout ON
COLUMNS sql_text FORMAT a40 word_wrapped HEAD
'SQL|Text'
COLUMNS cpu_time
HEAD 'CPU|Time'
COLUMNS elapsed_time HEAD 'Elapsed|Time'
COLUMNS disk_reads HEAD
'Disk|Reads'
COLUMNS buffer_gets HEAD
'Buffer|Gets'
COLUMNS rows_processed HEAD 'Rows|Processed'
TTITLE 'SQL-Statements nach CPU-Nutzung'
SELECT * FROM
(SELECT sql_text,
cpu_time/1000000
cpu_time,
elapsed_time/1000000
elapsed_time,
disk_reads,
buffer_gets,
rows_processed
FROM
v$sqlarea Where SQL_Text Like '%T_PDB_%'
ORDER BY cpu_time DESC
)
WHERE rownum <=25;
In welcher Tabelle ist die Spalte namens ? Where is column (in which table)
oracle:
select * from user_tab_columns where table_name like 'T_PDB%' and Column_NAME like '%PRO%';
sql-server:
select c.name,t.name from sys.columns c join sys.tables t on c.object_id=t.object_id where c.name like 'Bem%'
select * from user_tab_columns where table_name like 'T_PDB%' and Column_NAME like '%PRO%';
sql-server:
select c.name,t.name from sys.columns c join sys.tables t on c.object_id=t.object_id where c.name like 'Bem%'
Access Query 2 Oracle IIF
IIF ... CASE
f.bla AS S_Bla,
(
CASE TO_CHAR(Reparaturdatum, 'YYYY')
WHEN '1899'
THEN '-'
ELSE TO_CHAR(Reparaturdatum, 'DD.MM.YYYY')
END) AS S_RDatum,
f.Fallzaehler AS S_Fallzaehler,
NZ ... NVL
f.bla AS S_Bla,
(
CASE TO_CHAR(Reparaturdatum, 'YYYY')
WHEN '1899'
THEN '-'
ELSE TO_CHAR(Reparaturdatum, 'DD.MM.YYYY')
END) AS S_RDatum,
f.Fallzaehler AS S_Fallzaehler,
NZ ... NVL
Monday, January 13, 2014
access auf ODBC Backend umstellen - move from Access to ODBC Backend
Beim Umstellen eines reinen Access Backends auf ein ODBC Backend (z.b. Oracle over ODBC) gibt es folgendes zu beachten:
1) recordset Find Operationen sind extrem langsam, da zuerst die ganze Tabelle in den Access Speicher geladen wird und dort dann gesucht wird. Besser das Recordset gleich mit der richtigen WHERE Bedingung aufmachen:
Set rs= New ADODB.Recordset
rs.Open "select * from mytable where ID='" & 923 & "'", connection, adOpenKeyset, adLockReadOnly
statt:
rs.Find "ID= '" & 923 & "'", , adSearchForward, adBookmarkFirst
2) wenn man Sätze mit rs.AddNew / rs.Update hinzufügt, so werden diese zwar im Backend hinzugefügt aber nicht im Recordset = nochmal nachladen
1) recordset Find Operationen sind extrem langsam, da zuerst die ganze Tabelle in den Access Speicher geladen wird und dort dann gesucht wird. Besser das Recordset gleich mit der richtigen WHERE Bedingung aufmachen:
Set rs= New ADODB.Recordset
rs.Open "select * from mytable where ID='" & 923 & "'", connection, adOpenKeyset, adLockReadOnly
statt:
rs.Find "ID= '" & 923 & "'", , adSearchForward, adBookmarkFirst
2) wenn man Sätze mit rs.AddNew / rs.Update hinzufügt, so werden diese zwar im Backend hinzugefügt aber nicht im Recordset = nochmal nachladen
Thursday, January 09, 2014
enumerate enum
enum eAbgeschlossen
{
Abgeschlossen_Closed,
Alle_All,
NichAbgeschlossen_NotClosed
}
foreach (eAbgeschlossen e in Enum.GetValues(typeof(eAbgeschlossen)).Cast())
{
cbAbgeschlossenFilter.Items.Add(e.ToString()); //adding to Combobox
}
{
Abgeschlossen_Closed,
Alle_All,
NichAbgeschlossen_NotClosed
}
foreach (eAbgeschlossen e in Enum.GetValues(typeof(eAbgeschlossen)).Cast
{
cbAbgeschlossenFilter.Items.Add(e.ToString()); //adding to Combobox
}
The server encountered an error while creating Virtual Machine (Hyper V)
When creating a new virtual Machine on Hyper V Server (Windows 8, Server 2012) sometimes ths error occurs:
The server encountered an error while creating Virtual Machine
The operation failed.
An unexpected error occurred: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569).
Work around: Hyper-V Virtual Machine Management Service restart.
-----------------------------------------------------------------------------------------------------------
Beim Erzeugen einer neue Virtuellen Maschine am Hyper V Server (Windows 8, Windwos Server 2012) tritt manchmal folgender Fehler auf:
The server encountered an error while creating Virtual Machine
The operation failed.
An unexpected error occurred: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569).
Work Around: Hyper-V Virtual Machine Management Service restarten.
The server encountered an error while creating Virtual Machine
The operation failed.
An unexpected error occurred: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569).
Work around: Hyper-V Virtual Machine Management Service restart.
-----------------------------------------------------------------------------------------------------------
Beim Erzeugen einer neue Virtuellen Maschine am Hyper V Server (Windows 8, Windwos Server 2012) tritt manchmal folgender Fehler auf:
The server encountered an error while creating Virtual Machine
The operation failed.
An unexpected error occurred: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569).
Work Around: Hyper-V Virtual Machine Management Service restarten.
The trust relationship between this workstation and the primary domain failed
Wenn beim Login der Fehler
The trust relationship between this workstation and the primary domain failed
erscheint, einfach den Computer aus der Domäne nehmen (in eine Workgroup), neustarten und wieder in die Domäne hängen
Login Error:
The trust relationship between this workstation and the primary domain failed
remove the Computer from the domän (to a workgroup), restart and join the domain again
The trust relationship between this workstation and the primary domain failed
erscheint, einfach den Computer aus der Domäne nehmen (in eine Workgroup), neustarten und wieder in die Domäne hängen
Login Error:
The trust relationship between this workstation and the primary domain failed
remove the Computer from the domän (to a workgroup), restart and join the domain again
CRT ALT DEL Remote Desktop: CRT ALT END
Um CRT ALT DEL über Remote Desktop (RDS) zu schicken, verwende CRT-ALT_END
Tuesday, January 07, 2014
Entity Framework liest statt unterscheidlicher Datensätze mehrfach den gleichen aus
Wenn bei einer view der Primary Key fehlt, so liefert das Entity Framework eventuell immer den gleichen Datensatz.
Man muß dann einen künstlichen Primary Key scahffen, z.b. mittels
Man muß dann einen künstlichen Primary Key scahffen, z.b. mittels
IsNUll(ROW_NUMBER() OVER(ORDER BY Lastname, FirstName),-1) AS 'ID'
und andere Spalten, die als Primary Key herangezogen werden mit NullIf(keyKandidat,-1) als Kandidat für den Primary Key aussschließen. Dann die View im Model löschen und neu hinzufügen.
Subscribe to:
Posts (Atom)